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,6 +13,9 @@ class PendenciesForm(forms.ModelForm):
13 13
14 def __init__(self, *args, **kwargs): 14 def __init__(self, *args, **kwargs):
15 super(PendenciesForm, self).__init__(*args, **kwargs) 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 begin_date_check = forms.BooleanField(required = False) 20 begin_date_check = forms.BooleanField(required = False)
18 end_date_check = forms.BooleanField(required = False) 21 end_date_check = forms.BooleanField(required = False)
webpage/views.py
@@ -81,7 +81,7 @@ class CreateView(LoginRequiredMixin, generic.edit.CreateView): @@ -81,7 +81,7 @@ class CreateView(LoginRequiredMixin, generic.edit.CreateView):
81 slug = self.kwargs.get('slug', '') 81 slug = self.kwargs.get('slug', '')
82 topic = get_object_or_404(Topic, slug = slug) 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 return self.render_to_response(self.get_context_data(form = form, pendencies_form = pendencies_form)) 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,7 +94,7 @@ class CreateView(LoginRequiredMixin, generic.edit.CreateView):
94 slug = self.kwargs.get('slug', '') 94 slug = self.kwargs.get('slug', '')
95 topic = get_object_or_404(Topic, slug = slug) 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 if (form.is_valid() and pendencies_form.is_valid()): 99 if (form.is_valid() and pendencies_form.is_valid()):
100 return self.form_valid(form, pendencies_form) 100 return self.form_valid(form, pendencies_form)
@@ -129,9 +129,10 @@ class CreateView(LoginRequiredMixin, generic.edit.CreateView): @@ -129,9 +129,10 @@ class CreateView(LoginRequiredMixin, generic.edit.CreateView):
129 self.object.save() 129 self.object.save()
130 130
131 pendencies_form.instance = self.object 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 if not pend_form.action == "": 137 if not pend_form.action == "":
137 pend_form.save() 138 pend_form.save()
@@ -191,7 +192,7 @@ class UpdateView(LoginRequiredMixin, generic.UpdateView): @@ -191,7 +192,7 @@ class UpdateView(LoginRequiredMixin, generic.UpdateView):
191 slug = self.kwargs.get('topic_slug', '') 192 slug = self.kwargs.get('topic_slug', '')
192 topic = get_object_or_404(Topic, slug = slug) 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 if (form.is_valid() and pendencies_form.is_valid()): 197 if (form.is_valid() and pendencies_form.is_valid()):
197 return self.form_valid(form, pendencies_form) 198 return self.form_valid(form, pendencies_form)
@@ -210,6 +211,7 @@ class UpdateView(LoginRequiredMixin, generic.UpdateView): @@ -210,6 +211,7 @@ class UpdateView(LoginRequiredMixin, generic.UpdateView):
210 self.object.save() 211 self.object.save()
211 212
212 pendencies_form.instance = self.object 213 pendencies_form.instance = self.object
  214 + pendencies_form.save(commit = False)
213 215
214 for form in pendencies_form.forms: 216 for form in pendencies_form.forms:
215 pend_form = form.save(commit = False) 217 pend_form = form.save(commit = False)
@@ -232,7 +234,7 @@ class UpdateView(LoginRequiredMixin, generic.UpdateView): @@ -232,7 +234,7 @@ class UpdateView(LoginRequiredMixin, generic.UpdateView):
232 234
233 if not self.request.POST: 235 if not self.request.POST:
234 context['form'] = WebpageForm(instance=self.object, initial = {'subject': topic.subject}) 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 return context 239 return context
238 240