From 3d09e4f34f760043cd69025f7c9ad764e908c352 Mon Sep 17 00:00:00 2001 From: RunasSudo Date: Sun, 10 Sep 2023 19:36:33 +1000 Subject: [PATCH] austax: Show current year CGT adjustments on CGT assets report --- austax/models.py | 16 +++++++++++++++- austax/templates/cgt_assets.html | 4 ++-- 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/austax/models.py b/austax/models.py index d2f0566..95c3be1 100644 --- a/austax/models.py +++ b/austax/models.py @@ -17,6 +17,8 @@ from drcr.database import db from drcr.models import Amount +from .reports import eofy_date + class CGTAsset(Amount): def __init__(self, quantity, commodity, account, acquisition_date): super().__init__(quantity, commodity) @@ -36,9 +38,21 @@ class CGTAsset(Amount): return self.commodity[:self.commodity.index('{')].strip() def cost_adjustment(self): - # TODO: brought forward vs current period return Amount(sum(a.cost_adjustment for a in self.cost_adjustments), '$') + def cost_adjustment_brought_forward(self): + date1 = eofy_date() + date1 = date1.replace(year=date1.year - 1) + + return Amount(sum(a.cost_adjustment for a in self.cost_adjustments if a.dt <= date1), '$') + + def cost_adjustment_current_period(self): + date1 = eofy_date() + date1 = date1.replace(year=date1.year - 1) + date2 = eofy_date() + + return Amount(sum(a.cost_adjustment for a in self.cost_adjustments if a.dt > date1 and a.dt <= date2), '$') + def gain(self): return self.disposal_value - (self.as_cost() + self.cost_adjustment()) diff --git a/austax/templates/cgt_assets.html b/austax/templates/cgt_assets.html index 5b999dc..9e08fb8 100644 --- a/austax/templates/cgt_assets.html +++ b/austax/templates/cgt_assets.html @@ -55,8 +55,8 @@ {{ asset.format('hide') }} {{ asset.acquisition_date.strftime('%Y-%m-%d') }} {{ asset.as_cost().format() }} - {{ asset.cost_adjustment().format_accounting(link=url_for('cgt_adjustments', account=asset.account, commodity=asset.commodity, quantity=asset.quantity, acquisition_date=asset.acquisition_date.strftime('%Y-%m-%d'))) if asset.cost_adjustments }} - {# TODO #} + {{ asset.cost_adjustment_brought_forward().format_accounting(link=url_for('cgt_adjustments', account=asset.account, commodity=asset.commodity, quantity=asset.quantity, acquisition_date=asset.acquisition_date.strftime('%Y-%m-%d'))) if asset.cost_adjustment_brought_forward().quantity != 0 }} + {{ asset.cost_adjustment_current_period().format_accounting(link=url_for('cgt_adjustments', account=asset.account, commodity=asset.commodity, quantity=asset.quantity, acquisition_date=asset.acquisition_date.strftime('%Y-%m-%d'))) if asset.cost_adjustment_current_period().quantity != 0 }} {{ asset.disposal_date.strftime('%Y-%m-%d') if asset.disposal_date else '' }} {{ asset.disposal_value.format() if asset.disposal_value else '' }}