Commit bc6a96943659351649070991708f735504521765

Authored by Zambom
1 parent b117fa2e

Resolving webpage creation error

Showing 2 changed files with 12 additions and 7 deletions   Show diff stats
pendencies/forms.py
... ... @@ -13,6 +13,9 @@ class PendenciesForm(forms.ModelForm):
13 13  
14 14 def __init__(self, *args, **kwargs):
15 15 super(PendenciesForm, self).__init__(*args, **kwargs)
  16 +
  17 + if kwargs.get('initial', None):
  18 + self.fields['action'].choices = kwargs['initial'].get('actions', [])
16 19  
17 20 begin_date_check = forms.BooleanField(required = False)
18 21 end_date_check = forms.BooleanField(required = False)
... ...
webpage/views.py
... ... @@ -81,7 +81,7 @@ class CreateView(LoginRequiredMixin, generic.edit.CreateView):
81 81 slug = self.kwargs.get('slug', '')
82 82 topic = get_object_or_404(Topic, slug = slug)
83 83  
84   - pendencies_form = InlinePendenciesFormset(initial = [{'subject': topic.subject.id}])
  84 + pendencies_form = InlinePendenciesFormset(initial = [{'subject': topic.subject.id, 'actions': [("", "-------"),("view", _("Visualize"))]}])
85 85  
86 86 return self.render_to_response(self.get_context_data(form = form, pendencies_form = pendencies_form))
87 87  
... ... @@ -94,7 +94,7 @@ class CreateView(LoginRequiredMixin, generic.edit.CreateView):
94 94 slug = self.kwargs.get('slug', '')
95 95 topic = get_object_or_404(Topic, slug = slug)
96 96  
97   - pendencies_form = InlinePendenciesFormset(self.request.POST, initial = [{'subject': topic.subject.id}])
  97 + pendencies_form = InlinePendenciesFormset(self.request.POST, initial = [{'subject': topic.subject.id, 'actions': [("", "-------"),("view", _("Visualize"))]}])
98 98  
99 99 if (form.is_valid() and pendencies_form.is_valid()):
100 100 return self.form_valid(form, pendencies_form)
... ... @@ -129,9 +129,10 @@ class CreateView(LoginRequiredMixin, generic.edit.CreateView):
129 129 self.object.save()
130 130  
131 131 pendencies_form.instance = self.object
132   -
133   - for form in pendencies_form.forms:
134   - pend_form = form.save(commit = False)
  132 + pendencies_form.save(commit = False)
  133 +
  134 + for pform in pendencies_form.forms:
  135 + pend_form = pform.save(commit = False)
135 136  
136 137 if not pend_form.action == "":
137 138 pend_form.save()
... ... @@ -191,7 +192,7 @@ class UpdateView(LoginRequiredMixin, generic.UpdateView):
191 192 slug = self.kwargs.get('topic_slug', '')
192 193 topic = get_object_or_404(Topic, slug = slug)
193 194  
194   - pendencies_form = InlinePendenciesFormset(self.request.POST, instance = self.object, initial = [{'subject': topic.subject.id}])
  195 + pendencies_form = InlinePendenciesFormset(self.request.POST, instance = self.object, initial = [{'subject': topic.subject.id, 'actions': [("", "-------"),("view", _("Visualize"))]}])
195 196  
196 197 if (form.is_valid() and pendencies_form.is_valid()):
197 198 return self.form_valid(form, pendencies_form)
... ... @@ -210,6 +211,7 @@ class UpdateView(LoginRequiredMixin, generic.UpdateView):
210 211 self.object.save()
211 212  
212 213 pendencies_form.instance = self.object
  214 + pendencies_form.save(commit = False)
213 215  
214 216 for form in pendencies_form.forms:
215 217 pend_form = form.save(commit = False)
... ... @@ -232,7 +234,7 @@ class UpdateView(LoginRequiredMixin, generic.UpdateView):
232 234  
233 235 if not self.request.POST:
234 236 context['form'] = WebpageForm(instance=self.object, initial = {'subject': topic.subject})
235   - context['pendencies_form'] = InlinePendenciesFormset(instance=self.object, initial = [{'subject': topic.subject.id}])
  237 + context['pendencies_form'] = InlinePendenciesFormset(instance=self.object, initial = [{'subject': topic.subject.id, 'actions': [("", "-------"),("view", _("Visualize"))]}])
236 238  
237 239 return context
238 240  
... ...