haikal/scripts/ledger.py
2024-12-25 14:52:36 +00:00

47 lines
1.7 KiB
Python

from django_ledger import models as led
from inventory import models as inv_model
import os
from datetime import date, datetime
from decimal import Decimal
from random import randint, choices, random
from zoneinfo import ZoneInfo
# import django
# for easier visualization it is recommended to use pandas to render data...
# if pandas is not installed, you may install it with this command: pip install -U pandas
# pandas is not a dependecy of django_ledger...
# from django.core.exceptions import ObjectDoesNotExist
# # Set your django settings module if needed...
# os.environ['DJANGO_SETTINGS_MODULE'] = 'dev_env.settings'
# # if using jupyter notebook need to set DJANGO_ALLOW_ASYNC_UNSAFE as "true"
# os.environ['DJANGO_ALLOW_ASYNC_UNSAFE'] = 'true'
# # change your working directory as needed...
# os.chdir('../')
# django.setup()
from django_ledger.models.entity import EntityModel
from django_ledger.models.items import ItemModel
from django_ledger.models.invoice import InvoiceModel
from django_ledger.models.bill import BillModel
from django_ledger.models.estimate import EstimateModel
from django.contrib.auth import get_user_model
from django_ledger.io import roles, DEBIT, CREDIT
from django_ledger.io.io_library import IOBluePrint, IOLibrary
from rich import print
def run():
user = inv_model.Dealer.objects.first().user
entity_name = f"{user}-{user.pk}-{user.date_joined.date()}"
entity = EntityModel.objects.filter(name=f"4-{entity_name}").first()
bank_account_model = entity.create_bank_account(name='A big bank account!',
account_type='checking')
get_bank_accounts = entity.get_bank_accounts()
print(get_bank_accounts)