Commit 3f21f981adb7a2e5311384402695e1bc94e21e14
1 parent
ac77b3e4
Exists in
master
and in
2 other branches
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' | ... | ... |