Commit cf3210f0f9a4174819c415a9e2309506a79d125e
1 parent
e1d1cc3c
Exists in
master
and in
5 other branches
Ajustes em editar topico #400
Showing
5 changed files
with
49 additions
and
24 deletions
Show diff stats
courses/static/js/topic.js
1 | var topic = { | 1 | var topic = { |
2 | - get: function (button, url, id_div, faz){ | ||
3 | - if(!$(id_div + ' div').length || faz == 'true'){ | 2 | + get: function (url, id_div, faz,button){ |
3 | + if((!$(id_div + ' div').length) || (faz == 'true')){ | ||
4 | var opened = $("#topics").find(".fa-angle-up"); | 4 | var opened = $("#topics").find(".fa-angle-up"); |
5 | - | 5 | + |
6 | if (opened.length > 0) { | 6 | if (opened.length > 0) { |
7 | opened.removeClass("fa-angle-up"); | 7 | opened.removeClass("fa-angle-up"); |
8 | opened.addClass("fa-angle-down"); | 8 | opened.addClass("fa-angle-down"); |
@@ -16,20 +16,21 @@ var topic = { | @@ -16,20 +16,21 @@ var topic = { | ||
16 | op_topic.find(".loaded").val("false"); | 16 | op_topic.find(".loaded").val("false"); |
17 | } | 17 | } |
18 | 18 | ||
19 | - //Changing button icon | ||
20 | - button.find("i").removeClass('fa-angle-down'); | ||
21 | - button.find("i").addClass('fa-angle-up'); | ||
22 | - | ||
23 | $.get(url, function(data){ | 19 | $.get(url, function(data){ |
24 | $(id_div).empty(); | 20 | $(id_div).empty(); |
25 | $(id_div).append(data); | 21 | $(id_div).append(data); |
26 | }); | 22 | }); |
23 | + if (faz == 'false'){ | ||
24 | + //Changing button icon | ||
25 | + button.find("i").removeClass('fa-angle-down'); | ||
26 | + button.find("i").addClass('fa-angle-up'); | ||
27 | + } | ||
27 | } else { | 28 | } else { |
28 | var loaded = $(id_div).find(".loaded").val(); | 29 | var loaded = $(id_div).find(".loaded").val(); |
29 | 30 | ||
30 | if (loaded == "true") { | 31 | if (loaded == "true") { |
31 | var opened = $("#topics").find(".fa-angle-up"); | 32 | var opened = $("#topics").find(".fa-angle-up"); |
32 | - | 33 | + |
33 | opened.removeClass("fa-angle-up"); | 34 | opened.removeClass("fa-angle-up"); |
34 | opened.addClass("fa-angle-down"); | 35 | opened.addClass("fa-angle-down"); |
35 | var op_topic = opened.parent().parent().parent().parent().parent(); | 36 | var op_topic = opened.parent().parent().parent().parent().parent(); |
@@ -42,7 +43,7 @@ var topic = { | @@ -42,7 +43,7 @@ var topic = { | ||
42 | $(id_div).find(".loaded").val("false"); | 43 | $(id_div).find(".loaded").val("false"); |
43 | } else { | 44 | } else { |
44 | var opened = $("#topics").find(".fa-angle-up"); | 45 | var opened = $("#topics").find(".fa-angle-up"); |
45 | - | 46 | + |
46 | opened.removeClass("fa-angle-up"); | 47 | opened.removeClass("fa-angle-up"); |
47 | opened.addClass("fa-angle-down"); | 48 | opened.addClass("fa-angle-down"); |
48 | var op_topic = opened.parent().parent().parent().parent().parent(); | 49 | var op_topic = opened.parent().parent().parent().parent().parent(); |
@@ -57,7 +58,7 @@ var topic = { | @@ -57,7 +58,7 @@ var topic = { | ||
57 | var opened = $(id_div).parent().parent().find(".fa-angle-down"); | 58 | var opened = $(id_div).parent().parent().find(".fa-angle-down"); |
58 | opened.removeClass("fa-angle-down"); | 59 | opened.removeClass("fa-angle-down"); |
59 | opened.addClass("fa-angle-up"); | 60 | opened.addClass("fa-angle-up"); |
60 | - | 61 | + |
61 | var log_url = $(id_div).find(".log_url").val(); | 62 | var log_url = $(id_div).find(".log_url").val(); |
62 | 63 | ||
63 | topicLog(log_url, 0, 'open', id_div); | 64 | topicLog(log_url, 0, 'open', id_div); |
@@ -93,6 +94,23 @@ var delete_topic = { | @@ -93,6 +94,23 @@ var delete_topic = { | ||
93 | } | 94 | } |
94 | }; | 95 | }; |
95 | 96 | ||
97 | +var RemoveTopic = { | ||
98 | + remove: function(url,dados,id_li_link){ | ||
99 | + $("#topic").modal('toggle'); | ||
100 | + $.post(url,dados, function(data){ | ||
101 | + $(id_li_link).remove(); | ||
102 | + $('body').removeClass('modal-open'); | ||
103 | + $("#modal_subject").empty(); | ||
104 | + $(".modal-backdrop.in").remove(); | ||
105 | + alertify.success("Topic removed successfully!"); | ||
106 | + }).fail(function(){ | ||
107 | + $("#modal_subject").empty(); | ||
108 | + $("#modal_subject").append(data); | ||
109 | + $('#topic').modal('show'); | ||
110 | + }); | ||
111 | + } | ||
112 | +} | ||
113 | + | ||
96 | function topicLog(url, topic_log_id, action, topic_div) { | 114 | function topicLog(url, topic_log_id, action, topic_div) { |
97 | $.ajax({ | 115 | $.ajax({ |
98 | url: url, | 116 | url: url, |
@@ -109,4 +127,4 @@ function topicLog(url, topic_log_id, action, topic_div) { | @@ -109,4 +127,4 @@ function topicLog(url, topic_log_id, action, topic_div) { | ||
109 | console.log(data); | 127 | console.log(data); |
110 | } | 128 | } |
111 | }) | 129 | }) |
112 | -} | ||
113 | \ No newline at end of file | 130 | \ No newline at end of file |
131 | +} |
courses/templates/topic/delete.html
1 | {% load static i18n permission_tags %} | 1 | {% load static i18n permission_tags %} |
2 | 2 | ||
3 | <!-- Modal (remember to change the ids!!!) --> | 3 | <!-- Modal (remember to change the ids!!!) --> |
4 | -<div class="modal fade" id="topic_delete_{{topic.slug}}" tabindex="-1" role="dialog" aria-labelledby="{{topic.slug}}_delete"> | 4 | +<div class="modal fade" id="topic" tabindex="-1" role="dialog" aria-labelledby="{{topic.slug}}_delete"> |
5 | <div class="modal-dialog" role="document"> | 5 | <div class="modal-dialog" role="document"> |
6 | <div class="modal-content"> | 6 | <div class="modal-content"> |
7 | <!-- Modal Header --> | 7 | <!-- Modal Header --> |
@@ -22,6 +22,13 @@ | @@ -22,6 +22,13 @@ | ||
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="topic_form" class="btn btn-primary btn-raised">{% trans "Delete" %}</button> | 24 | <button type="submit" id="button" form="topic_form" class="btn btn-primary btn-raised">{% trans "Delete" %}</button> |
25 | + | ||
26 | + <script> | ||
27 | + $("#topic_form").submit(function(event) { | ||
28 | + RemoveTopic.remove("{% url 'course:delete_topic' topic.slug %}",$(this).serialize(),"#topic_all_{{topic.slug}}"); | ||
29 | + event.preventDefault(); | ||
30 | + }); | ||
31 | + </script> | ||
25 | </div> | 32 | </div> |
26 | </div> | 33 | </div> |
27 | </div> | 34 | </div> |
courses/templates/topic/index.html
1 | {% load i18n professor_access %} | 1 | {% load i18n professor_access %} |
2 | 2 | ||
3 | -<div class="panel panel-default cards-detail"> | 3 | +<div class="panel panel-default cards-detail" id="topic_all_{{topic.slug}}"> |
4 | <div class="panel-heading topic"> | 4 | <div class="panel-heading topic"> |
5 | <div class="row"> | 5 | <div class="row"> |
6 | <div class="col-md-1 moreAccordion" data-toggle="collapse" data-parent="#topics" href=".collapseTopic-{{topic.slug}}" aria-expanded="false" aria-controls="collapseTopic-{{topic.slug}}"> | 6 | <div class="col-md-1 moreAccordion" data-toggle="collapse" data-parent="#topics" href=".collapseTopic-{{topic.slug}}" aria-expanded="false" aria-controls="collapseTopic-{{topic.slug}}"> |
7 | - <button class="btn btn-default btn-sm caret-square" onclick="topic.get($(this), '{% url 'course:view_topic' topic.slug %}', '#content_topic_{{topic.slug}}', 'false');"><i class="fa fa-angle-down fa-2x" aria-hidden="true"></i></button> | 7 | + <button class="btn btn-default btn-sm caret-square" onclick="javascript:topic.get('{% url 'course:view_topic' topic.slug %}', '#content_topic_{{topic.slug}}', 'false',$(this));"><i class="fa fa-angle-down fa-2x" aria-hidden="true"></i></button> |
8 | </div> | 8 | </div> |
9 | <div class="col-xs-9 col-md-9 titleTopic Topic-detail"> | 9 | <div class="col-xs-9 col-md-9 titleTopic Topic-detail"> |
10 | <a role="button"> | 10 | <a role="button"> |
@@ -13,20 +13,20 @@ | @@ -13,20 +13,20 @@ | ||
13 | </div><!--column --> | 13 | </div><!--column --> |
14 | {# dropdown de topic com as opções de replicar, editar e deletar #} | 14 | {# dropdown de topic com as opções de replicar, editar e deletar #} |
15 | {% professor_subject topic.subject user as dropdown_topic %} | 15 | {% professor_subject topic.subject user as dropdown_topic %} |
16 | - {% if dropdown_topic %} | 16 | + {% if dropdown_topic %} |
17 | <div class="col-xs-3 col-md-2 divMoreActions"> | 17 | <div class="col-xs-3 col-md-2 divMoreActions"> |
18 | <div class="btn-group"> | 18 | <div class="btn-group"> |
19 | <button class="btn btn-default btn-sm dropdown-toggle" type="button" id="moreActions" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> | 19 | <button class="btn btn-default btn-sm dropdown-toggle" type="button" id="moreActions" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> |
20 | <i class="fa fa-ellipsis-v fa-2x" aria-hidden="true"></i> | 20 | <i class="fa fa-ellipsis-v fa-2x" aria-hidden="true"></i> |
21 | </button> | 21 | </button> |
22 | 22 | ||
23 | - | 23 | + |
24 | <ul class="dropdown-menu pull-right" aria-labelledby="moreActions"> | 24 | <ul class="dropdown-menu pull-right" aria-labelledby="moreActions"> |
25 | <li><a href="{% url 'course:replicate_topic' topic.slug %}"><i class="fa fa-files-o fa-fw" aria-hidden="true"></i> {% trans "Replicate" %}</a></li> | 25 | <li><a href="{% url 'course:replicate_topic' topic.slug %}"><i class="fa fa-files-o fa-fw" aria-hidden="true"></i> {% trans "Replicate" %}</a></li> |
26 | <li><a href="javascript:topic.get('{% url 'course:update_topic' topic.slug %}','#content_topic_{{topic.slug}}','true');"><i class="fa fa-pencil fa-fw" aria-hidden="true"></i> {% trans "Edit" %}</a></li> | 26 | <li><a href="javascript:topic.get('{% url 'course:update_topic' topic.slug %}','#content_topic_{{topic.slug}}','true');"><i class="fa fa-pencil fa-fw" aria-hidden="true"></i> {% trans "Edit" %}</a></li> |
27 | - <li><a href="javascript:delete_topic.get('{% url 'course:delete_topic' topic.slug %}?view=index','#topic_delete_{{topic.slug}}','#modal_topic');"><i class="fa fa-trash fa-fw" aria-hidden="true"></i> {% trans "Remove" %}</a></li> | 27 | + <li><a href="javascript:delete_topic.get('{% url 'course:delete_topic' topic.slug %}','#topic','#modal_subject');"><i class="fa fa-trash fa-fw" aria-hidden="true"></i> {% trans "Remove" %}</a></li> |
28 | </ul> | 28 | </ul> |
29 | - | 29 | + |
30 | </div> | 30 | </div> |
31 | </div> | 31 | </div> |
32 | {% endif %} | 32 | {% endif %} |
@@ -34,7 +34,7 @@ | @@ -34,7 +34,7 @@ | ||
34 | </div> | 34 | </div> |
35 | <div class="panel-collapse collapseTopic-{{topic.slug}} topic_{{ topic.id }} collapse" role="tabpanel" aria-labelledby="heading_{{topic.id}}" aria-expanded="false" aria-hidden="true"> | 35 | <div class="panel-collapse collapseTopic-{{topic.slug}} topic_{{ topic.id }} collapse" role="tabpanel" aria-labelledby="heading_{{topic.id}}" aria-expanded="false" aria-hidden="true"> |
36 | <div class="panel-body" id="content_topic_{{topic.slug}}"> | 36 | <div class="panel-body" id="content_topic_{{topic.slug}}"> |
37 | - | 37 | + |
38 | </div> | 38 | </div> |
39 | </div> | 39 | </div> |
40 | </div> | 40 | </div> |
courses/templates/topic/update.html
1 | {% load static i18n list_topic_foruns permission_tags widget_tweaks professor_access list_topic_exercises course_value_field %} | 1 | {% load static i18n list_topic_foruns permission_tags widget_tweaks professor_access list_topic_exercises course_value_field %} |
2 | 2 | ||
3 | -<form class="" id="form_topic_update" method="post" action=""> | 3 | +<form class="" id="form_topic_update_{{topic.slug}}" method="post" action=""> |
4 | {% csrf_token %} | 4 | {% csrf_token %} |
5 | {% for field in form %} | 5 | {% for field in form %} |
6 | <div class="form-group {% if field.errors %} has-error{% endif %}"> | 6 | <div class="form-group {% if field.errors %} has-error{% endif %}"> |
@@ -100,15 +100,15 @@ | @@ -100,15 +100,15 @@ | ||
100 | <div class="form-group"> | 100 | <div class="form-group"> |
101 | <div class="col-md-10"> | 101 | <div class="col-md-10"> |
102 | <a href="javascript:topic.get('{% url 'course:view_topic' topic.slug %}','#content_topic_{{topic.slug}}','true');" class="btn btn-raised btn-default">{% trans 'Back' %}</a> | 102 | <a href="javascript:topic.get('{% url 'course:view_topic' topic.slug %}','#content_topic_{{topic.slug}}','true');" class="btn btn-raised btn-default">{% trans 'Back' %}</a> |
103 | - <button type="submite" form="form_topic_update" class="btn btn-raised btn-primary">{% trans 'Submit' %}</a> | 103 | + <button type="submite" form="form_topic_update_{{topic.slug}}" class="btn btn-raised btn-primary">{% trans 'Submit' %}</a> |
104 | </div> | 104 | </div> |
105 | </div> | 105 | </div> |
106 | 106 | ||
107 | <script type="text/javascript"> | 107 | <script type="text/javascript"> |
108 | $(document).ready(function() { | 108 | $(document).ready(function() { |
109 | - $('#id_description').summernote(); | 109 | + $('#id_description').summernote({height:250}); |
110 | }); | 110 | }); |
111 | - $("#form_topic_update").submit(function(event) { | 111 | + $("#form_topic_update_{{topic.slug}}").submit(function(event) { |
112 | topic.post("{% url 'course:update_topic' topic.slug %}",$(this).serialize(), '#content_topic_{{topic.slug}}'); | 112 | topic.post("{% url 'course:update_topic' topic.slug %}",$(this).serialize(), '#content_topic_{{topic.slug}}'); |
113 | event.preventDefault(); | 113 | event.preventDefault(); |
114 | }); | 114 | }); |
courses/views.py
@@ -331,7 +331,7 @@ class CourseView(LoginRequiredMixin, LogMixin, NotificationMixin, generic.Detail | @@ -331,7 +331,7 @@ class CourseView(LoginRequiredMixin, LogMixin, NotificationMixin, generic.Detail | ||
331 | model = Course | 331 | model = Course |
332 | context_object_name = 'course' | 332 | context_object_name = 'course' |
333 | template_name = 'course/view.html' | 333 | template_name = 'course/view.html' |
334 | - | 334 | + |
335 | 335 | ||
336 | def get_context_data(self, **kwargs): | 336 | def get_context_data(self, **kwargs): |
337 | subjects = None | 337 | subjects = None |