Second updates
This commit is contained in:
@@ -1,17 +1,54 @@
|
||||
{% extends 'base.html' %}
|
||||
{% block content %}
|
||||
<div class="row justify-content-center">
|
||||
|
||||
<div class="row justify-content-center mt-5">
|
||||
<div class="col-md-4">
|
||||
<div class="card p-4 shadow-sm">
|
||||
<h3 class="text-center mb-3">Login</h3>
|
||||
<form method="post" novalidate>
|
||||
{% csrf_token %}
|
||||
{{ form.non_field_errors }}
|
||||
<div class="mb-3">{{ form.username.label_tag }}{{ form.username }}</div>
|
||||
<div class="mb-3">{{ form.password.label_tag }}{{ form.password }}</div>
|
||||
<button class="btn btn-primary w-100">Login</button>
|
||||
</form>
|
||||
|
||||
<div class="card shadow-sm border-0 rounded-3">
|
||||
<div class="card-body p-4">
|
||||
|
||||
<h3 class="text-center mb-4">Login</h3>
|
||||
|
||||
<form method="post" novalidate>
|
||||
{% csrf_token %}
|
||||
{{ form.non_field_errors }}
|
||||
|
||||
<!-- Username field -->
|
||||
<div class="mb-3">
|
||||
<label class="form-label">{{ form.username.label }}</label>
|
||||
<input
|
||||
type="text"
|
||||
name="{{ form.username.name }}"
|
||||
value="{{ form.username.value|default:'' }}"
|
||||
class="form-control"
|
||||
placeholder="Enter username"
|
||||
required
|
||||
>
|
||||
{{ form.username.errors }}
|
||||
</div>
|
||||
|
||||
<!-- Password field -->
|
||||
<div class="mb-3">
|
||||
<label class="form-label">{{ form.password.label }}</label>
|
||||
<input
|
||||
type="password"
|
||||
name="{{ form.password.name }}"
|
||||
class="form-control"
|
||||
placeholder="Enter password"
|
||||
required
|
||||
>
|
||||
{{ form.password.errors }}
|
||||
</div>
|
||||
|
||||
<button type="submit" class="btn btn-primary w-100">
|
||||
Login
|
||||
</button>
|
||||
</form>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{% endblock %}
|
||||
|
||||
@@ -1,9 +1,23 @@
|
||||
{% extends 'base.html' %}
|
||||
{% block content %}
|
||||
<h3>{% if object %}Edit{% else %}Add{% endif %} User</h3>
|
||||
<form method="post">{% csrf_token %}
|
||||
{{ form.as_p }}
|
||||
<button class="btn btn-primary">Save</button>
|
||||
<a class="btn btn-secondary" href="{% url 'accounts:user_list' %}">Cancel</a>
|
||||
</form>
|
||||
<div class="container mt-4">
|
||||
<h3>{% if object %}Edit{% else %}Add{% endif %} Event</h3>
|
||||
|
||||
<form method="post" novalidate>
|
||||
{% csrf_token %}
|
||||
|
||||
{% for field in form %}
|
||||
<div class="mb-3">
|
||||
{{ field.label_tag }}
|
||||
{{ field }}
|
||||
{% for error in field.errors %}
|
||||
<div class="text-danger">{{ error }}</div>
|
||||
{% endfor %}
|
||||
</div>
|
||||
{% endfor %}
|
||||
|
||||
<button class="btn btn-primary">Save</button>
|
||||
<a class="btn btn-secondary" href="{% url 'accounts:user_list' %}">Cancel</a>
|
||||
</form>
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
||||
@@ -1,9 +1,23 @@
|
||||
{% extends 'base.html' %}
|
||||
{% block content %}
|
||||
<h3>{% if object %}Edit{% else %}Add{% endif %} Event</h3>
|
||||
<form method="post">{% csrf_token %}
|
||||
{{ form.as_p }}
|
||||
<button class="btn btn-primary">Save</button>
|
||||
<a class="btn btn-secondary" href="{% url 'events:event_list' %}">Cancel</a>
|
||||
</form>
|
||||
<div class="container mt-4">
|
||||
<h3>{% if object %}Edit{% else %}Add{% endif %} Event</h3>
|
||||
|
||||
<form method="post" novalidate>
|
||||
{% csrf_token %}
|
||||
|
||||
{% for field in form %}
|
||||
<div class="mb-3">
|
||||
{{ field.label_tag }}
|
||||
{{ field }}
|
||||
{% for error in field.errors %}
|
||||
<div class="text-danger">{{ error }}</div>
|
||||
{% endfor %}
|
||||
</div>
|
||||
{% endfor %}
|
||||
|
||||
<button class="btn btn-primary">Save</button>
|
||||
<a class="btn btn-secondary" href="{% url 'events:event_list' %}">Cancel</a>
|
||||
</form>
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
||||
38
templates/events/event_images_form.html
Normal file
38
templates/events/event_images_form.html
Normal file
@@ -0,0 +1,38 @@
|
||||
{% extends "base.html" %}
|
||||
{% block content %}
|
||||
<div class="container mt-4">
|
||||
<div class="card shadow-sm">
|
||||
<div class="card-header bg-primary text-white">
|
||||
<h4 class="mb-0">Upload Images for: {{ event.title }}</h4>
|
||||
</div>
|
||||
|
||||
<div class="card-body">
|
||||
|
||||
<form method="post" enctype="multipart/form-data">
|
||||
{% csrf_token %}
|
||||
|
||||
<!-- Image field -->
|
||||
<div class="mb-3">
|
||||
<label class="form-label fw-bold">{{ form.event_image.label }}</label>
|
||||
{{ form.event_image }}
|
||||
</div>
|
||||
|
||||
<!-- Primary flag (optional) -->
|
||||
<div class="form-check mb-3">
|
||||
{{ form.is_primary }}
|
||||
<label class="form-check-label">{{ form.is_primary.label }}</label>
|
||||
</div>
|
||||
|
||||
<button class="btn btn-primary">
|
||||
<i class="bi bi-upload"></i> Upload
|
||||
</button>
|
||||
|
||||
<a href="{% url 'events:event_images' event.pk %}" class="btn btn-secondary">
|
||||
Back
|
||||
</a>
|
||||
</form>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
||||
52
templates/events/event_images_list.html
Normal file
52
templates/events/event_images_list.html
Normal file
@@ -0,0 +1,52 @@
|
||||
{% extends "base.html" %}
|
||||
{% block content %}
|
||||
<div class="container mt-4">
|
||||
|
||||
<div class="d-flex justify-content-between align-items-center mb-3">
|
||||
<h3>Images for {{ event.title }}</h3>
|
||||
<a class="btn btn-success" href="{% url 'events:add_event_images' event.pk %}">
|
||||
<i class="bi bi-plus-circle"></i> Add More Images
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<div class="row g-4">
|
||||
{% for img in images %}
|
||||
<div class="col-md-3 col-sm-6">
|
||||
<div class="card shadow-sm h-100">
|
||||
|
||||
<img src="{{ img.event_image.url }}" class="card-img-top rounded-top" alt="Event Image">
|
||||
|
||||
<div class="card-body text-center">
|
||||
|
||||
{% if img.is_primary %}
|
||||
<h6><span class="badge bg-primary">Primary Image</span></h6>
|
||||
{% else %}
|
||||
<a href="{% url 'events:set_primary_image' event.pk img.pk %}"
|
||||
class="btn btn-outline-primary btn-sm w-100 mb-2">
|
||||
Set as Primary
|
||||
</a>
|
||||
{% endif %}
|
||||
|
||||
<a href="{% url 'events:delete_event_image' event.pk img.pk %}"
|
||||
class="btn btn-danger btn-sm w-100">
|
||||
Delete Image
|
||||
</a>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{% empty %}
|
||||
<div class="col-12">
|
||||
<div class="alert alert-info text-center">
|
||||
No images uploaded yet for this event.
|
||||
</div>
|
||||
</div>
|
||||
{% endfor %}
|
||||
</div>
|
||||
|
||||
<a href="{% url 'events:event_list' %}" class="btn btn-secondary mt-4">
|
||||
Back to Events
|
||||
</a>
|
||||
</div>
|
||||
{% endblock %}
|
||||
42
templates/events/example.html
Normal file
42
templates/events/example.html
Normal file
@@ -0,0 +1,42 @@
|
||||
{% extends 'base.html' %}
|
||||
{% load static %}
|
||||
{% block content %}
|
||||
|
||||
<div class="container mt-4">
|
||||
|
||||
<h3 class="mb-4">
|
||||
{% if object %}Edit{% else %}Add{% endif %} Event
|
||||
</h3>
|
||||
|
||||
<form method="post" novalidate>
|
||||
{% csrf_token %}
|
||||
|
||||
{% for field in form %}
|
||||
<div class="mb-3">
|
||||
<label for="{{ field.id_for_label }}" class="form-label">
|
||||
{{ field.label }}
|
||||
</label>
|
||||
|
||||
{{ field.as_widget|add_class:"form-control" }}
|
||||
|
||||
{% if field.help_text %}
|
||||
<div class="form-text">{{ field.help_text }}</div>
|
||||
{% endif %}
|
||||
|
||||
{% if field.errors %}
|
||||
<div class="text-danger small">
|
||||
{{ field.errors }}
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
{% endfor %}
|
||||
|
||||
<button class="btn btn-primary">Save</button>
|
||||
<a class="btn btn-secondary" href="{% url 'events:event_list' %}">
|
||||
Cancel
|
||||
</a>
|
||||
</form>
|
||||
|
||||
</div>
|
||||
|
||||
{% endblock %}
|
||||
@@ -1,9 +1,24 @@
|
||||
{% extends 'base.html' %}
|
||||
{% block content %}
|
||||
<h3>{% if object %}Edit{% else %}Add{% endif %} Category</h3>
|
||||
<form method="post">{% csrf_token %}
|
||||
{{ form.as_p }}
|
||||
<button class="btn btn-primary">Save</button>
|
||||
<a class="btn btn-secondary" href="{% url 'master_data:event_type_list' %}">Cancel</a>
|
||||
</form>
|
||||
<div class="container mt-4">
|
||||
<h3>{% if object %}Edit{% else %}Add{% endif %} Event</h3>
|
||||
|
||||
<form method="post" novalidate>
|
||||
{% csrf_token %}
|
||||
|
||||
{% for field in form %}
|
||||
<div class="mb-3">
|
||||
{{ field.label_tag }}
|
||||
{{ field }}
|
||||
{% for error in field.errors %}
|
||||
<div class="text-danger">{{ error }}</div>
|
||||
{% endfor %}
|
||||
</div>
|
||||
{% endfor %}
|
||||
|
||||
<button class="btn btn-primary">Save</button>
|
||||
<a class="btn btn-secondary" href="{% url 'master_data:event_type_list' %}">Cancel</a>
|
||||
</form>
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user