Commit f3a7f5fb38cdbac5e6f3b583231937f49ab930ed
1 parent
2012e6ec
Exists in
master
and in
5 other branches
#214
Showing
7 changed files
with
66 additions
and
88 deletions
Show diff stats
courses/templates/category/delete.html
1 | -{% load static i18n permission_tags %} | ||
2 | 1 | ||
3 | -<!-- Modal (remember to change the ids!!!) --> | ||
4 | -<div class="modal fade" id="category" tabindex="-1" role="dialog" aria-labelledby="myModalLabel"> | ||
5 | - <div class="modal-dialog" role="document"> | ||
6 | - <div class="modal-content"> | ||
7 | - <!-- Modal Header --> | ||
8 | - <div class="modal-header"> | 2 | +{% extends 'course/view.html' %} |
9 | 3 | ||
10 | - <h4 class="modal-title" id="myModalLabel">{% trans "Delete Category" %}</h4> | ||
11 | - </div> | ||
12 | - <!-- Modal Body --> | ||
13 | - <div class="modal-body"> | ||
14 | - <!-- Put ONLY your content here!!! --> | ||
15 | - <form id="delete_form" action="" method="post"> | ||
16 | - {% csrf_token %} | ||
17 | - <p>{% trans 'Are you sure you want to delete the subject' %} "{{category.name}}"?</p> | ||
18 | - </form> | ||
19 | - </div> | ||
20 | - <!-- Modal Footer --> | ||
21 | - <div class="modal-footer"> | ||
22 | - <!-- Don't remove that!!! --> | ||
23 | - <button type="button" class="btn btn-danger btn-raised" data-dismiss="modal">{% trans "Close" %}</button> | ||
24 | - <button type="submit" id="button" form="delete_form" class="btn btn-primary btn-raised">{% trans "Delete" %}</button> | ||
25 | - <script> | ||
26 | - $("#delete_form").submit(function(event) { | ||
27 | - Submite.remove("{% url 'course:delete_cat' category.slug %}",$(this).serialize(),"#category_{{category.slug}}"); | ||
28 | - event.preventDefault(); | ||
29 | - }); | ||
30 | - </script> | ||
31 | - </div> | ||
32 | - </div> | 4 | +{% load static i18n %} |
5 | + | ||
6 | +{% block breadcrumbs %} | ||
7 | + <ol class="breadcrumb"> | ||
8 | + <li><a href="{% url 'app:index' %}">{% trans 'Home' %}</a></li> | ||
9 | + <li><a href="{% url 'course:view' course.slug %}">{{ course }}</a></li> | ||
10 | + </ol> | ||
11 | +{% endblock %} | ||
12 | + | ||
13 | +{% block content %} | ||
14 | +<div class="panel panel-default"> | ||
15 | + <div class="panel-body"> | ||
16 | + <form action="" method="post"> | ||
17 | + {% csrf_token %} | ||
18 | + <h2>{% trans 'Are you sure you want to delete the course' %} "{{course}}"?</h2> | ||
19 | + <input type="submit" class="btn btn-raised btn-success btn-lg" value="{% trans 'Yes' %}" /> | ||
20 | + <a href="{% url 'course:view' course.slug%}" class="btn btn-raised btn-danger btn-lg">{% trans 'No' %}</a> | ||
21 | + </form> | ||
33 | </div> | 22 | </div> |
34 | </div> | 23 | </div> |
35 | -<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script> | ||
36 | -<script src="{% static 'js/modal_category.js' %}"></script> | 24 | +{% endblock %} |
37 | \ No newline at end of file | 25 | \ No newline at end of file |
courses/templates/category/update.html
@@ -32,9 +32,7 @@ | @@ -32,9 +32,7 @@ | ||
32 | </div> | 32 | </div> |
33 | <div class="panel-body"> | 33 | <div class="panel-body"> |
34 | <ul class="nav nav-pills nav-stacked"> | 34 | <ul class="nav nav-pills nav-stacked"> |
35 | - <li><a href="javascript:void(0)">{% trans 'Replicate Course' %}</a></li> | ||
36 | <li><a href="{% url 'course:create' %}">{% trans 'Create Course' %}</a></li> | 35 | <li><a href="{% url 'course:create' %}">{% trans 'Create Course' %}</a></li> |
37 | - <li><a href="{% url 'course:create_cat' %}">{% trans 'Create Category' %}</a></li> | ||
38 | </ul> | 36 | </ul> |
39 | </div> | 37 | </div> |
40 | </div> | 38 | </div> |
courses/templates/course/course_card.html
1 | {% load static i18n permission_tags %} | 1 | {% load static i18n permission_tags %} |
2 | {% load django_bootstrap_breadcrumbs %} | 2 | {% load django_bootstrap_breadcrumbs %} |
3 | -<div class="group"> | 3 | +<div class="group course-card "> |
4 | <div class="panel panel-info"> | 4 | <div class="panel panel-info"> |
5 | <div class="panel-heading course"> | 5 | <div class="panel-heading course"> |
6 | <div class="row"> | 6 | <div class="row"> |
courses/templates/course/delete.html
1 | -{% extends 'course/view.html' %} | 1 | +{% load static i18n permission_tags %} |
2 | 2 | ||
3 | -{% load static i18n %} | 3 | +<!-- Modal (remember to change the ids!!!) --> |
4 | +<div class="modal fade" id="course" tabindex="-1" role="dialog" aria-labelledby="myModalLabel"> | ||
5 | + <div class="modal-dialog" role="document"> | ||
6 | + <div class="modal-content"> | ||
7 | + <!-- Modal Header --> | ||
8 | + <div class="modal-header"> | ||
4 | 9 | ||
5 | -{% block breadcrumbs %} | ||
6 | - <ol class="breadcrumb"> | ||
7 | - <li><a href="{% url 'app:index' %}">{% trans 'Home' %}</a></li> | ||
8 | - <li><a href="{% url 'course:view' course.slug %}">{{ course }}</a></li> | ||
9 | - </ol> | ||
10 | -{% endblock %} | ||
11 | - | ||
12 | -{% block content %} | ||
13 | -<div class="panel panel-default"> | ||
14 | - <div class="panel-body"> | ||
15 | - <form action="" method="post"> | ||
16 | - {% csrf_token %} | ||
17 | - <h2>{% trans 'Are you sure you want to delete the course' %} "{{course}}"?</h2> | ||
18 | - <input type="submit" class="btn btn-raised btn-success btn-lg" value="{% trans 'Yes' %}" /> | ||
19 | - <a href="{% url 'course:view' course.slug%}" class="btn btn-raised btn-danger btn-lg">{% trans 'No' %}</a> | 10 | + <h4 class="modal-title" id="myModalLabel">{% trans "Delete Course" %}</h4> |
11 | + </div> | ||
12 | + <!-- Modal Body --> | ||
13 | + <div class="modal-body"> | ||
14 | + <!-- Put ONLY your content here!!! --> | ||
15 | + <form id="delete_form" action="" method="post"> | ||
16 | + {% csrf_token %} | ||
17 | + <p>{% trans 'Are you sure you want to delete the course' %} "{{course.name}}"?</p> | ||
20 | </form> | 18 | </form> |
21 | - </div> | 19 | + </div> |
20 | + <!-- Modal Footer --> | ||
21 | + <div class="modal-footer"> | ||
22 | + <!-- Don't remove that!!! --> | ||
23 | + <button type="button" class="btn btn-danger btn-raised" data-dismiss="modal">{% trans "Close" %}</button> | ||
24 | + <button type="submit" id="button" form="delete_form" class="btn btn-primary btn-raised">{% trans "Delete" %}</button> | ||
25 | + <script> | ||
26 | + $("#delete_form").submit(function(event) { | ||
27 | + RemoverCurso.remove("{% url 'course:delete' course.slug %}",$(this).serialize(),"#course_{{course.slug}}"); | ||
28 | + event.preventDefault(); | ||
29 | + }); | ||
30 | + </script> | ||
31 | + </div> | ||
32 | + </div> | ||
33 | + </div> | ||
22 | </div> | 34 | </div> |
23 | -{% endblock %} | 35 | +<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script> |
36 | +<script src="{% static 'js/course.js' %}"></script> |
courses/templates/course/index.html
@@ -168,6 +168,7 @@ | @@ -168,6 +168,7 @@ | ||
168 | {% endif %} | 168 | {% endif %} |
169 | </ul> | 169 | </ul> |
170 | </nav> | 170 | </nav> |
171 | + <div class="row" id="modal_course"> | ||
171 | </div> | 172 | </div> |
172 | <script type="text/javascript" src="{% static 'js/course.js' %}"></script> | 173 | <script type="text/javascript" src="{% static 'js/course.js' %}"></script> |
173 | {% endblock %} | 174 | {% endblock %} |
courses/templates/course/view.html
@@ -72,20 +72,19 @@ | @@ -72,20 +72,19 @@ | ||
72 | <div class="panel panel-info"> | 72 | <div class="panel panel-info"> |
73 | <div class="panel-heading course-detail"> | 73 | <div class="panel-heading course-detail"> |
74 | <div class="row"> | 74 | <div class="row"> |
75 | - <div class="col-xs-8 col-md-4 .titleTopic-detail"> | 75 | + <div class="col-xs-8 col-md-11 .titleTopic-detail"> |
76 | <h4>{{course.name}}</h4> | 76 | <h4>{{course.name}}</h4> |
77 | </div> | 77 | </div> |
78 | - {% if user|has_role:'professor' and user in course.professors or user|has_role:'system_admin' %} | ||
79 | - <div class="col-xs-4 col-md-8" id="divMoreActions"> | 78 | + {% if user|has_role:'professor' or user|has_role:'system_admin' %} |
79 | + <div class="col-xs-4 col-md-1" id="divMoreActions"> | ||
80 | <div class="btn-group"> | 80 | <div class="btn-group"> |
81 | <button class="btn btn-default btn-sm dropdown-toggle" type="button" id="moreActions" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> | 81 | <button class="btn btn-default btn-sm dropdown-toggle" type="button" id="moreActions" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> |
82 | <i class="fa fa-ellipsis-v fa-2x" aria-hidden="true"></i> | 82 | <i class="fa fa-ellipsis-v fa-2x" aria-hidden="true"></i> |
83 | <div class="ripple-container"></div></button> | 83 | <div class="ripple-container"></div></button> |
84 | - <ul class="dropdown-menu" aria-labelledby="moreActions"> | ||
85 | - <li><a href="javascript:void(0)" data-toggle="modal" data-target="#createSubject"><i class="fa fa-plus-square-o" aria-hidden="true"></i> {% trans "Create Subject" %}</a></li> | ||
86 | - <li><a href="javascript:void(0)" data-toggle="modal" data-target="#myModal4"><i class="fa fa-files-o fa-fw" aria-hidden="true"></i> {% trans "Replicate" %}</a></li> | 84 | + <ul class="dropdown-menu pull-right" aria-labelledby="moreActions"> |
85 | + <li><a href="{% url 'course:replicate_course' course.slug %}"><i class="fa fa-files-o fa-fw" aria-hidden="true"></i> {% trans "Replicate" %}</a></li> | ||
87 | <li><a href="{% url 'course:update' course.slug %}"><i class="fa fa-pencil fa-fw" aria-hidden="true"></i> {% trans "Edit" %}</a></li> | 86 | <li><a href="{% url 'course:update' course.slug %}"><i class="fa fa-pencil fa-fw" aria-hidden="true"></i> {% trans "Edit" %}</a></li> |
88 | - <li><a href="javascript:void(0)" data-toggle="modal" data-target="#myModal2"><i class="fa fa-trash fa-fw" aria-hidden="true"></i> {% trans "Remove" %}</a></li> | 87 | + <li><a href="javascript:javascript:delete_course('{% url 'course:delete' course.slug %}', '{{ course.slug }}', '{% trans "Are you sure you want to delete this course?" %}', '{% url 'course:manage' %}')" data-toggle="modal" data-target="#myModal2"><i class="fa fa-trash fa-fw" aria-hidden="true"></i> {% trans "Remove" %}</a></li> |
89 | </ul> | 88 | </ul> |
90 | </div> | 89 | </div> |
91 | </div> | 90 | </div> |
@@ -159,20 +158,20 @@ | @@ -159,20 +158,20 @@ | ||
159 | <div class="col-md-1 moreAccordion" data-toggle="collapse" data-parent="#accordion-{{subject.slug}}" href=".collapseSubject-{{subject.slug}}" aria-expanded="false" aria-controls="collapseSubject-{{subject.slug}}"> | 158 | <div class="col-md-1 moreAccordion" data-toggle="collapse" data-parent="#accordion-{{subject.slug}}" href=".collapseSubject-{{subject.slug}}" aria-expanded="false" aria-controls="collapseSubject-{{subject.slug}}"> |
160 | <button class="btn btn-default btn-sm caret-square"><i class="fa fa-caret-square-o-down fa-2x" aria-hidden="true"></i></button> | 159 | <button class="btn btn-default btn-sm caret-square"><i class="fa fa-caret-square-o-down fa-2x" aria-hidden="true"></i></button> |
161 | </div> | 160 | </div> |
162 | - <div class="col-xs-9 col-md-9 titleTopic"> | 161 | + <div class="col-xs-9 col-md-10 titleTopic"> |
163 | <a role="button" href="{% url 'course:view_subject' subject.slug %}"> | 162 | <a role="button" href="{% url 'course:view_subject' subject.slug %}"> |
164 | <h4>{{subject.name}}</h4> | 163 | <h4>{{subject.name}}</h4> |
165 | </a> | 164 | </a> |
166 | </div> | 165 | </div> |
167 | - {% if user|has_role:'professor' and user in subject.professors or user|has_role:'system_admin' %} | ||
168 | - <div class="col-xs-3 col-md-6" id="divMoreActions"> | 166 | + {% if user|has_role:'professor' or user|has_role:'system_admin' %} |
167 | + <div class="col-xs-3 col-md-1" id="divMoreActions"> | ||
169 | <div class="btn-group"> | 168 | <div class="btn-group"> |
170 | <button class="btn btn-default btn-sm dropdown-toggle" type="button" id="moreActions" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> | 169 | <button class="btn btn-default btn-sm dropdown-toggle" type="button" id="moreActions" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> |
171 | <i class="fa fa-ellipsis-v fa-2x" aria-hidden="true"></i> | 170 | <i class="fa fa-ellipsis-v fa-2x" aria-hidden="true"></i> |
172 | </button> | 171 | </button> |
173 | - <ul class="dropdown-menu" aria-labelledby="moreActions"> | 172 | + <ul class="dropdown-menu pull-right" aria-labelledby="moreActions"> |
174 | <li><a href="javascript:void(0)" data-toggle="modal" data-target="#myModal3"><i class="fa fa-pencil fa-fw" aria-hidden="true"></i> {% trans 'Replicate' %}</a></li> | 173 | <li><a href="javascript:void(0)" data-toggle="modal" data-target="#myModal3"><i class="fa fa-pencil fa-fw" aria-hidden="true"></i> {% trans 'Replicate' %}</a></li> |
175 | - <li><a href="javascript:void(0)" data-toggle="modal" data-target="#removeSubject2"><i class="fa fa-trash fa-fw" aria-hidden="true"></i> {% trans 'Remove' %}</a></li> | 174 | + <li><a href="javascript:subject.get('{% url 'course:delete_subject' subject.slug %}','#subject','#modal_subject');" data-toggle="modal" data-target="#removeSubject"><i class="fa fa-trash fa-fw" aria-hidden="true"></i> {% trans 'Remove' %}</a></li> |
176 | </ul> | 175 | </ul> |
177 | </div> | 176 | </div> |
178 | </div> | 177 | </div> |
@@ -219,27 +218,6 @@ | @@ -219,27 +218,6 @@ | ||
219 | </div> | 218 | </div> |
220 | {% endif %} | 219 | {% endif %} |
221 | 220 | ||
222 | -<!-- MODAL REMOVE --> | ||
223 | - <div class="modal" id="removeSubject2"> | ||
224 | - <div class="modal-dialog"> | ||
225 | - <div class="modal-content"> | ||
226 | - <div class="modal-header"> | ||
227 | - <button type="button" class="close" data-dismiss="modal" aria-hidden="true">X</button> | ||
228 | - <h4 class="modal-title"></h4> | ||
229 | - </div> | ||
230 | - <div class="modal-body"> | ||
231 | - <p> {% trans "Are you sure you want to remove this subject?" %}</p> | ||
232 | - </div> | ||
233 | - <div class="modal-footer"> | ||
234 | - | ||
235 | - <a href="http://127.0.0.1:8080/html/screens/users/teacher/home_course_teacher.html" target="_self"><button type="button" class="btn btn-primary">{% trans "Confirm" %}</button></a> | ||
236 | - | ||
237 | - </div> | ||
238 | - </div> | ||
239 | - </div> | ||
240 | - </div> | ||
241 | - | ||
242 | - | ||
243 | </div> | 221 | </div> |
244 | </div> | 222 | </div> |
245 | </div> | 223 | </div> |
courses/views.py
@@ -231,7 +231,7 @@ class UpdateCourseView(LoginRequiredMixin, HasRoleMixin, generic.UpdateView): | @@ -231,7 +231,7 @@ class UpdateCourseView(LoginRequiredMixin, HasRoleMixin, generic.UpdateView): | ||
231 | 231 | ||
232 | class DeleteCourseView(LoginRequiredMixin, HasRoleMixin, generic.DeleteView): | 232 | class DeleteCourseView(LoginRequiredMixin, HasRoleMixin, generic.DeleteView): |
233 | 233 | ||
234 | - allowed_roles = ['professor', 'system_admin'] | 234 | + allowed_roles = ['professor', 'student'] |
235 | login_url = reverse_lazy("core:home") | 235 | login_url = reverse_lazy("core:home") |
236 | redirect_field_name = 'next' | 236 | redirect_field_name = 'next' |
237 | model = Course | 237 | model = Course |