Esempio n. 1
0
def load_invoices(file='../data/invoices.json'):
    input_file = open(file, encoding='utf-8')
    json_array = json.load(input_file)

    for inv in json_array:
        company = Company.query.get(inv['company_id'])
        buyer = Contact.query.get(inv['buyer_id'])
        user = User.query.get(inv['user_id'])

        issue_date = dt.datetime.strptime(inv['issue_date'], '%Y-%m-%d')
        due_date = dt.datetime.strptime(inv['due_date'], '%Y-%m-%d')

        invoice = Invoice(issue_date=issue_date,
                          due_date=due_date,
                          payment_form=inv['payment_form'],
                          type=inv['type'],
                          invoice_buyer=buyer,
                          invoice_company=company,
                          invoice_author=user)
        invoice.create_serial_number()
        db.session.add(invoice)
        load_invoice_items(inv['items'], invoice)
        invoice.total_sum = sum([item['total_price'] for item in inv['items']])
    db.session.commit()