Skip to content

Commit

Permalink
Merge pull request #822 from xzzy/master
Browse files Browse the repository at this point in the history
Change ledger invoice header
  • Loading branch information
xzzy committed Sep 25, 2020
2 parents 824364d + 7210bb4 commit 29e11e1
Show file tree
Hide file tree
Showing 5 changed files with 62 additions and 2 deletions.
3 changes: 3 additions & 0 deletions ledger/accounts/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -320,17 +320,20 @@ def clean(self):
post_clean.send(sender=self.__class__, instance=self)

def save(self, *args, **kwargs):
print ("SAVE")
if not self.email:
self.email = self.get_dummy_email()
elif in_dbca_domain(self):
# checks and updates department user details from address book after every login
user_details = get_department_user_compact(self.email)
print ("DBCA")
if user_details:
self.phone_number = user_details.get('telephone')
self.mobile_number = user_details.get('mobile_phone')
self.title = user_details.get('title')
self.fax_number = user_details.get('org_unit__location__fax')
self.is_staff = True
print ("TT")
self.email = self.email.lower()
super(EmailUser, self).save(*args, **kwargs)

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.10.8 on 2020-09-25 03:27
from __future__ import unicode_literals

from django.db import migrations, models


class Migration(migrations.Migration):

dependencies = [
('bpoint', '0012_bpointtransaction_original_crn1'),
]

operations = [
migrations.AddField(
model_name='bpointtransaction',
name='integrity_check',
field=models.BooleanField(default=False),
),
]
3 changes: 2 additions & 1 deletion ledger/payments/bpoint/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,8 @@ class BpointTransaction(models.Model):
dvtoken = models.CharField(max_length=128,null=True,blank=True,help_text='Stored card dv token')
last_digits = models.CharField(max_length=4,blank=True,null=True,help_text='Last four digits of card used during checkout')
is_test = models.BooleanField(default=False,help_text='Transaction is in test mode')

integrity_check = models.BooleanField(default=False)

class Meta:
ordering = ('-created',)
db_table = 'payments_bpointtransaction'
Expand Down
2 changes: 1 addition & 1 deletion ledger/payments/pdf.py
Original file line number Diff line number Diff line change
Expand Up @@ -194,7 +194,7 @@ def _create_header(canvas, doc, draw_page_number=True):
canvas.drawImage(dpaw_header_logo, PAGE_WIDTH / 3, current_y - (dpaw_header_logo_size[1]/2),width=dpaw_header_logo_size[0]/2, height=dpaw_header_logo_size[1]/2, mask='auto')

current_y -= 70
canvas.drawCentredString(PAGE_WIDTH / 2, current_y - LARGE_FONTSIZE, 'TAX INVOICE')
canvas.drawCentredString(PAGE_WIDTH / 2, current_y - LARGE_FONTSIZE, 'TAX INVOICE / RECEIPT')

current_y -= 20
canvas.drawCentredString(PAGE_WIDTH / 2, current_y - LARGE_FONTSIZE, 'ABN: 38 052 249 024')
Expand Down
36 changes: 36 additions & 0 deletions ledger/payments/utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,8 @@
from six.moves.urllib.parse import urlparse
#
from ledger.payments.models import OracleParser, OracleParserInvoice, Invoice, OracleInterface, OracleInterfaceSystem, BpointTransaction, BpayTransaction, OracleAccountCode, OracleOpenPeriod, OracleInterfaceDeduction
from oscar.apps.order.models import Order
from ledger.basket.models import Basket
from oscar.core.loading import get_class
from confy import env
from decimal import Decimal
Expand Down Expand Up @@ -786,3 +788,37 @@ def update_payments_allocation(invoice_reference):
print(traceback.print_exc())
raise


def bpoint_integrity_checks(system,days,rowlimit):
rows = []
if rowlimit is None:
rowlimit = 10
if days is None:
days = 5
fromdays = datetime.datetime.today() - datetime.timedelta(days=days)

bt = BpointTransaction.objects.filter(crn1__istartswith=system, integrity_check=False, created__gt=fromdays).order_by('-id')[:rowlimit]
for b in bt:
i = Invoice.objects.filter(reference=b.crn1)
if i.count() > 0:
o = Order.objects.filter(number=i[0].order_number)
if o.count() > 0:
if o[0].basket:
if o[0].basket.booking_reference is not None:
if len(o[0].basket.booking_reference) > 0:
rows.append({'bpoint_id': b.id ,'reference': b.crn1, 'order_number': i[0].order_number, 'basket': o[0].basket.id, 'booking_reference': o[0].basket.booking_reference})

return rows

def bpoint_integrity_checks_completed(bpoint_id,crn1):
try:
bpt = BpointTransaction.objects.filter(id=bpoint_id,crn1=crn1)
if bpt.count() > 0:
for b in bpt:
b.integrity_check = True
b.save()
return True
return False
except:
return False

0 comments on commit 29e11e1

Please sign in to comment.