Advertisement
Guest User

tak

a guest
Jan 12th, 2018
106
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 4.50 KB | None | 0 0
  1.        
  2. faktura probuje się wyslac na adres email którego nie ma
  3. klient moze nie mieć adresu email i wtedy się wysypuje
  4.  
  5. @receiver(invoice_post_approve, sender=Invoice,
  6.           dispatch_uid='pulsar.invoice_approved_sms')
  7. def invoice_approved_sms(invoice, **kwargs):
  8.     if getattr(settings, 'DEFAULT_FROM_EMAIL') == 'webmaster@localhost':
  9.         sender = getattr(settings, 'EMAIL_HOST_USER', '')
  10.     else:
  11.         sender = getattr(settings, 'DEFAULT_FROM_EMAIL')
  12.     # if invoice.payment_group.notifications in ['both', 'sms'] and \
  13.     #         invoice.partner.phone_number:
  14.     #     template = SMSTemplate.objects.get(name='e-awizo')
  15.     #     invoice_dict = dict(invoice_number=invoice.number,
  16.     #                         bank_code=invoice.payment_group.bank_code,
  17.     #                         partner_number=invoice.partner.number,
  18.     #                         invoice_brutto=str(invoice.netto.value+invoice.taxes.vat_23.value),
  19.     #                         paid_until=invoice.paid_until.strftime('%d-%m-%Y'),
  20.     #                         phone=invoice.partner.phone_number.national_number)
  21.     #     SMS.objects.create(
  22.     #         recipient=invoice.partner.phone_number,
  23.     #         context={'invoice': invoice_dict},
  24.     #         template=template, priority=PRIORITY.now
  25.     #     )
  26.     # q = ClauseInclusion.objects.filter(
  27.     #     clause_id=1, contract=invoice.payment_group.contract, accepted=False
  28.     #
  29.  
  30. ?????????????????????????????????????????????????????
  31.     if invoice.payment_group.notifications in ['both', 'email'] and q.exists():
  32.         ebok_password = generate_ebok_password(invoice.partner.number)
  33.         mail.send(
  34.             recipients=[invoice.partner.email], !!!!!!!!!!!!!!! //adres email
  35.             template=EmailTemplate.objects.get(name='e-awizo'),
  36.             context={'invoice': invoice, 'ebokpassword': ebok_password,
  37.                      'invoice_brutto':
  38.                          str(invoice.netto.value+invoice.taxes.vat_23.value)},
  39.             priority='now', sender=sender,
  40.             scheduled_time=max(
  41.                 get_current_timezone().localize(
  42.                     datetime.combine(invoice.invoice_date, time(0, 0))
  43.                 ), datetime.now(pytz.utc)
  44.             ),
  45.         )
  46. ???????????????????????????????????????????????????????????????
  47.  
  48.     def approve(self, *args, **kwargs):
  49.         import dms.models
  50.         user = kwargs.pop('user')
  51.         if self.document:
  52.             raise ValueError(u'Faktura już została zatwierdzona.')
  53.         document = kwargs.get('document', None)
  54.         self.operation_date = self.invoice_date if self.revision_to else self.sell_date
  55.         if document:
  56.             self.document = document
  57.             self.concurrent_number, self.invoice_year = self.document._number()
  58.             self.approved_date = datetime.now(get_current_timezone())
  59.             self.approved_by = user
  60.             self.document_number = self.number
  61.         else:
  62.             self.approved_date = datetime.now(get_current_timezone())
  63.             self.approved_by = user
  64.             with tempfile.NamedTemporaryFile() as tmp:
  65.                 document = dms.models.OfficialDocument(
  66.                     company=self.partner,
  67.                     created_by=user,
  68.                     file=File(tmp),
  69.                     comment=_(u'Dokument utworzony z systemu billingowego.'),
  70.                     # TODO: Do usunięcia, jeśli uwspólnione zostaną kategorie
  71.                     category=dms.models.DocumentCategory.objects.get(symbol=self.category.symbol),
  72.                     year=self.invoice_date.year,
  73.                 )
  74.                 self.concurrent_number, self.invoice_year = document._number()
  75.                 document.title = _(u'Faktura nr %s' % self.number)
  76.                 template = get_template(
  77.                     'energyportal/accounting/invoices/pdf/'+self.category.template_name+'.xhtml'
  78.                 )
  79.                 html = template.render(Context({'invoice': self}))
  80.                 HTML(string=html, base_url='', url_fetcher=resource_fetcher).write_pdf(tmp)
  81.                 document.save()
  82.                 self.document = document
  83.             self.document_number = self.number
  84.         invoice_post_approve.send(sender=self.__class__, invoice=self)
  85.         self.assign_payment_from_balance()
  86.         self.save()
  87.         if self.category == self.payment_group.invoice_category:
  88.             self.assign_settlement_payment()
  89.         if self.revision_to:
  90.             self.settle_revised_invoice(self.revision_to
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement