def handle(self, *args, **options): activate(settings.LANGUAGE_CODE) logging.basicConfig() companyInfo = CompanyInfo.objects.get(user__id=options["user"]) if options["currency"]: currency = Thing.objects.get(code=options["currency"]) else: currency = Thing.objects.get_default() processCredit(companyInfo, int(options["value"]), currency, "manual set credit")
def handle(self, *args, **options): activate(settings.LANGUAGE_CODE) logging.basicConfig() companyInfo = CompanyInfo.objects.get(phone=options['num']) if options['currency']: currency = Thing.objects.get(code=options['currency']) else: currency = Thing.objects.get_default() processCredit(companyInfo, -int(options['value']), currency, 'manual lower credit')
def process_charging(self, chargings, chargeday): """ Subtracts credit and generates charging info mails. """ for (cInfo, _), chargeinfo in chargings.items(): if cInfo.user_id == settings.OUR_COMPANY_ID: return # do not charge myself price = chargeinfo.pop('totalprice') currency = Thing.objects.get_default() contractor = CompanyInfo.objects.get_our_company_info() details = '\n'.join(['%s:%s' % (k, v) for k, v in chargeinfo.items()]) # subtract credit currCredit = processCredit(cInfo, -price, currency, details, contractor.bankaccount) # send info mail mailContent = render_to_string('vpnadmin/infoMail.html', { 'invoice': chargeinfo, 'state': currCredit, 'price': price, 'cinfo': cInfo, 'domain': Site.objects.get_current(), }) subject = ugettext('phone service info') cInfo.user.email_user(subject, mailContent)
def testProcessCredit(self): """ Test account notification command. """ cInfo = self._chooseCompany() currency = Thing.objects.get_default() amount = -4000 contractor = CompanyInfo.objects.get_our_company_info() processCredit(cInfo, amount, currency, "pokus", contractor.bankaccount) try: CreditChangeRecord.objects.get(change=amount, company=cInfo) except CreditChangeRecord.DoesNotExist: raise AssertionError("CreditChangeRecord not exists") self._verifyOutMessage(to=[cInfo.user.email], subject=_("credit call"))
def processInvoices(invoices, billURL): for invoice, cinfo in invoices: if cinfo.user_id == settings.OUR_COMPANY_ID: continue price = sum(invoice.values()) currency = Thing.objects.get_default() contractor = CompanyInfo.objects.get_our_company_info() details = "\n".join(["%s:%s" % (k, v) for k, v in invoice.items()]) currCredit = processCredit(cinfo, -price, currency, details, contractor.bankaccount) mailContent = render_to_string( "vpnadmin/infoMail.html", { "invoice": invoice, "state": currCredit, "billURL": billURL, "price": price, "cinfo": cinfo, "domain": Site.objects.get_current(), }, ) subject = ugettext("phone service info") cinfo.user.email_user(subject, mailContent)