init
This commit is contained in:
36
templates/course/course_confirm_delete.html
Normal file
36
templates/course/course_confirm_delete.html
Normal file
@ -0,0 +1,36 @@
|
||||
{% extends 'base.html' %}
|
||||
{% load static %}
|
||||
|
||||
{% block title %}Удаление курса | Автошкола{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
<div class="container">
|
||||
<div class="row justify-content-center">
|
||||
<div class="col-md-6">
|
||||
<div class="card shadow">
|
||||
<div class="card-header bg-danger text-white">
|
||||
<h4 class="mb-0">
|
||||
<i class="fas fa-exclamation-triangle me-2"></i>Подтверждение удаления
|
||||
</h4>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<p class="lead">Вы уверены, что хотите удалить курс "{{ course.title }}"?</p>
|
||||
<p class="text-muted">Это действие нельзя будет отменить.</p>
|
||||
|
||||
<form method="post">
|
||||
{% csrf_token %}
|
||||
<div class="d-grid gap-2 d-md-flex justify-content-md-end">
|
||||
<a href="{% url 'course:detail' course.pk %}" class="btn btn-secondary me-md-2">
|
||||
<i class="fas fa-times me-2"></i>Отмена
|
||||
</a>
|
||||
<button type="submit" class="btn btn-danger">
|
||||
<i class="fas fa-trash me-2"></i>Удалить
|
||||
</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
54
templates/course/course_detail.html
Normal file
54
templates/course/course_detail.html
Normal file
@ -0,0 +1,54 @@
|
||||
{% extends 'base.html' %}
|
||||
{% load static %}
|
||||
|
||||
{% block title %}{{ course.title }} | Автошкола{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
<div class="container">
|
||||
<div class="row mb-4">
|
||||
<div class="col">
|
||||
<nav aria-label="breadcrumb">
|
||||
<ol class="breadcrumb">
|
||||
<li class="breadcrumb-item"><a href="{% url 'course:list' %}">Курсы</a></li>
|
||||
<li class="breadcrumb-item active">{{ course.title }}</li>
|
||||
</ol>
|
||||
</nav>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-8">
|
||||
<div class="card shadow">
|
||||
<div class="card-body">
|
||||
<h2 class="card-title mb-4">{{ course.title }}</h2>
|
||||
<p class="card-text">{{ course.description }}</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<div class="card shadow">
|
||||
<div class="card-header bg-primary text-white">
|
||||
<h5 class="mb-0">Информация о курсе</h5>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<p><strong>Создан:</strong> {{ course.created_at|date:"d.m.Y" }}</p>
|
||||
<p><strong>Последнее обновление:</strong> {{ course.updated_at|date:"d.m.Y" }}</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{% if user.is_authenticated and user.instructor %}
|
||||
<div class="card shadow mt-4">
|
||||
<div class="card-body">
|
||||
<a href="{% url 'course:update' course.pk %}" class="btn btn-warning w-100 mb-2">
|
||||
<i class="fas fa-edit me-2"></i>Редактировать
|
||||
</a>
|
||||
<a href="{% url 'course:delete' course.pk %}" class="btn btn-danger w-100">
|
||||
<i class="fas fa-trash me-2"></i>Удалить
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
49
templates/course/course_form.html
Normal file
49
templates/course/course_form.html
Normal file
@ -0,0 +1,49 @@
|
||||
{% extends 'base.html' %}
|
||||
{% load static %}
|
||||
{% load crispy_forms_tags %}
|
||||
|
||||
{% block title %}
|
||||
{% if action == 'create' %}
|
||||
Добавление курса | Автошкола
|
||||
{% else %}
|
||||
Редактирование курса | Автошкола
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
<div class="container">
|
||||
<div class="row justify-content-center">
|
||||
<div class="col-md-8">
|
||||
<div class="card shadow">
|
||||
<div class="card-header bg-primary text-white">
|
||||
<h4 class="mb-0">
|
||||
{% if action == 'create' %}
|
||||
<i class="fas fa-plus-circle me-2"></i>Добавление курса
|
||||
{% else %}
|
||||
<i class="fas fa-edit me-2"></i>Редактирование курса
|
||||
{% endif %}
|
||||
</h4>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<form method="post" novalidate>
|
||||
{% csrf_token %}
|
||||
{{ form|crispy }}
|
||||
<div class="d-grid gap-2 d-md-flex justify-content-md-end mt-4">
|
||||
<a href="{% url 'course:list' %}" class="btn btn-secondary me-md-2">
|
||||
<i class="fas fa-times me-2"></i>Отмена
|
||||
</a>
|
||||
<button type="submit" class="btn btn-primary">
|
||||
{% if action == 'create' %}
|
||||
<i class="fas fa-save me-2"></i>Создать
|
||||
{% else %}
|
||||
<i class="fas fa-save me-2"></i>Сохранить
|
||||
{% endif %}
|
||||
</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
61
templates/course/course_list.html
Normal file
61
templates/course/course_list.html
Normal file
@ -0,0 +1,61 @@
|
||||
{% extends 'base.html' %}
|
||||
{% load static %}
|
||||
{% load crispy_forms_tags %}
|
||||
|
||||
{% block title %}Курсы | Автошкола{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
<div class="container">
|
||||
<div class="row mb-4">
|
||||
<div class="col">
|
||||
<h2 class="text-center mb-4">Курсы</h2>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{% if user.is_authenticated and user.instructor %}
|
||||
<div class="row mb-4">
|
||||
<div class="col">
|
||||
<a href="{% url 'course:create' %}" class="btn btn-primary">
|
||||
<i class="fas fa-plus me-2"></i>Добавить курс
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
<div class="row">
|
||||
{% if courses %}
|
||||
{% for course in courses %}
|
||||
<div class="col-md-4 mb-4">
|
||||
<div class="card h-100 shadow">
|
||||
<div class="card-body">
|
||||
<h5 class="card-title">{{ course.title }}</h5>
|
||||
<p class="card-text">{{ course.description|truncatewords:30 }}</p>
|
||||
</div>
|
||||
<div class="card-footer bg-transparent">
|
||||
{% if user.is_authenticated %}
|
||||
<a href="{% url 'course:detail' course.pk %}" class="btn btn-primary">
|
||||
<i class="fas fa-info-circle me-2"></i>Подробнее
|
||||
</a>
|
||||
{% endif %}
|
||||
{% if user.is_authenticated and user.instructor %}
|
||||
<a href="{% url 'course:update' course.pk %}" class="btn btn-warning">
|
||||
<i class="fas fa-edit"></i>
|
||||
</a>
|
||||
<a href="{% url 'course:delete' course.pk %}" class="btn btn-danger">
|
||||
<i class="fas fa-trash"></i>
|
||||
</a>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endfor %}
|
||||
{% else %}
|
||||
<div class="col">
|
||||
<div class="alert alert-info">
|
||||
<i class="fas fa-info-circle me-2"></i>На данный момент нет доступных курсов.
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
Reference in New Issue
Block a user