Commit 781db60eae51fb534b48dd9c1898ff0468748650
1 parent
f12fc61b
Exists in
master
and in
5 other branches
ajustes em criar e responder enquete #379
Showing
5 changed files
with
31 additions
and
18 deletions
Show diff stats
courses/templatetags/list_topic_foruns.py
... | ... | @@ -4,6 +4,7 @@ from links.models import Link |
4 | 4 | from forum.models import Forum |
5 | 5 | from poll.models import Poll |
6 | 6 | from files.models import TopicFile |
7 | +from django.db.models import Q | |
7 | 8 | register = template.Library() |
8 | 9 | |
9 | 10 | """ |
... | ... | @@ -27,8 +28,13 @@ def list_topic_poll(request, topic): |
27 | 28 | context = { |
28 | 29 | 'request': request, |
29 | 30 | } |
30 | - | |
31 | - context['polls'] = Poll.objects.filter(topic = topic) | |
31 | + all_polls = Poll.objects.filter(topic = topic) | |
32 | + my_polls = [] | |
33 | + for poll in all_polls.all(): | |
34 | + if ((request.user in poll.students.all()) | |
35 | + or request.user in poll.topic.subject.professors.all()): | |
36 | + my_polls.append(poll) | |
37 | + context['polls'] = my_polls | |
32 | 38 | context['topic'] = topic |
33 | 39 | |
34 | 40 | return context | ... | ... |
poll/static/js/modal_poll.js
1 | -// | |
2 | -// //controles do modal | |
3 | -// $(window).ready(function() { // utilizado para abrir o modal quando tiver tido algum erro no preenchimento do formulario | |
4 | -// if($('.not_submited').length){ | |
5 | -// $('#poll').modal('show'); | |
6 | -// } | |
7 | -// }); | |
8 | 1 | |
9 | 2 | var Answer = { |
10 | 3 | init: function(url) { // utilizado para adicionar um novo campo de resposta |
... | ... | @@ -38,7 +31,8 @@ var Submite = { |
38 | 31 | } |
39 | 32 | }); |
40 | 33 | $("#requisicoes_ajax").empty(); |
41 | - alertify.alert('Poll successfully created!'); | |
34 | + $('body').removeClass('modal-open'); | |
35 | + alertify.success('Poll successfully created!'); | |
42 | 36 | $("div.modal-backdrop.fade.in").remove(); |
43 | 37 | }).fail(function(data){ |
44 | 38 | $("div.modal-backdrop.fade.in").remove(); |
... | ... | @@ -52,7 +46,8 @@ var Submite = { |
52 | 46 | $.post(url,dados, function(data){ |
53 | 47 | $('#list-topic-'+ slug_topic +'-poll #'+slug_poll).replaceWith(data); |
54 | 48 | $('#list-topic-'+ slug_topic +'-poll #'+slug_poll).replaceWith(data); |
55 | - alertify.alert('Poll successfully updated!') | |
49 | + $('body').removeClass('modal-open'); | |
50 | + alertify.success('Poll successfully updated!') | |
56 | 51 | }).fail(function(data){ |
57 | 52 | $("div.modal-backdrop.fade.in").remove(); |
58 | 53 | $("#requisicoes_ajax").empty(); |
... | ... | @@ -65,12 +60,25 @@ var Submite = { |
65 | 60 | $.post(url,dados, function(data){ |
66 | 61 | $(id_li_link).remove(); |
67 | 62 | $(id_li_link+"_div").remove(); |
63 | + $('body').removeClass('modal-open'); | |
68 | 64 | $("#requisicoes_ajax").empty(); |
69 | 65 | $("div.modal-backdrop.fade.in").remove(); |
66 | + alertify.success('Poll successfully removed') | |
70 | 67 | }).fail(function(){ |
71 | 68 | $("#requisicoes_ajax").empty(); |
72 | 69 | $("#requisicoes_ajax").append(data); |
73 | 70 | $('#poll').modal('show'); |
74 | 71 | }); |
72 | + }, | |
73 | + answer: function(url,dados){ | |
74 | + $('#poll').modal('hide'); | |
75 | + $.post(url,dados, function(data){ | |
76 | + alertify.success('Poll successfully answered!') | |
77 | + }).fail(function(data){ | |
78 | + $("div.modal-backdrop.fade.in").remove(); | |
79 | + $("#requisicoes_ajax").empty(); | |
80 | + $("#requisicoes_ajax").append(data.responseText); | |
81 | + $('#poll').modal('show'); | |
82 | + }); | |
75 | 83 | } |
76 | 84 | } | ... | ... |
poll/templates/poll/answer_student.html
... | ... | @@ -27,7 +27,7 @@ |
27 | 27 | <button type="submite" id="button" form="answer_form" class="btn btn-primary btn-raised">{% trans "Answer" %}</button> |
28 | 28 | <script> |
29 | 29 | $("#answer_form").submit(function(event) { |
30 | - Submite.post("{% url 'course:poll:answer_student_poll' poll.slug %}",$(this).serialize()); | |
30 | + Submite.answer("{% url 'course:poll:answer_student_poll' poll.slug %}",$(this).serialize()); | |
31 | 31 | event.preventDefault(); |
32 | 32 | }); |
33 | 33 | </script> | ... | ... |
poll/templates/poll/view.html
... | ... | @@ -30,6 +30,6 @@ |
30 | 30 | {% block button_save %} |
31 | 31 | <!-- Put curtom buttons here!!! --> |
32 | 32 | {% if not status %} |
33 | -<button type="button" onclick="javascript:modal.get('{% url 'course:poll:answer_student_poll' poll.slug%}','#poll','#modal_poll');$('div.modal-backdrop.fade.in').remove();" class="btn btn-primary btn-raised">{% trans "Answer" %}</button> | |
33 | +<button type="button" onclick="javascript:modal.get('{% url 'course:poll:answer_student_poll' poll.slug%}','#poll','#requisicoes_ajax');$('div.modal-backdrop.fade.in').remove();" class="btn btn-primary btn-raised">{% trans "Answer" %}</button> | |
34 | 34 | {% endif %} |
35 | 35 | {% endblock button_save %} | ... | ... |
poll/views.py
... | ... | @@ -116,6 +116,10 @@ class CreatePoll(LoginRequiredMixin,HasRoleMixin, LogMixin, NotificationMixin,ge |
116 | 116 | answer = Answer(answer=self.request.POST[key],order=key,poll=self.object) |
117 | 117 | answer.save() |
118 | 118 | |
119 | + if (self.request.POST.get('all_students')): | |
120 | + for student in topic.subject.students.all(): | |
121 | + self.object.students.add(student) | |
122 | + | |
119 | 123 | self.log_context['poll_id'] = self.object.id |
120 | 124 | self.log_context['poll_slug'] = self.object.slug |
121 | 125 | self.log_context['topic_id'] = self.object.topic.id |
... | ... | @@ -136,11 +140,6 @@ class CreatePoll(LoginRequiredMixin,HasRoleMixin, LogMixin, NotificationMixin,ge |
136 | 140 | "edit":reverse_lazy('course:poll:render_poll_edit', kwargs={'slug' : self.object.slug}), |
137 | 141 | }) |
138 | 142 | |
139 | - | |
140 | - # def get_success_url(self): | |
141 | - # self.success_url = redirect('course:poll:render_poll', slug = self.object.slug) | |
142 | - # return self.success_url | |
143 | - | |
144 | 143 | def get_context_data(self, **kwargs): |
145 | 144 | context = super(CreatePoll, self).get_context_data(**kwargs) |
146 | 145 | topic = get_object_or_404(Topic, slug = self.kwargs.get('slug')) | ... | ... |