def save(self, commit=True): change = True if not self.instance.id: self.instance.initiator = consts.IFOPC_INITIATOR_FINANCE_ORG self.instance.save() change = False new_msg = IssueClarificationMessage() new_msg.user = self.user new_msg.message = self.cleaned_data['message'] new_msg.issue = self.instance new_msg.save() for file_field_name in self.files: field_file = self.files[file_field_name] new_ifopcmd_doc = Document() new_ifopcmd_doc.file = field_file new_ifopcmd_doc.save() new_ifopcmd = IssueFinanceOrgProposeClarificationMessageDocument() new_ifopcmd.name = field_file.name new_ifopcmd.clarification_message = new_msg new_ifopcmd.document = new_ifopcmd_doc new_ifopcmd.save() notify_managers_about_new_message_in_chat(new_msg) return super().save(commit)
def save(self, commit=True): if 'file' in self.cleaned_data: new_doc = Document() new_doc.file = self.cleaned_data['file'] new_doc.save() self.instance.sample = new_doc return super().save(commit)
def post(self, request, *args, **kwargs): action = request.POST.get('action', False) if action == 'send_mail': email_form = EmailForm(request.POST) if email_form.is_valid(): client_email = [email_form.cleaned_data['email']] html_template_filename = 'mail/events_for_send_to_user_client/user_sending_documents_to_underwrite.html' context = dict(issue_id=self.get_issue().id) if html_template_filename: msg_tmpl = get_template(html_template_filename) message = msg_tmpl.render(context or {}) send_mail('Документы на согласование', '', None, client_email, html_message=message) elif action == 'send_msg': comment_form = IFOPCMessageForm(request.POST, request.FILES) if comment_form.is_valid(): if self.get_issue( ) and 'issue_additional_documents_requests' not in self.get_issue( ).editable_dashboard_views(): return self.get(request, *args, **kwargs) new_msg = IssueClarificationMessage() new_msg.issue = self.get_issue() new_msg.message = comment_form.cleaned_data['message'] new_msg.user = request.user new_msg.save() for ffield in ['doc%s' % dnum for dnum in range(1, 9)]: ffile = comment_form.cleaned_data[ffield] if ffile: new_doc = Document() new_doc.file = ffile new_doc.save() new_clarif_doc_link = IssueFinanceOrgProposeClarificationMessageDocument( ) new_clarif_doc_link.clarification_message = new_msg new_clarif_doc_link.name = ffile.name new_clarif_doc_link.document = new_doc new_clarif_doc_link.save() new_other_propose_doc = IssueProposeDocument() new_other_propose_doc.issue = self.get_issue() new_other_propose_doc.name = ffile.name new_other_propose_doc.document = new_doc new_other_propose_doc.type = consts.DOCUMENT_TYPE_OTHER new_other_propose_doc.save() notify_managers_about_new_message_in_chat(new_msg) url = reverse('issue_chat', args=[self._issue.id]) return HttpResponseRedirect(url)
def save(self, commit=True): if 'file_sample' in self.cleaned_data: if self.cleaned_data['file_sample']: new_sample = Document() new_sample.file = self.cleaned_data['file_sample'] new_sample.save() self.instance.sample = new_sample else: self.instance.sample = None # self.cleaned_data['sample'] = new_sample return super().save(commit)
def post(self, request, *args, **kwargs): comment_form = IFOPCMessageForm(request.POST, request.FILES) if comment_form.is_valid(): if self.get_issue( ) and 'issue_additional_documents_requests' not in self.get_issue( ).editable_dashboard_views(): return self.get(request, *args, **kwargs) clarification = self._get_clarification() clarification_change = True if not clarification: propose_id = request.GET.get('pid', 0) clarification = IssueClarification() clarification.initiator = consts.IFOPC_INITIATOR_ISSUER clarification.issue = self.get_issue() clarification.save() clarification_change = False new_msg = IssueClarificationMessage() new_msg.clarification = clarification new_msg.message = comment_form.cleaned_data['message'] new_msg.user = request.user new_msg.save() for ffield in ['doc%s' % dnum for dnum in range(1, 9)]: ffile = comment_form.cleaned_data[ffield] if ffile: new_doc = Document() new_doc.file = ffile new_doc.save() new_clarif_doc_link = IssueFinanceOrgProposeClarificationMessageDocument( ) new_clarif_doc_link.clarification_message = new_msg new_clarif_doc_link.name = ffile.name new_clarif_doc_link.document = new_doc new_clarif_doc_link.save() if clarification_change: notify_about_user_adds_message(new_msg) else: notify_about_user_created_clarification(clarification) url = reverse('issue_additional_documents_request', args=[self.get_issue().id, clarification.id]) return HttpResponseRedirect(url) else: kwargs['comment_form'] = comment_form return self.get(request, *args, **kwargs)
def post(self, request, *args, **kwargs): if self.get_issue() and 'issue_scoring' not in self.get_issue( ).editable_dashboard_views(): return self.get(request, *args, **kwargs) proposes_docs = IssueProposeDocument.objects.filter( issue=self.get_issue()) for pdoc in proposes_docs: pdoc_files_key = 'propose_doc_%s' % pdoc.id pdoc_files_del_key = 'propose_doc_%s_del' % pdoc.id pdoc_file = request.FILES.get(pdoc_files_key, None) pdoc_del_mark = request.POST.get(pdoc_files_del_key, None) if pdoc_file: if pdoc.document: pdoc.document.file = pdoc_file pdoc.document.save() else: new_doc = Document() new_doc.file = pdoc_file new_doc.save() pdoc.document = new_doc pdoc.save() if pdoc_del_mark: pdoc.document = None pdoc.save(chain_docs_update=False) action = request.POST.get('action', '') if action == 'send_to_review' and self.get_issue().can_send_for_review: self.get_issue().status = consts.ISSUE_STATUS_REVIEW self.get_issue().save() notify_managers_issue_in_review(self.get_issue()) url = reverse('issue_additional_documents_requests', args=[self.get_issue().id]) return HttpResponseRedirect(url) elif action == 'save': url = reverse('cabinet_requests') return HttpResponseRedirect(url) return self.get(request, *args, **kwargs)
def post(self, request, *args, **kwargs): action = request.POST.get('action', False) if action == 'send_msg': comment_form = IFOPCMessageForm(request.POST, request.FILES) if comment_form.is_valid(): new_msg = IssueClarificationMessage() new_msg.issue = self.get_issue() new_msg.message = comment_form.cleaned_data['message'] new_msg.user = request.user new_msg.save() for ffield in ['doc%s' % dnum for dnum in range(1, 9)]: ffile = comment_form.cleaned_data[ffield] if ffile: new_doc = Document() new_doc.file = ffile new_doc.save() new_clarif_doc_link = IssueFinanceOrgProposeClarificationMessageDocument( ) new_clarif_doc_link.clarification_message = new_msg new_clarif_doc_link.name = ffile.name new_clarif_doc_link.document = new_doc new_clarif_doc_link.save() new_other_propose_doc = IssueProposeDocument() new_other_propose_doc.issue = self.get_issue() new_other_propose_doc.name = ffile.name new_other_propose_doc.document = new_doc new_other_propose_doc.type = consts.DOCUMENT_TYPE_OTHER new_other_propose_doc.save() notify_managers_about_new_message_in_chat(new_msg) url = reverse('issue_chat', args=[self._issue.id]) return HttpResponseRedirect(url)