Ejemplo n.º 1
0
    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)
Ejemplo n.º 2
0
 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)
Ejemplo n.º 3
0
    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)
Ejemplo n.º 4
0
 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)
Ejemplo n.º 5
0
    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)
Ejemplo n.º 6
0
    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)
Ejemplo n.º 7
0
    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)