Commit 3f21f981adb7a2e5311384402695e1bc94e21e14

Authored by Jailson Dias
1 parent ac77b3e4

Resolvendo bug do tipo selecionar todos os estudantes não funciona em webpage

Showing 1 changed file with 87 additions and 85 deletions   Show diff stats
webpage/views.py
... ... @@ -116,131 +116,133 @@ class InsideView(LoginRequiredMixin, LogMixin, generic.DetailView):
116 116 return context
117 117  
118 118 class CreateView(LoginRequiredMixin, LogMixin, generic.edit.CreateView):
119   - log_component = 'resources'
120   - log_action = 'create'
121   - log_resource = 'webpage'
122   - log_context = {}
  119 + log_component = 'resources'
  120 + log_action = 'create'
  121 + log_resource = 'webpage'
  122 + log_context = {}
123 123  
124   - login_url = reverse_lazy("users:login")
125   - redirect_field_name = 'next'
  124 + login_url = reverse_lazy("users:login")
  125 + redirect_field_name = 'next'
126 126  
127   - template_name = 'webpages/create.html'
128   - form_class = WebpageForm
  127 + template_name = 'webpages/create.html'
  128 + form_class = WebpageForm
129 129  
130   - def dispatch(self, request, *args, **kwargs):
131   - slug = self.kwargs.get('slug', '')
132   - topic = get_object_or_404(Topic, slug = slug)
  130 + def dispatch(self, request, *args, **kwargs):
  131 + slug = self.kwargs.get('slug', '')
  132 + topic = get_object_or_404(Topic, slug = slug)
133 133  
134   - if not has_subject_permissions(request.user, topic.subject):
135   - return redirect(reverse_lazy('subjects:home'))
  134 + if not has_subject_permissions(request.user, topic.subject):
  135 + return redirect(reverse_lazy('subjects:home'))
136 136  
137   - return super(CreateView, self).dispatch(request, *args, **kwargs)
  137 + return super(CreateView, self).dispatch(request, *args, **kwargs)
138 138  
139   - def get(self, request, *args, **kwargs):
140   - self.object = None
  139 + def get(self, request, *args, **kwargs):
  140 + self.object = None
141 141  
142   - form_class = self.get_form_class()
143   - form = self.get_form(form_class)
  142 + form_class = self.get_form_class()
  143 + form = self.get_form(form_class)
144 144  
145   - slug = self.kwargs.get('slug', '')
146   - topic = get_object_or_404(Topic, slug = slug)
  145 + slug = self.kwargs.get('slug', '')
  146 + topic = get_object_or_404(Topic, slug = slug)
147 147  
148   - pendencies_form = PendenciesForm(initial = {'subject': topic.subject.id, 'actions': [("", "-------"),("view", _("Visualize"))]})
  148 + pendencies_form = PendenciesForm(initial = {'subject': topic.subject.id, 'actions': [("", "-------"),("view", _("Visualize"))]})
149 149  
150   - return self.render_to_response(self.get_context_data(form = form, pendencies_form = pendencies_form))
  150 + return self.render_to_response(self.get_context_data(form = form, pendencies_form = pendencies_form))
151 151  
152   - def post(self, request, *args, **kwargs):
153   - self.object = None
  152 + def post(self, request, *args, **kwargs):
  153 + self.object = None
154 154  
155   - form_class = self.get_form_class()
156   - form = self.get_form(form_class)
  155 + form_class = self.get_form_class()
  156 + form = self.get_form(form_class)
157 157  
158   - slug = self.kwargs.get('slug', '')
159   - topic = get_object_or_404(Topic, slug = slug)
  158 + slug = self.kwargs.get('slug', '')
  159 + topic = get_object_or_404(Topic, slug = slug)
160 160  
161   - pendencies_form = PendenciesForm(self.request.POST, initial = {'subject': topic.subject.id, 'actions': [("", "-------"),("view", _("Visualize"))]})
  161 + pendencies_form = PendenciesForm(self.request.POST, initial = {'subject': topic.subject.id, 'actions': [("", "-------"),("view", _("Visualize"))]})
162 162  
163   - if (form.is_valid() and pendencies_form.is_valid()):
164   - return self.form_valid(form, pendencies_form)
165   - else:
166   - return self.form_invalid(form, pendencies_form)
  163 + if (form.is_valid() and pendencies_form.is_valid()):
  164 + return self.form_valid(form, pendencies_form)
  165 + else:
  166 + return self.form_invalid(form, pendencies_form)
167 167  
168   - def get_initial(self):
169   - initial = super(CreateView, self).get_initial()
  168 + def get_initial(self):
  169 + initial = super(CreateView, self).get_initial()
170 170  
171   - slug = self.kwargs.get('slug', '')
  171 + slug = self.kwargs.get('slug', '')
172 172  
173   - topic = get_object_or_404(Topic, slug = slug)
174   - initial['subject'] = topic.subject
  173 + topic = get_object_or_404(Topic, slug = slug)
  174 + initial['subject'] = topic.subject
175 175  
176   - return initial
  176 + return initial
177 177  
178   - def form_invalid(self, form, pendencies_form):
179   - return self.render_to_response(self.get_context_data(form = form, pendencies_form = pendencies_form))
  178 + def form_invalid(self, form, pendencies_form):
  179 + return self.render_to_response(self.get_context_data(form = form, pendencies_form = pendencies_form))
180 180  
181   - def form_valid(self, form, pendencies_form):
182   - self.object = form.save(commit = False)
  181 + def form_valid(self, form, pendencies_form):
  182 + self.object = form.save(commit = False)
  183 + slug = self.kwargs.get('slug', '')
  184 + topic = get_object_or_404(Topic, slug = slug)
183 185  
184   - slug = self.kwargs.get('slug', '')
185   - topic = get_object_or_404(Topic, slug = slug)
  186 + self.object.topic = topic
  187 + self.object.order = topic.resource_topic.count() + 1
186 188  
187   - self.object.topic = topic
188   - self.object.order = topic.resource_topic.count() + 1
  189 + if not self.object.topic.visible and not self.object.topic.repository:
  190 + self.object.visible = False
189 191  
190   - if not self.object.topic.visible and not self.object.topic.repository:
191   - self.object.visible = False
192 192  
193   - self.object.save()
  193 + if form.cleaned_data["all_students"]:
  194 + self.object.students.add(*self.object.topic.subject.students.all())
  195 + self.object.save()
194 196  
195   - pend_form = pendencies_form.save(commit = False)
196   - pend_form.resource = self.object
  197 + pend_form = pendencies_form.save(commit = False)
  198 + pend_form.resource = self.object
197 199  
198   - if not pend_form.action == "":
199   - pend_form.save()
  200 + if not pend_form.action == "":
  201 + pend_form.save()
200 202  
201   - self.log_context['category_id'] = self.object.topic.subject.category.id
202   - self.log_context['category_name'] = self.object.topic.subject.category.name
203   - self.log_context['category_slug'] = self.object.topic.subject.category.slug
204   - self.log_context['subject_id'] = self.object.topic.subject.id
205   - self.log_context['subject_name'] = self.object.topic.subject.name
206   - self.log_context['subject_slug'] = self.object.topic.subject.slug
207   - self.log_context['topic_id'] = self.object.topic.id
208   - self.log_context['topic_name'] = self.object.topic.name
209   - self.log_context['topic_slug'] = self.object.topic.slug
210   - self.log_context['webpage_id'] = self.object.id
211   - self.log_context['webpage_name'] = self.object.name
212   - self.log_context['webpage_slug'] = self.object.slug
  203 + self.log_context['category_id'] = self.object.topic.subject.category.id
  204 + self.log_context['category_name'] = self.object.topic.subject.category.name
  205 + self.log_context['category_slug'] = self.object.topic.subject.category.slug
  206 + self.log_context['subject_id'] = self.object.topic.subject.id
  207 + self.log_context['subject_name'] = self.object.topic.subject.name
  208 + self.log_context['subject_slug'] = self.object.topic.subject.slug
  209 + self.log_context['topic_id'] = self.object.topic.id
  210 + self.log_context['topic_name'] = self.object.topic.name
  211 + self.log_context['topic_slug'] = self.object.topic.slug
  212 + self.log_context['webpage_id'] = self.object.id
  213 + self.log_context['webpage_name'] = self.object.name
  214 + self.log_context['webpage_slug'] = self.object.slug
213 215  
214   - super(CreateView, self).createLog(self.request.user, self.log_component, self.log_action, self.log_resource, self.log_context)
  216 + super(CreateView, self).createLog(self.request.user, self.log_component, self.log_action, self.log_resource, self.log_context)
215 217  
216   - return redirect(self.get_success_url())
  218 + return redirect(self.get_success_url())
217 219  
218   - def get_context_data(self, **kwargs):
219   - context = super(CreateView, self).get_context_data(**kwargs)
  220 + def get_context_data(self, **kwargs):
  221 + context = super(CreateView, self).get_context_data(**kwargs)
220 222  
221   - context['title'] = _('Create Webpage')
  223 + context['title'] = _('Create Webpage')
222 224  
223   - slug = self.kwargs.get('slug', '')
224   - topic = get_object_or_404(Topic, slug = slug)
  225 + slug = self.kwargs.get('slug', '')
  226 + topic = get_object_or_404(Topic, slug = slug)
225 227  
226   - context['topic'] = topic
227   - context['subject'] = topic.subject
  228 + context['topic'] = topic
  229 + context['subject'] = topic.subject
228 230  
229   - return context
  231 + return context
230 232  
231   - def get_success_url(self):
232   - messages.success(self.request, _('The Webpage "%s" was added to the Topic "%s" of the virtual environment "%s" successfully!')%(self.object.name, self.object.topic.name, self.object.topic.subject.name))
  233 + def get_success_url(self):
  234 + messages.success(self.request, _('The Webpage "%s" was added to the Topic "%s" of the virtual environment "%s" successfully!')%(self.object.name, self.object.topic.name, self.object.topic.subject.name))
233 235  
234   - success_url = reverse_lazy('webpages:view', kwargs = {'slug': self.object.slug})
  236 + success_url = reverse_lazy('webpages:view', kwargs = {'slug': self.object.slug})
235 237  
236   - if self.object.show_window:
237   - self.request.session['resources'] = {}
238   - self.request.session['resources']['new_page'] = True
239   - self.request.session['resources']['new_page_url'] = reverse('webpages:window_view', kwargs = {'slug': self.object.slug})
  238 + if self.object.show_window:
  239 + self.request.session['resources'] = {}
  240 + self.request.session['resources']['new_page'] = True
  241 + self.request.session['resources']['new_page_url'] = reverse('webpages:window_view', kwargs = {'slug': self.object.slug})
240 242  
241   - success_url = reverse_lazy('subjects:view', kwargs = {'slug': self.object.topic.subject.slug})
  243 + success_url = reverse_lazy('subjects:view', kwargs = {'slug': self.object.topic.subject.slug})
242 244  
243   - return success_url
  245 + return success_url
244 246  
245 247 class UpdateView(LoginRequiredMixin, LogMixin, generic.UpdateView):
246 248 log_component = 'resources'
... ...