Commit f5de0b5d456c8c7dd91d10a8c022c3d9f7f78479
1 parent
72a5bee7
Exists in
master
and in
5 other branches
ajustes nas telas de course #375
Showing
6 changed files
with
138 additions
and
195 deletions
Show diff stats
courses/static/js/course.js
@@ -59,10 +59,9 @@ var RemoveCourse = { | @@ -59,10 +59,9 @@ var RemoveCourse = { | ||
59 | $.post(url,dados, function(data){ | 59 | $.post(url,dados, function(data){ |
60 | $(id_li_link).remove(); | 60 | $(id_li_link).remove(); |
61 | $("#modal_course").empty(); | 61 | $("#modal_course").empty(); |
62 | - $("#accordion").remove(); | ||
63 | $(".modal-backdrop.in").remove(); | 62 | $(".modal-backdrop.in").remove(); |
64 | alertify.success("Course removed successfully!"); | 63 | alertify.success("Course removed successfully!"); |
65 | - setTimeout(function () { location.reload(1); }, 1); | 64 | + // setTimeout(function () { location.reload(1); }, 1); |
66 | }).fail(function(){ | 65 | }).fail(function(){ |
67 | $("#modal_course").empty(); | 66 | $("#modal_course").empty(); |
68 | $("#modal_course").append(data); | 67 | $("#modal_course").append(data); |
courses/templates/course/course_card.html
1 | {% load static i18n permission_tags %} | 1 | {% load static i18n permission_tags %} |
2 | -<div class="group course-card "> | 2 | +<div class="group course-card " id="course_{{course.slug}}"> |
3 | <div class="panel panel-info"> | 3 | <div class="panel panel-info"> |
4 | <div class="panel-heading course"> | 4 | <div class="panel-heading course"> |
5 | <div class="row"> | 5 | <div class="row"> |
@@ -17,7 +17,7 @@ | @@ -17,7 +17,7 @@ | ||
17 | <ul class="dropdown-menu pull-right" aria-labelledby="moreActions"> | 17 | <ul class="dropdown-menu pull-right" aria-labelledby="moreActions"> |
18 | <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> | 18 | <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> |
19 | <li><a href="{% url 'course:update' course.slug %}"><i class="fa fa-pencil fa-fw" aria-hidden="true"></i>{% trans 'Edit' %}</a></li> | 19 | <li><a href="{% url 'course:update' course.slug %}"><i class="fa fa-pencil fa-fw" aria-hidden="true"></i>{% trans 'Edit' %}</a></li> |
20 | - <li><a href="javascript:delete_course.get('{% url 'course:delete' course.slug %}','#course','#modal_course')"><i class="fa fa-trash fa-fw" aria-hidden="true"></i> {% trans 'Remove' %}</a></li> | 20 | + <li><a href="javascript:delete_course.get('{% url 'course:delete' course.slug %}?view=index','#course','#modal_course')"><i class="fa fa-trash fa-fw" aria-hidden="true"></i> {% trans 'Remove' %}</a></li> |
21 | </ul> | 21 | </ul> |
22 | </div> | 22 | </div> |
23 | </div> | 23 | </div> |
@@ -30,23 +30,3 @@ | @@ -30,23 +30,3 @@ | ||
30 | </div> | 30 | </div> |
31 | </div> | 31 | </div> |
32 | </div> | 32 | </div> |
33 | - | ||
34 | -<div class="modal fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel"> | ||
35 | - <div class="modal-dialog" role="document"> | ||
36 | - <div class="modal-content"> | ||
37 | - <div class="modal-header"> | ||
38 | - <h4 class="modal-title">{% trans 'Repicate Course' %}</h4> | ||
39 | - </div> | ||
40 | - <div class="modal-body"> | ||
41 | - <section> | ||
42 | - <div class="course_replicate_form"></div> | ||
43 | - </section> | ||
44 | - </div> | ||
45 | - <div class="modal-footer"> | ||
46 | - <button type="button" class="btn btn-danger btn-raised" data-dismiss="modal">{% trans 'Close' %}</button> | ||
47 | - <button type="button" onclick="$('#course_replicate').submit();" class="btn btn-primary btn-raised">{% trans 'Create' %}</button> | ||
48 | - </div> | ||
49 | - </div> | ||
50 | - </div> | ||
51 | -</div> | ||
52 | - <script type="text/javascript" src="{% static 'js/course.js' %}"></script> |
courses/templates/course/delete.html
@@ -12,22 +12,24 @@ | @@ -12,22 +12,24 @@ | ||
12 | <!-- Modal Body --> | 12 | <!-- Modal Body --> |
13 | <div class="modal-body"> | 13 | <div class="modal-body"> |
14 | <!-- Put ONLY your content here!!! --> | 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> | ||
18 | - </form> | 15 | + <form id="delete_form" action="{% url 'course:delete' course.slug %}" method="post"> |
16 | + {% csrf_token %} | ||
17 | + <p>{% trans 'Are you sure you want to delete the course' %} "{{course.name}}"?</p> | ||
18 | + </form> | ||
19 | </div> | 19 | </div> |
20 | <!-- Modal Footer --> | 20 | <!-- Modal Footer --> |
21 | <div class="modal-footer"> | 21 | <div class="modal-footer"> |
22 | <!-- Don't remove that!!! --> | 22 | <!-- Don't remove that!!! --> |
23 | <button type="button" class="btn btn-default btn-raised" data-dismiss="modal">{% trans "Close" %}</button> | 23 | <button type="button" class="btn btn-default 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> | 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 | - RemoveCourse.remove("{% url 'course:delete' course.slug %}",$(this).serialize(),"#course_{{course.slug}}"); | ||
28 | - event.preventDefault(); | ||
29 | - }); | ||
30 | - </script> | 25 | + {% if index %} |
26 | + <script> | ||
27 | + $("#delete_form").submit(function(event) { | ||
28 | + RemoveCourse.remove("{% url 'course:delete' course.slug %}",$(this).serialize(),"#course_{{course.slug}}"); | ||
29 | + event.preventDefault(); | ||
30 | + }); | ||
31 | + </script> | ||
32 | + {% endif %} | ||
31 | </div> | 33 | </div> |
32 | </div> | 34 | </div> |
33 | </div> | 35 | </div> |
courses/templates/course/index.html
@@ -5,85 +5,58 @@ | @@ -5,85 +5,58 @@ | ||
5 | 5 | ||
6 | {% block breadcrumbs %} | 6 | {% block breadcrumbs %} |
7 | 7 | ||
8 | - {{ block.super }} | ||
9 | - {% breadcrumb 'Courses' 'course:manage' %} | 8 | +{{ block.super }} |
9 | +{% breadcrumb 'Courses' 'course:manage' %} | ||
10 | 10 | ||
11 | {% endblock %} | 11 | {% endblock %} |
12 | 12 | ||
13 | {% block content %} | 13 | {% block content %} |
14 | - {% if messages %} | ||
15 | - {% for message in messages %} | ||
16 | - <div class="alert alert-success alert-dismissible" role="alert"> | ||
17 | - <button type="button" class="close" data-dismiss="alert" aria-label="Close"> | ||
18 | - <span aria-hidden="true">×</span> | ||
19 | - </button> | ||
20 | - <p>{{ message }}</p> | ||
21 | - </div> | ||
22 | - {% endfor %} | ||
23 | - {% endif %} | 14 | +{% if messages %} |
15 | +{% for message in messages %} | ||
16 | + <script type="text/javascript"> | ||
17 | + alertify.success('{{message}}'); | ||
18 | + </script> | ||
19 | +{% endfor %} | ||
20 | +{% endif %} | ||
24 | 21 | ||
25 | <div class="col-md-12 cards-content"> | 22 | <div class="col-md-12 cards-content"> |
26 | - <form id="searchform" method="get" accept-charset="utf-8"> | ||
27 | - <div class="input-group"> | ||
28 | - <div class="form-group is-empty"> | ||
29 | - <input type="text" class="form-control" placeholder="{% trans 'Search for Courses' %}" name="q"></div> | ||
30 | - <span class="input-group-btn input-group-sm"> | ||
31 | - <button type="submit" class="btn btn-fab btn-fab-mini"> | ||
32 | - <i class="fa fa-search" aria-hidden="true"></i> | ||
33 | - </button> | ||
34 | - </span> | ||
35 | - </div> | ||
36 | - </form> | 23 | + <form id="searchform" method="get" accept-charset="utf-8"> |
24 | + <div class="input-group"> | ||
25 | + <div class="form-group is-empty"> | ||
26 | + <input type="text" class="form-control" placeholder="{% trans 'Search for Courses' %}" name="q"> | ||
27 | + </div> | ||
28 | + <span class="input-group-btn input-group-sm"> | ||
29 | + <button type="submit" class="btn btn-fab btn-fab-mini"> | ||
30 | + <i class="fa fa-search" aria-hidden="true"></i> | ||
31 | + </button> | ||
32 | + </span> | ||
33 | + </div> | ||
34 | + </form> | ||
37 | </div> | 35 | </div> |
38 | - | ||
39 | -</fieldset> | ||
40 | - <div class="col-md-12 cards-content"> | ||
41 | - {% for category in categorys_courses %} | ||
42 | - <div class="panel-group course-card-group"> | ||
43 | - <div class="panel panel-default"> | ||
44 | - <div class="panel-heading"> | ||
45 | - <div class="row"> | ||
46 | - <div class="col-md-12"> | ||
47 | - <h4 class="panel-title"> | ||
48 | - <a class="category-course-link" data-toggle="collapse" href="#{{category.slug}}">{{category.name}}</a> | ||
49 | - </h4> | ||
50 | - </div> | ||
51 | - </div> | ||
52 | - </div> | ||
53 | - <div id="{{category.slug}}" class="panel-collapse collapse"> | ||
54 | - {% for course in category.course_category %} | ||
55 | - {# {% if user in course.students.all or user in course.professors.all or user|has_role:'system_admin' %}#} | ||
56 | - {% include "course/course_card.html" %} | ||
57 | - {# {% endif %}#} | ||
58 | - {% endfor %} | ||
59 | - </div> | ||
60 | - </div> | ||
61 | - </div> | ||
62 | - | ||
63 | - | 36 | +<div class="col-md-12 cards-content"> |
37 | + {% for category in categorys_courses %} | ||
38 | + <div class="panel-group course-card-group"> | ||
39 | + <div class="panel panel-default"> | ||
40 | + <div class="panel-heading"> | ||
41 | + <div class="row"> | ||
42 | + <div class="col-md-12"> | ||
43 | + <h4 class="panel-title"> | ||
44 | + <a class="category-course-link" data-toggle="collapse" href="#{{category.slug}}">{{category.name}}</a> | ||
45 | + </h4> | ||
46 | + </div> | ||
47 | + </div> | ||
48 | + </div> | ||
49 | + <div id="{{category.slug}}" class="panel-collapse collapse"> | ||
50 | + {% for course in category.course_category %} | ||
51 | + {% include "course/course_card.html" %} | ||
64 | {% endfor %} | 52 | {% endfor %} |
53 | + </div> | ||
65 | </div> | 54 | </div> |
66 | - <div class="col-md-12"> | ||
67 | - <nav aria-label="Page navigation"> | ||
68 | - <ul class="pagination"> | ||
69 | - {% if page_obj.has_previous %} | ||
70 | - <li> | ||
71 | - <a href="?page={{ page_obj.previous_page_number }}"><span><<</span></a> | ||
72 | - </li> | ||
73 | - {% endif %} | ||
74 | - {% for page_number in paginator.page_range %} | ||
75 | - <li{% if page_obj.number == page_number %} class="active"{% endif %}> | ||
76 | - <a href="?page={{ page_number }}">{{ page_number }}</a> | ||
77 | - </li> | ||
78 | - {% endfor %} | ||
79 | - {% if page_obj.has_next %} | ||
80 | - <li> | ||
81 | - <a href="?page={{ page_obj.next_page_number }}"><span>>></span></a> | ||
82 | - </li> | ||
83 | - {% endif %} | ||
84 | - </ul> | ||
85 | - </nav> | ||
86 | - <div class="row" id="modal_course"> | ||
87 | - </div> | ||
88 | - <script type="text/javascript" src="{% static 'js/course.js' %}"></script> | 55 | + </div> |
56 | + {% endfor %} | ||
57 | +</div> | ||
58 | +<div id="modal_course"> | ||
59 | + | ||
60 | +</div> | ||
61 | +<script type="text/javascript" src="{% static 'js/course.js' %}"></script> | ||
89 | {% endblock %} | 62 | {% endblock %} |
courses/templates/course/view.html
@@ -4,7 +4,7 @@ | @@ -4,7 +4,7 @@ | ||
4 | {% load django_bootstrap_breadcrumbs %} | 4 | {% load django_bootstrap_breadcrumbs %} |
5 | 5 | ||
6 | {% block style %} | 6 | {% block style %} |
7 | - <link rel="stylesheet" href="{% static 'css/course/course.css' %}"> | 7 | +<link rel="stylesheet" href="{% static 'css/course/course.css' %}"> |
8 | {% endblock style %} | 8 | {% endblock style %} |
9 | 9 | ||
10 | {% block javascript %} | 10 | {% block javascript %} |
@@ -15,38 +15,45 @@ | @@ -15,38 +15,45 @@ | ||
15 | 15 | ||
16 | {% block breadcrumbs %} | 16 | {% block breadcrumbs %} |
17 | 17 | ||
18 | - {{ block.super }} | ||
19 | - {% breadcrumb course 'course:view' course.slug %} | 18 | +{{ block.super }} |
19 | +{% breadcrumb course 'course:view' course.slug %} | ||
20 | 20 | ||
21 | {% endblock %} | 21 | {% endblock %} |
22 | 22 | ||
23 | {% block content %} | 23 | {% block content %} |
24 | +{% if messages %} | ||
25 | +{% for message in messages %} | ||
26 | +<script type="text/javascript"> | ||
27 | +alertify.success('{{message}}'); | ||
28 | +</script> | ||
29 | +{% endfor %} | ||
30 | +{% endif %} | ||
24 | 31 | ||
25 | - <div class="col-md-12 cards-content"> | ||
26 | - <div class="group course-card "> | ||
27 | - <div class="panel panel-info"> | ||
28 | - <div class="panel-heading course"> | ||
29 | - <div class="row"> | ||
30 | - <div class="col-xs-6 col-md-6 titleTopic"> | ||
31 | - <h4>{{course.name}}</h4> | ||
32 | - </div> | ||
33 | - {% if user|has_role:'professor' or user|has_role:'system_admin' %} | ||
34 | - <div class="col-xs-6 col-md-6 divMoreActions" > | ||
35 | - <div class="btn-group"> | ||
36 | - <button class="btn btn-default btn-sm dropdown-toggle" type="button" id="moreActions" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> | ||
37 | - <i class="fa fa-ellipsis-v fa-2x" aria-hidden="true"></i> | ||
38 | - </button> | ||
39 | - <ul class="dropdown-menu pull-right" aria-labelledby="moreActions"> | ||
40 | - <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> | ||
41 | - <li><a href="{% url 'course:update' course.slug %}"><i class="fa fa-pencil fa-fw" aria-hidden="true"></i>{% trans 'Edit' %}</a></li> | ||
42 | - <li><a href="javascript:delete_course.get('{% url 'course:delete' course.slug %}','#course','#modal_course')"><i class="fa fa-trash fa-fw" aria-hidden="true"></i> {% trans 'Remove' %}</a></li> | ||
43 | - </ul> | ||
44 | - </div> | 32 | +<div class="col-md-12 cards-content"> |
33 | + <div class="group course-card "> | ||
34 | + <div class="panel panel-info"> | ||
35 | + <div class="panel-heading course"> | ||
36 | + <div class="row"> | ||
37 | + <div class="col-xs-6 col-md-6 titleTopic"> | ||
38 | + <h4>{{course.name}}</h4> | ||
39 | + </div> | ||
40 | + {% if user|has_role:'professor' or user|has_role:'system_admin' %} | ||
41 | + <div class="col-xs-6 col-md-6 divMoreActions" > | ||
42 | + <div class="btn-group"> | ||
43 | + <button class="btn btn-default btn-sm dropdown-toggle" type="button" id="moreActions" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> | ||
44 | + <i class="fa fa-ellipsis-v fa-2x" aria-hidden="true"></i> | ||
45 | + </button> | ||
46 | + <ul class="dropdown-menu pull-right" aria-labelledby="moreActions"> | ||
47 | + <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> | ||
48 | + <li><a href="{% url 'course:update' course.slug %}"><i class="fa fa-pencil fa-fw" aria-hidden="true"></i>{% trans 'Edit' %}</a></li> | ||
49 | + <li><a href="javascript:delete_course.get('{% url 'course:delete' course.slug %}','#course','#modal_course')"><i class="fa fa-trash fa-fw" aria-hidden="true"></i> {% trans 'Remove' %}</a></li> | ||
50 | + </ul> | ||
45 | </div> | 51 | </div> |
46 | - {% elif user|has_role:'student' %} | ||
47 | - {% if not request.user in course.students.all %} | ||
48 | - <a onclick="subscribe($(this), '{% url 'course:subscribe' course.slug %}', {{ course.id}}, '{% trans 'Are you sure you want to subscribe to this course?' %}')"><button class="btn btn-sm btn-primary btn-raised pull-right">{% trans 'Subscribe' %}</button></a> | ||
49 | - {% endif %} | 52 | + </div> |
53 | + {% elif user|has_role:'student' %} | ||
54 | + {% if not request.user in course.students.all %} | ||
55 | + <a onclick="subscribe($(this), '{% url 'course:subscribe' course.slug %}', {{ course.id}}, '{% trans 'Are you sure you want to subscribe to this course?' %}')"><button class="btn btn-sm btn-primary btn-raised pull-right">{% trans 'Subscribe' %}</button></a> | ||
56 | + {% endif %} | ||
50 | {% endif %} | 57 | {% endif %} |
51 | </div> | 58 | </div> |
52 | </div> | 59 | </div> |
@@ -55,71 +62,49 @@ | @@ -55,71 +62,49 @@ | ||
55 | </div> | 62 | </div> |
56 | </div> | 63 | </div> |
57 | </div> | 64 | </div> |
58 | - | ||
59 | -<!-- MODAL CREATE SUBJECT --> | ||
60 | -<div class="modal" tabindex="-1" role="dialog " id="createSubject"> | ||
61 | - <div class="modal-dialog"> | ||
62 | - <div class="modal-content"> | ||
63 | - <div class="modal-header"> | ||
64 | - <h4 class="modal-title">{% trans "Create a New Subject" %}</h4> | ||
65 | - </div> | ||
66 | - <div class="modal-body"> | ||
67 | - <div> | ||
68 | - </div> | ||
69 | - <div class="modal-footer"> | ||
70 | - <button type="button" data-dismiss="modal" class="btn btn-default btn-raised">{% trans "Cancel" %}</button> | ||
71 | - <a href="#" target="_self"><button type="button" class="btn btn-primary btn-raised"> {% trans "Confirm" %}</button></a> | ||
72 | - </div> | ||
73 | - </div> | ||
74 | - </div> | ||
75 | - </div> | ||
76 | -</div> | ||
77 | - | ||
78 | -<div class="panel-group ui-accordion ui-widget ui-helper-reset ui-sortable" id="accordion" role="tablist" aria-multiselectable="false"></div> | ||
79 | <div class="cards-detail"> | 65 | <div class="cards-detail"> |
80 | {% for subject in subjects %} | 66 | {% for subject in subjects %} |
81 | - <div class="panel panel-default panel_{{ subject.id }}"> | ||
82 | - <div class="panel-heading heading_{{subject.id}} subject ui-sortable-handle"> | ||
83 | - <div class="row"> | ||
84 | - <div class="col-xs-9 col-md-6 titleTopic"> | ||
85 | - <a role="button" href="{% url 'course:view_subject' subject.slug %}"> | ||
86 | - <h4>{{subject.name}}</h4> | ||
87 | - </a> | 67 | + <div class="panel panel-default panel_{{ subject.id }}"> |
68 | + <div class="panel-heading heading_{{subject.id}} subject ui-sortable-handle"> | ||
69 | + <div class="row"> | ||
70 | + <div class="col-xs-9 col-md-6 titleTopic"> | ||
71 | + <a role="button" href="{% url 'course:view_subject' subject.slug %}"> | ||
72 | + <h4>{{subject.name}}</h4> | ||
73 | + </a> | ||
74 | + </div> | ||
75 | + {% if user|has_role:'professor' or user|has_role:'system_admin' %} | ||
76 | + <div class="col-xs-3 col-md-6 divMoreActions"> | ||
77 | + <div class="btn-group"> | ||
78 | + <button class="btn btn-default btn-sm dropdown-toggle" type="button" id="moreActions" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> | ||
79 | + <i class="fa fa-ellipsis-v fa-2x" aria-hidden="true"></i> | ||
80 | + </button> | ||
81 | + <ul class="dropdown-menu pull-right" aria-labelledby="moreActions"> | ||
82 | + <li><a href="{% url 'course:replicate_subject' subject.slug %}"><i class="fa fa-files-o fa-fw" aria-hidden="true"></i> {% trans "Replicate" %}</a></li> | ||
83 | + <li><a href="{% url 'course:update_subject' subject.slug %}"> <i class="fa fa-pencil fa-fw" aria-hidden="true"></i> {% trans "Edit" %}</a></li> | ||
84 | + <li><a href="{% url 'course:delete_subject' subject.slug %}" ><i class="fa fa-trash fa-fw" aria-hidden="true"></i> {% trans "Remove" %}</a></li> | ||
85 | + </ul> | ||
88 | </div> | 86 | </div> |
89 | - {% if user|has_role:'professor' or user|has_role:'system_admin' %} | ||
90 | - <div class="col-xs-3 col-md-6 divMoreActions"> | ||
91 | - <div class="btn-group"> | ||
92 | - <button class="btn btn-default btn-sm dropdown-toggle" type="button" id="moreActions" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> | ||
93 | - <i class="fa fa-ellipsis-v fa-2x" aria-hidden="true"></i> | ||
94 | - </button> | ||
95 | - <ul class="dropdown-menu pull-right" aria-labelledby="moreActions"> | ||
96 | - <li><a href="{% url 'course:replicate_subject' subject.slug %}"><i class="fa fa-files-o fa-fw" aria-hidden="true"></i> {% trans "Replicate" %}</a></li> | ||
97 | - <li><a href="{% url 'course:update_subject' subject.slug %}"> <i class="fa fa-pencil fa-fw" aria-hidden="true"></i> {% trans "Edit" %}</a></li> | ||
98 | - <li><a href="{% url 'course:delete_subject' subject.slug %}" ><i class="fa fa-trash fa-fw" aria-hidden="true"></i> {% trans "Remove" %}</a></li> | ||
99 | - </ul> | ||
100 | - | ||
101 | - </div> | ||
102 | - </div> | ||
103 | - {% endif %} | 87 | + </div> |
88 | + {% endif %} | ||
104 | 89 | ||
105 | - {% if user|show_subject_subscribe:subject %} | ||
106 | - <div class="col-xs-3 col-md-2"> | ||
107 | - <a onclick="subscribe($(this), '{% url 'course:subscribe_subject' subject.slug %}', {{ subject.id }}, '{% trans 'Are you sure you want to subscribe to this subject?' %}')" class="btn btn-sm btn-primary btn-raised">{% trans 'Subscribe' %}</a> | ||
108 | - </div> | ||
109 | - {% endif %} | ||
110 | - </div> | 90 | + {% if user|show_subject_subscribe:subject %} |
91 | + <div class="col-xs-3 col-md-2"> | ||
92 | + <a onclick="subscribe($(this), '{% url 'course:subscribe_subject' subject.slug %}', {{ subject.id }}, '{% trans 'Are you sure you want to subscribe to this subject?' %}')" class="btn btn-sm btn-primary btn-raised">{% trans 'Subscribe' %}</a> | ||
93 | + </div> | ||
94 | + {% endif %} | ||
111 | </div> | 95 | </div> |
112 | </div> | 96 | </div> |
97 | + </div> | ||
113 | {% endfor %} | 98 | {% endfor %} |
114 | - | ||
115 | - | ||
116 | -{% if user|has_role:'professor' and user in course.professors.all or user|has_role:'system_admin' %} | ||
117 | - | ||
118 | - <div class="form-group"> | ||
119 | - <a href="{% url 'course:create_subject' course.slug %}" data-toggle="modal" data-target="" class="btn btn-primary btn-lg btn-block btn-raised">{% trans 'Create Subject' %}<div class="ripple-container"></div></a> | 99 | + {% if user|has_role:'professor' and user in course.professors.all or user|has_role:'system_admin' %} |
100 | + <div class="form-group"> | ||
101 | + <a href="{% url 'course:create_subject' course.slug %}" class="btn btn-primary btn-lg btn-block btn-raised">{% trans 'Create Subject' %}<div class="ripple-container"></div></a> | ||
102 | + </div> | ||
103 | + {% endif %} | ||
120 | </div> | 104 | </div> |
121 | -{% endif %} | ||
122 | </div> | 105 | </div> |
106 | +<div id="modal_course"> | ||
107 | + | ||
123 | </div> | 108 | </div> |
124 | 109 | ||
125 | {% endblock %} | 110 | {% endblock %} |
courses/views.py
@@ -195,6 +195,7 @@ class ReplicateCourseView(LoginRequiredMixin, HasRoleMixin, LogMixin, Notificati | @@ -195,6 +195,7 @@ class ReplicateCourseView(LoginRequiredMixin, HasRoleMixin, LogMixin, Notificati | ||
195 | def form_valid(self, form): | 195 | def form_valid(self, form): |
196 | self.object = form.save() | 196 | self.object = form.save() |
197 | self.object.professors.add(self.request.user) | 197 | self.object.professors.add(self.request.user) |
198 | + messages.success(self.request,_("Course '%s' was successfully created!"%(self.object.name) )) | ||
198 | return super(ReplicateCourseView, self).form_valid(form) | 199 | return super(ReplicateCourseView, self).form_valid(form) |
199 | 200 | ||
200 | def get_context_data(self, **kwargs): | 201 | def get_context_data(self, **kwargs): |
@@ -254,7 +255,7 @@ class UpdateCourseView(LoginRequiredMixin, HasRoleMixin, LogMixin, generic.Updat | @@ -254,7 +255,7 @@ class UpdateCourseView(LoginRequiredMixin, HasRoleMixin, LogMixin, generic.Updat | ||
254 | self.log_context['course_category_name'] = self.object.category.name | 255 | self.log_context['course_category_name'] = self.object.category.name |
255 | 256 | ||
256 | super(UpdateCourseView, self).createLog(self.request.user, self.log_component, self.log_action, self.log_resource, self.log_context) | 257 | super(UpdateCourseView, self).createLog(self.request.user, self.log_component, self.log_action, self.log_resource, self.log_context) |
257 | - | 258 | + messages.success(self.request,_("Course '%s' was successfully updated!"%(self.object.name) )) |
258 | return super(UpdateCourseView, self).form_valid(form) | 259 | return super(UpdateCourseView, self).form_valid(form) |
259 | 260 | ||
260 | def get_context_data(self, **kwargs): | 261 | def get_context_data(self, **kwargs): |
@@ -302,7 +303,10 @@ class DeleteCourseView(LoginRequiredMixin, HasRoleMixin, LogMixin, generic.Delet | @@ -302,7 +303,10 @@ class DeleteCourseView(LoginRequiredMixin, HasRoleMixin, LogMixin, generic.Delet | ||
302 | courses = self.request.user.courses_professors.all() | 303 | courses = self.request.user.courses_professors.all() |
303 | context['courses'] = courses | 304 | context['courses'] = courses |
304 | context['title'] = course.name | 305 | context['title'] = course.name |
305 | - | 306 | + if (self.request.GET.get('view') == 'index'): |
307 | + context['index'] = True | ||
308 | + else: | ||
309 | + context['index'] = False | ||
306 | return context | 310 | return context |
307 | 311 | ||
308 | def get_success_url(self): | 312 | def get_success_url(self): |
@@ -313,7 +317,7 @@ class DeleteCourseView(LoginRequiredMixin, HasRoleMixin, LogMixin, generic.Delet | @@ -313,7 +317,7 @@ class DeleteCourseView(LoginRequiredMixin, HasRoleMixin, LogMixin, generic.Delet | ||
313 | self.log_context['course_category_name'] = self.object.category.name | 317 | self.log_context['course_category_name'] = self.object.category.name |
314 | 318 | ||
315 | super(DeleteCourseView, self).createLog(self.request.user, self.log_component, self.log_action, self.log_resource, self.log_context) | 319 | super(DeleteCourseView, self).createLog(self.request.user, self.log_component, self.log_action, self.log_resource, self.log_context) |
316 | - | 320 | + messages.success(self.request,_("Successfully deleted!")) |
317 | return reverse_lazy('course:manage') | 321 | return reverse_lazy('course:manage') |
318 | 322 | ||
319 | 323 | ||
@@ -415,18 +419,18 @@ class DeleteTopic(LoginRequiredMixin, HasRoleMixin, LogMixin, generic.DeleteView | @@ -415,18 +419,18 @@ class DeleteTopic(LoginRequiredMixin, HasRoleMixin, LogMixin, generic.DeleteView | ||
415 | context['subjects'] = self.object.subject.course.subjects.all() | 419 | context['subjects'] = self.object.subject.course.subjects.all() |
416 | else: | 420 | else: |
417 | context['subjects'] = self.object.subject.course.subjects.filter(Q(visible=True) | Q(professors__in=[self.request.user])) | 421 | context['subjects'] = self.object.subject.course.subjects.filter(Q(visible=True) | Q(professors__in=[self.request.user])) |
418 | - | 422 | + |
419 | return context | 423 | return context |
420 | 424 | ||
421 | def get_success_url(self): | 425 | def get_success_url(self): |
422 | self.log_context['topic_id'] = self.object.id | 426 | self.log_context['topic_id'] = self.object.id |
423 | self.log_context['topic_name'] = self.object.name | 427 | self.log_context['topic_name'] = self.object.name |
424 | self.log_context['topic_slug'] = self.object.slug | 428 | self.log_context['topic_slug'] = self.object.slug |
425 | - | 429 | + |
426 | self.log_context['subject_id'] = self.object.subject.id | 430 | self.log_context['subject_id'] = self.object.subject.id |
427 | self.log_context['subject_name'] = self.object.subject.name | 431 | self.log_context['subject_name'] = self.object.subject.name |
428 | self.log_context['subject_slug'] = self.object.subject.slug | 432 | self.log_context['subject_slug'] = self.object.subject.slug |
429 | - | 433 | + |
430 | self.log_context['course_id'] = self.object.subject.course.id | 434 | self.log_context['course_id'] = self.object.subject.course.id |
431 | self.log_context['course_name'] = self.object.subject.course.name | 435 | self.log_context['course_name'] = self.object.subject.course.name |
432 | self.log_context['course_slug'] = self.object.subject.course.slug | 436 | self.log_context['course_slug'] = self.object.subject.course.slug |