def save(self, commit=True): assert self.is_valid() inforequest = Inforequest(applicant=self.cleaned_data[u'applicant'], ) @after_saved(inforequest) def deferred(inforequest): branch = Branch( inforequest=inforequest, obligee=self.cleaned_data[u'obligee'], ) branch.save() action = Action( branch=branch, type=Action.TYPES.REQUEST, subject=self.cleaned_data[u'subject'], content=self.cleaned_data[u'content'], effective_date=inforequest.submission_date, ) action.save() action.attachment_set = self.cleaned_data[u'attachments'] if self.cleaned_data[u'send_email']: action.send_by_email() if commit: inforequest.save() return inforequest
def save(self, commit=True): assert self.is_valid() inforequest = Inforequest( applicant=self.cleaned_data[u'applicant'], ) @after_saved(inforequest) def deferred(inforequest): branch = Branch( inforequest=inforequest, obligee=self.cleaned_data[u'obligee'], ) branch.save() action = Action( branch=branch, type=Action.TYPES.REQUEST, subject=self.cleaned_data[u'subject'], content=self.cleaned_data[u'content'], effective_date=inforequest.submission_date, ) action.save() action.attachment_set = self.cleaned_data[u'attachments'] if self.cleaned_data[u'send_email']: action.send_by_email() if commit: inforequest.save() return inforequest
def inforequest_create(request, draft_pk=None): template = u'inforequests/create/create.html' draft = InforequestDraft.objects.owned_by(request.user).get_or_404( pk=draft_pk) if draft_pk else None session = Session.objects.get(session_key=request.session.session_key) attached_to = (session, draft) if draft else (session, ) if request.method != u'POST': form = InforequestForm(attached_to=attached_to, user=request.user) if draft: form.load_from_draft(draft) return render(request, template, dict(form=form)) button = clean_button(request.POST, [u'submit', u'draft']) if button == u'draft': form = InforequestForm(request.POST, draft=True, attached_to=attached_to, user=request.user) if not form.is_valid(): return render(request, template, dict(form=form)) if not draft: draft = InforequestDraft(applicant=request.user) form.save_to_draft(draft) draft.save() return HttpResponseRedirect(reverse(u'inforequests:index')) if button == u'submit': form = InforequestForm(request.POST, attached_to=attached_to, user=request.user) if not form.is_valid(): return render(request, template, dict(form=form)) inforequest = Inforequest(applicant=request.user) form.save(inforequest) inforequest.save() inforequest.main_branch.last_action.send_by_email() if draft: draft.delete() return HttpResponseRedirect(inforequest.get_absolute_url()) return HttpResponseBadRequest()
def inforequest_create(request, draft_pk=None): template = u'inforequests/create.html' draft = InforequestDraft.objects.owned_by(request.user).get_or_404(pk=draft_pk) if draft_pk else None session = Session.objects.get(session_key=request.session.session_key) attached_to = (session, draft) if draft else (session,) if request.method != u'POST': form = InforequestForm(attached_to=attached_to, user=request.user) if draft: form.load_from_draft(draft) return render(request, template, dict(form=form)) button = clean_button(request.POST, [u'submit', u'draft']) if button == u'draft': form = InforequestForm(request.POST, draft=True, attached_to=attached_to, user=request.user) if not form.is_valid(): return render(request, template, dict(form=form)) if not draft: draft = InforequestDraft(applicant=request.user) form.save_to_draft(draft) draft.save() return HttpResponseRedirect(reverse(u'inforequests:index')) if button == u'submit': form = InforequestForm(request.POST, attached_to=attached_to, user=request.user) if not form.is_valid(): return render(request, template, dict(form=form)) inforequest = Inforequest(applicant=request.user) form.save(inforequest) inforequest.save() inforequest.main_branch.last_action.send_by_email() if draft: draft.delete() return HttpResponseRedirect(reverse(u'inforequests:detail', args=(inforequest.pk,))) return HttpResponseBadRequest()