Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def all_payments():
- ret_hash = {'status': '0', 'error': ''}
- try:
- ##INITIALIZE TABLES NEEDED
- o_payments = g.Base.classes.payments
- o_payment_methods = g.Base.classes.payment_methods
- o_receivable_payments = g.Base.classes.receivable_payments
- o_receivables = g.Base.classes.receivables
- o_invoice_payments = g.Base.classes.invoice_payments
- o_invoices = g.Base.classes.invoices
- o_payment_statuses = g.Base.classes.payment_statuses
- o_account_balances = g.Base.classes.account_balances
- o_accounts = g.Base.classes.accounts
- o_students = g.Base.classes.students
- o_persons = g.Base.classes.persons
- collections = g.db.session.query(
- o_payments.amount_paid,\
- o_payments.payment_date,\
- o_payments.payment_method,\
- o_payments.bank,\
- o_payments.reference_number,\
- o_payments.or_number,\
- o_payment_methods.name,\
- o_receivables.amount_due,\
- o_receivables.payment_due_date,\
- o_students.student_number,\
- o_persons.first_name,\
- o_persons.last_name,\
- o_payments.id,\
- o_payments.payment_status,\
- o_students.student_number,\
- o_payment_methods.option,\
- o_students.account,\
- o_persons.email).\
- filter(o_payments.payment_status==o_payment_statuses.id).\
- filter(o_payments.payment_method==o_payment_methods.id).\
- filter(o_payments.id==o_receivable_payments.payment).\
- filter(o_receivable_payments.receivable==o_receivables.id).\
- filter(o_invoice_payments.receivable==o_receivables.id).\
- filter(o_invoices.id==o_invoice_payments.invoice).\
- filter(o_account_balances.id==o_invoices.account_balance).\
- filter(o_accounts.id==o_account_balances.account).\
- filter(o_students.account==o_accounts.id).\
- filter(o_persons.party==o_accounts.person).\
- group_by(
- o_payments.amount_paid,\
- o_payments.payment_date,\
- o_payments.payment_method,\
- o_payments.bank,\
- o_payments.reference_number,\
- o_payments.or_number,\
- o_payment_methods.id,\
- o_receivables.amount_due,\
- o_receivables.payment_due_date,\
- o_students.student_number,\
- o_persons.first_name,\
- o_persons.last_name,\
- o_payments.id,\
- o_payments.payment_status,\
- o_payment_methods.option,\
- o_students.account,\
- o_persons.email).\
- order_by(o_payments.payment_date.desc()).all()
- ret_hash['data'] = []
- for info in collections:
- stud_name = info.first_name+" "+info.last_name
- status = ""
- if info.payment_status == 1:
- status = "Processing"
- elif info.payment_status == 2:
- status = "Paid"
- if info.name.lower() != 'paynamics':
- tender = str(info.name)+"\n"+info.bank
- else:
- tender = str(info.name)+"\n"+info.option
- pay_status = ""
- if str(info.payment_date) != "None":
- pay_status = str(info.payment_date)
- temp_hash = {
- "trans_id" : "",
- "ref_no" : info.reference_number,
- "or_number" : info.or_number,
- "student_name" : stud_name,
- "payment_date" : pay_status,
- "due_date" : str(info.payment_due_date),
- "amount_due" : float(info.amount_due),
- "amount_paid" : float(info.amount_paid),
- "tender" : tender,
- "student_number" : info.student_number,
- "status" : status,
- "payment_id" : info.id,
- "account_id" : info.account,
- "payment_method" : info.name,
- "email": info.email
- }
- ret_hash['data'].append(temp_hash)
- except Exception as err:
- ret_hash['status'] = -1
- ret_hash['error'] = "Unknown error."
- app.logger.debug("all_payments error : %s " % (err))
- return ret_hash, 500, {'Content-Type': 'application/json; character=utf-8'}
- return ret_hash, 200, {'Content-Type': 'application/json; character=utf-8'}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement