Commit b4a4de0b71df0831f69c75aac77292f857a2f8af
1 parent
97fc3606
Exists in
master
and in
2 other branches
Changes in new_window view and update view of the bulletin
Showing
1 changed file
with
58 additions
and
1 deletions
Show diff stats
bulletin/views.py
@@ -63,8 +63,32 @@ class NewWindowView(LoginRequiredMixin, LogMixin, generic.DetailView): | @@ -63,8 +63,32 @@ class NewWindowView(LoginRequiredMixin, LogMixin, generic.DetailView): | ||
63 | 63 | ||
64 | return super(NewWindowView, self).dispatch(request, *args, **kwargs) | 64 | return super(NewWindowView, self).dispatch(request, *args, **kwargs) |
65 | 65 | ||
66 | + def post(self, request, *args, **kwargs): | ||
67 | + difficulties = self.request.POST.get('difficulties', None) | ||
68 | + | ||
69 | + slug = self.kwargs.get('slug', '') | ||
70 | + bulletin = get_object_or_404(Bulletin, slug=slug) | ||
71 | + | ||
72 | + self.object = bulletin | ||
73 | + | ||
74 | + if not difficulties is None and not difficulties == "": | ||
75 | + message = _("#Dificulty(ies) found in %s")%(str(bulletin)) + ":<p>" + difficulties + "</p>" | ||
76 | + | ||
77 | + brodcast_dificulties(self.request, message, bulletin.topic.subject) | ||
78 | + | ||
79 | + messages.success(self.request, message = _("Difficulties sent to the subject professor(s)")) | ||
80 | + return self.render_to_response(context = self.get_context_data()) | ||
81 | + else: | ||
82 | + messages.error(self.request, message = _("You should inform some difficulty")) | ||
83 | + return self.render_to_response(context = self.get_context_data()) | ||
84 | + | ||
66 | def get_context_data(self, **kwargs): | 85 | def get_context_data(self, **kwargs): |
67 | context = super(NewWindowView, self).get_context_data(**kwargs) | 86 | context = super(NewWindowView, self).get_context_data(**kwargs) |
87 | + context['title'] = self.object.name | ||
88 | + | ||
89 | + context['topic'] = self.object.topic | ||
90 | + context['subject'] = self.object.topic.subject | ||
91 | + | ||
68 | 92 | ||
69 | self.log_context['category_id'] = self.object.topic.subject.category.id | 93 | self.log_context['category_id'] = self.object.topic.subject.category.id |
70 | self.log_context['category_name'] = self.object.topic.subject.category.name | 94 | self.log_context['category_name'] = self.object.topic.subject.category.name |
@@ -85,6 +109,32 @@ class NewWindowView(LoginRequiredMixin, LogMixin, generic.DetailView): | @@ -85,6 +109,32 @@ class NewWindowView(LoginRequiredMixin, LogMixin, generic.DetailView): | ||
85 | 109 | ||
86 | self.request.session['log_id'] = Log.objects.latest('id').id | 110 | self.request.session['log_id'] = Log.objects.latest('id').id |
87 | 111 | ||
112 | + topic = self.object.topic | ||
113 | + | ||
114 | + meta_geral = Goals.objects.get(topic=topic) | ||
115 | + metas = GoalItem.objects.filter(goal = meta_geral) | ||
116 | + metas_pessoais = [] | ||
117 | + n_submeteu = False | ||
118 | + for m in metas: | ||
119 | + if MyGoals.objects.filter(item = m, user = self.request.user).exists(): | ||
120 | + metas_pessoais.append(MyGoals.objects.get(item = m, user = self.request.user)) | ||
121 | + n_submeteu = False | ||
122 | + else: | ||
123 | + n_submeteu = True | ||
124 | + | ||
125 | + itens_da_meta = sorted(list(metas), key = lambda met: met.id) | ||
126 | + metas_pessoais = sorted(list(metas_pessoais), key = lambda me: me.id) | ||
127 | + lista_metas = [{'description':geral.description, 'desejada':geral.ref_value} for geral in itens_da_meta ] | ||
128 | + | ||
129 | + for x in range(len(lista_metas)): | ||
130 | + if n_submeteu: | ||
131 | + lista_metas[x]['estabelecida'] = lista_metas[x]['desejada'] | ||
132 | + else: | ||
133 | + lista_metas[x]['estabelecida'] = metas_pessoais[x].value | ||
134 | + | ||
135 | + context['metas'] = lista_metas | ||
136 | + | ||
137 | + | ||
88 | return context | 138 | return context |
89 | 139 | ||
90 | class InsideView(LoginRequiredMixin, LogMixin, generic.DetailView): | 140 | class InsideView(LoginRequiredMixin, LogMixin, generic.DetailView): |
@@ -164,7 +214,7 @@ class InsideView(LoginRequiredMixin, LogMixin, generic.DetailView): | @@ -164,7 +214,7 @@ class InsideView(LoginRequiredMixin, LogMixin, generic.DetailView): | ||
164 | for m in metas: | 214 | for m in metas: |
165 | if MyGoals.objects.filter(item = m, user = self.request.user).exists(): | 215 | if MyGoals.objects.filter(item = m, user = self.request.user).exists(): |
166 | metas_pessoais.append(MyGoals.objects.get(item = m, user = self.request.user)) | 216 | metas_pessoais.append(MyGoals.objects.get(item = m, user = self.request.user)) |
167 | - n_submeteu = False | 217 | + n_submeteu = False |
168 | else: | 218 | else: |
169 | n_submeteu = True | 219 | n_submeteu = True |
170 | 220 | ||
@@ -474,6 +524,13 @@ class UpdateView(LoginRequiredMixin, LogMixin, generic.UpdateView): | @@ -474,6 +524,13 @@ class UpdateView(LoginRequiredMixin, LogMixin, generic.UpdateView): | ||
474 | context['topic'] = topic | 524 | context['topic'] = topic |
475 | context['subject'] = topic.subject | 525 | context['subject'] = topic.subject |
476 | 526 | ||
527 | + meta_geral = Goals.objects.get(topic=topic) | ||
528 | + metas = GoalItem.objects.filter(goal = meta_geral) | ||
529 | + itens_da_meta = sorted(list(metas), key = lambda met: met.id) | ||
530 | + alunos = sorted(list(meta_geral.topic.subject.students.all()), key = lambda e: e.id) | ||
531 | + create_excel_file(alunos, itens_da_meta,meta_geral) | ||
532 | + context['goal_file'] = str(meta_geral.slug)+".xls" | ||
533 | + | ||
477 | return context | 534 | return context |
478 | 535 | ||
479 | def get_success_url(self): | 536 | def get_success_url(self): |