def initial_forms(self, check_post=True): if self.http_request.method == 'POST' and self.http_request.POST.get( 'register-submit') and check_post: self.register_form = ProjectForm(self.http_request.POST, self.http_request.FILES, prefix='project', user=self.http_request.user) else: self.register_form = ProjectForm(prefix='project', user=self.http_request.user)
def action_view(self, http_request, selected_instances): if not selected_instances: raise Http404() instance = selected_instances[0] if instance.project_status > 0 and not instance.allow_edit: ProjectMilestoneForm = inlineformset_factory(Project, ProjectMilestone, form=MilestoneForm, extra=0) form = ProjectManagerForm(instance=instance) for field in form.fields: form.fields[field].widget.attrs.update({ 'readonly': 'readonly', 'disabled': 'disabled' }) inline_form = None if instance.project_status > 1: inline_form = ProjectMilestoneForm(instance=instance, prefix='project_milestone') inline_form.readonly = True messages.error( http_request, u"طرح شما در جریان افتاده است و امکان ویرایش آن وجود ندارد.") return render_to_response( 'project/show_project.html', { 'form': form, 'inline_form': inline_form, 'title': u"جزئیات طرح", 'has_comments': False }, context_instance=RequestContext(http_request)) if http_request.method == 'POST': form = ProjectForm(http_request.POST, http_request.FILES, instance=instance, user=http_request.user) if form.is_valid(): form.save() form = None messages.success(http_request, u"ویرایش طرح با موفقیت انجام شد.") else: form = ProjectForm(instance=instance, user=http_request.user) return render_to_response( 'project/edit_project.html', { 'register_form': form, 'title': u"بررسی طرح" }, context_instance=RequestContext(http_request))