django-ledger 0.7.11__py3-none-any.whl → 0.8.1__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of django-ledger might be problematic. Click here for more details.
- django_ledger/__init__.py +1 -1
- django_ledger/context.py +12 -0
- django_ledger/forms/account.py +45 -46
- django_ledger/forms/bill.py +0 -4
- django_ledger/forms/closing_entry.py +13 -1
- django_ledger/forms/data_import.py +182 -63
- django_ledger/forms/estimate.py +3 -6
- django_ledger/forms/invoice.py +3 -7
- django_ledger/forms/item.py +10 -18
- django_ledger/forms/purchase_order.py +2 -4
- django_ledger/io/io_core.py +515 -400
- django_ledger/io/io_generator.py +7 -6
- django_ledger/io/io_library.py +1 -2
- django_ledger/migrations/0025_alter_billmodel_cash_account_and_more.py +70 -0
- django_ledger/migrations/0026_stagedtransactionmodel_customer_model_and_more.py +56 -0
- django_ledger/models/__init__.py +2 -1
- django_ledger/models/accounts.py +109 -69
- django_ledger/models/bank_account.py +40 -23
- django_ledger/models/bill.py +386 -333
- django_ledger/models/chart_of_accounts.py +173 -105
- django_ledger/models/closing_entry.py +99 -48
- django_ledger/models/customer.py +100 -66
- django_ledger/models/data_import.py +818 -323
- django_ledger/models/deprecations.py +61 -0
- django_ledger/models/entity.py +891 -644
- django_ledger/models/estimate.py +57 -28
- django_ledger/models/invoice.py +46 -26
- django_ledger/models/items.py +503 -142
- django_ledger/models/journal_entry.py +61 -47
- django_ledger/models/ledger.py +106 -42
- django_ledger/models/mixins.py +424 -281
- django_ledger/models/purchase_order.py +39 -17
- django_ledger/models/receipt.py +1083 -0
- django_ledger/models/transactions.py +242 -139
- django_ledger/models/unit.py +93 -54
- django_ledger/models/utils.py +12 -2
- django_ledger/models/vendor.py +121 -70
- django_ledger/report/core.py +2 -14
- django_ledger/settings.py +57 -71
- django_ledger/static/django_ledger/bundle/djetler.bundle.js +1 -1
- django_ledger/static/django_ledger/bundle/djetler.bundle.js.LICENSE.txt +25 -0
- django_ledger/static/django_ledger/bundle/styles.bundle.js +1 -1
- django_ledger/static/django_ledger/css/djl_styles.css +273 -0
- django_ledger/templates/django_ledger/bills/includes/card_bill.html +2 -2
- django_ledger/templates/django_ledger/components/menu.html +41 -26
- django_ledger/templates/django_ledger/components/period_navigator.html +5 -3
- django_ledger/templates/django_ledger/customer/customer_detail.html +87 -0
- django_ledger/templates/django_ledger/customer/customer_list.html +0 -1
- django_ledger/templates/django_ledger/customer/tags/customer_table.html +8 -6
- django_ledger/templates/django_ledger/data_import/tags/data_import_job_txs_imported.html +24 -3
- django_ledger/templates/django_ledger/data_import/tags/data_import_job_txs_table.html +26 -10
- django_ledger/templates/django_ledger/entity/entity_dashboard.html +2 -2
- django_ledger/templates/django_ledger/entity/includes/card_entity.html +12 -6
- django_ledger/templates/django_ledger/financial_statements/balance_sheet.html +1 -1
- django_ledger/templates/django_ledger/financial_statements/cash_flow.html +4 -1
- django_ledger/templates/django_ledger/financial_statements/income_statement.html +4 -1
- django_ledger/templates/django_ledger/financial_statements/tags/balance_sheet_statement.html +27 -3
- django_ledger/templates/django_ledger/financial_statements/tags/cash_flow_statement.html +16 -4
- django_ledger/templates/django_ledger/financial_statements/tags/income_statement.html +73 -18
- django_ledger/templates/django_ledger/includes/widget_ratios.html +18 -24
- django_ledger/templates/django_ledger/invoice/includes/card_invoice.html +3 -3
- django_ledger/templates/django_ledger/layouts/base.html +7 -2
- django_ledger/templates/django_ledger/layouts/content_layout_1.html +1 -1
- django_ledger/templates/django_ledger/receipt/customer_receipt_report.html +115 -0
- django_ledger/templates/django_ledger/receipt/receipt_delete.html +30 -0
- django_ledger/templates/django_ledger/receipt/receipt_detail.html +89 -0
- django_ledger/templates/django_ledger/receipt/receipt_list.html +134 -0
- django_ledger/templates/django_ledger/receipt/vendor_receipt_report.html +115 -0
- django_ledger/templates/django_ledger/vendor/tags/vendor_table.html +12 -7
- django_ledger/templates/django_ledger/vendor/vendor_detail.html +86 -0
- django_ledger/templatetags/django_ledger.py +338 -191
- django_ledger/tests/test_accounts.py +1 -2
- django_ledger/tests/test_io.py +17 -0
- django_ledger/tests/test_purchase_order.py +3 -3
- django_ledger/tests/test_transactions.py +1 -2
- django_ledger/urls/__init__.py +1 -4
- django_ledger/urls/customer.py +3 -0
- django_ledger/urls/data_import.py +3 -0
- django_ledger/urls/receipt.py +102 -0
- django_ledger/urls/vendor.py +1 -0
- django_ledger/views/__init__.py +1 -0
- django_ledger/views/bill.py +8 -11
- django_ledger/views/chart_of_accounts.py +6 -4
- django_ledger/views/closing_entry.py +11 -7
- django_ledger/views/customer.py +68 -30
- django_ledger/views/data_import.py +120 -66
- django_ledger/views/djl_api.py +3 -5
- django_ledger/views/entity.py +2 -4
- django_ledger/views/estimate.py +3 -7
- django_ledger/views/inventory.py +3 -5
- django_ledger/views/invoice.py +4 -6
- django_ledger/views/item.py +7 -11
- django_ledger/views/journal_entry.py +1 -2
- django_ledger/views/mixins.py +125 -93
- django_ledger/views/purchase_order.py +24 -35
- django_ledger/views/receipt.py +294 -0
- django_ledger/views/unit.py +1 -2
- django_ledger/views/vendor.py +54 -16
- {django_ledger-0.7.11.dist-info → django_ledger-0.8.1.dist-info}/METADATA +43 -75
- {django_ledger-0.7.11.dist-info → django_ledger-0.8.1.dist-info}/RECORD +104 -122
- {django_ledger-0.7.11.dist-info → django_ledger-0.8.1.dist-info}/WHEEL +1 -1
- django_ledger-0.8.1.dist-info/top_level.txt +1 -0
- django_ledger/contrib/django_ledger_graphene/__init__.py +0 -0
- django_ledger/contrib/django_ledger_graphene/accounts/schema.py +0 -33
- django_ledger/contrib/django_ledger_graphene/api.py +0 -42
- django_ledger/contrib/django_ledger_graphene/apps.py +0 -6
- django_ledger/contrib/django_ledger_graphene/auth/mutations.py +0 -49
- django_ledger/contrib/django_ledger_graphene/auth/schema.py +0 -6
- django_ledger/contrib/django_ledger_graphene/bank_account/mutations.py +0 -61
- django_ledger/contrib/django_ledger_graphene/bank_account/schema.py +0 -34
- django_ledger/contrib/django_ledger_graphene/bill/mutations.py +0 -0
- django_ledger/contrib/django_ledger_graphene/bill/schema.py +0 -34
- django_ledger/contrib/django_ledger_graphene/coa/mutations.py +0 -0
- django_ledger/contrib/django_ledger_graphene/coa/schema.py +0 -30
- django_ledger/contrib/django_ledger_graphene/customers/__init__.py +0 -0
- django_ledger/contrib/django_ledger_graphene/customers/mutations.py +0 -71
- django_ledger/contrib/django_ledger_graphene/customers/schema.py +0 -43
- django_ledger/contrib/django_ledger_graphene/data_import/mutations.py +0 -0
- django_ledger/contrib/django_ledger_graphene/data_import/schema.py +0 -0
- django_ledger/contrib/django_ledger_graphene/entity/mutations.py +0 -0
- django_ledger/contrib/django_ledger_graphene/entity/schema.py +0 -94
- django_ledger/contrib/django_ledger_graphene/item/mutations.py +0 -0
- django_ledger/contrib/django_ledger_graphene/item/schema.py +0 -31
- django_ledger/contrib/django_ledger_graphene/journal_entry/mutations.py +0 -0
- django_ledger/contrib/django_ledger_graphene/journal_entry/schema.py +0 -35
- django_ledger/contrib/django_ledger_graphene/ledger/mutations.py +0 -0
- django_ledger/contrib/django_ledger_graphene/ledger/schema.py +0 -32
- django_ledger/contrib/django_ledger_graphene/purchase_order/mutations.py +0 -0
- django_ledger/contrib/django_ledger_graphene/purchase_order/schema.py +0 -31
- django_ledger/contrib/django_ledger_graphene/transaction/mutations.py +0 -0
- django_ledger/contrib/django_ledger_graphene/transaction/schema.py +0 -36
- django_ledger/contrib/django_ledger_graphene/unit/mutations.py +0 -0
- django_ledger/contrib/django_ledger_graphene/unit/schema.py +0 -27
- django_ledger/contrib/django_ledger_graphene/vendor/mutations.py +0 -0
- django_ledger/contrib/django_ledger_graphene/vendor/schema.py +0 -37
- django_ledger/contrib/django_ledger_graphene/views.py +0 -12
- django_ledger-0.7.11.dist-info/top_level.txt +0 -4
- {django_ledger-0.7.11.dist-info → django_ledger-0.8.1.dist-info/licenses}/AUTHORS.md +0 -0
- {django_ledger-0.7.11.dist-info → django_ledger-0.8.1.dist-info/licenses}/LICENSE +0 -0
django_ledger/forms/item.py
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
from django.forms import ModelForm, TextInput, Select
|
|
1
|
+
from django.forms import ModelForm, TextInput, Select
|
|
2
2
|
from django.utils.translation import gettext_lazy as _
|
|
3
3
|
|
|
4
4
|
from django_ledger.io.roles import GROUP_INCOME, ASSET_CA_INVENTORY, GROUP_EXPENSES, GROUP_COGS
|
|
@@ -48,7 +48,6 @@ class ProductCreateForm(ModelForm):
|
|
|
48
48
|
|
|
49
49
|
accounts_qs = AccountModel.objects.for_entity(
|
|
50
50
|
entity_model=self.ENTITY_SLUG,
|
|
51
|
-
user_model=self.USER_MODEL
|
|
52
51
|
).with_roles(
|
|
53
52
|
roles=self.PRODUCT_OR_SERVICE_ROLES
|
|
54
53
|
).active()
|
|
@@ -62,8 +61,7 @@ class ProductCreateForm(ModelForm):
|
|
|
62
61
|
|
|
63
62
|
if 'uom' in self.fields:
|
|
64
63
|
uom_qs = UnitOfMeasureModel.objects.for_entity_active(
|
|
65
|
-
|
|
66
|
-
user_model=self.USER_MODEL
|
|
64
|
+
entity_model=self.ENTITY_SLUG
|
|
67
65
|
)
|
|
68
66
|
self.fields['uom'].queryset = uom_qs
|
|
69
67
|
|
|
@@ -142,8 +140,7 @@ class ServiceCreateForm(ModelForm):
|
|
|
142
140
|
super().__init__(*args, **kwargs)
|
|
143
141
|
|
|
144
142
|
accounts_qs = AccountModel.objects.for_entity(
|
|
145
|
-
entity_model=self.ENTITY_SLUG
|
|
146
|
-
user_model=self.USER_MODEL
|
|
143
|
+
entity_model=self.ENTITY_SLUG
|
|
147
144
|
).with_roles(
|
|
148
145
|
roles=self.SERVICE_ROLES,
|
|
149
146
|
).active()
|
|
@@ -156,8 +153,7 @@ class ServiceCreateForm(ModelForm):
|
|
|
156
153
|
|
|
157
154
|
if 'uom' in self.fields:
|
|
158
155
|
uom_qs = UnitOfMeasureModel.objects.for_entity_active(
|
|
159
|
-
|
|
160
|
-
user_model=self.USER_MODEL
|
|
156
|
+
entity_model=self.ENTITY_SLUG,
|
|
161
157
|
)
|
|
162
158
|
self.fields['uom'].queryset = uom_qs
|
|
163
159
|
|
|
@@ -229,8 +225,7 @@ class ExpenseItemCreateForm(ModelForm):
|
|
|
229
225
|
super().__init__(*args, **kwargs)
|
|
230
226
|
|
|
231
227
|
accounts_qs = AccountModel.objects.for_entity(
|
|
232
|
-
entity_model=self.ENTITY_SLUG
|
|
233
|
-
user_model=self.USER_MODEL
|
|
228
|
+
entity_model=self.ENTITY_SLUG
|
|
234
229
|
).with_roles(
|
|
235
230
|
roles=GROUP_EXPENSES
|
|
236
231
|
).active()
|
|
@@ -239,9 +234,8 @@ class ExpenseItemCreateForm(ModelForm):
|
|
|
239
234
|
|
|
240
235
|
if 'uom' in self.fields:
|
|
241
236
|
uom_qs = UnitOfMeasureModel.objects.for_entity(
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
)
|
|
237
|
+
entity_model=self.ENTITY_SLUG
|
|
238
|
+
).for_user(user_model=self.USER_MODEL)
|
|
245
239
|
self.fields['uom'].queryset = uom_qs
|
|
246
240
|
|
|
247
241
|
class Meta:
|
|
@@ -313,18 +307,16 @@ class InventoryItemCreateForm(ModelForm):
|
|
|
313
307
|
self.USER_MODEL = user_model
|
|
314
308
|
super().__init__(*args, **kwargs)
|
|
315
309
|
|
|
316
|
-
|
|
310
|
+
inventory_account_qs = AccountModel.objects.for_entity(
|
|
317
311
|
entity_model=self.ENTITY_SLUG,
|
|
318
|
-
user_model=self.USER_MODEL
|
|
319
312
|
).with_roles(
|
|
320
313
|
roles=[ASSET_CA_INVENTORY]
|
|
321
314
|
).active()
|
|
322
|
-
self.fields['inventory_account'].queryset =
|
|
315
|
+
self.fields['inventory_account'].queryset = inventory_account_qs
|
|
323
316
|
|
|
324
317
|
if 'uom' in self.fields:
|
|
325
318
|
uom_qs = UnitOfMeasureModel.objects.for_entity_active(
|
|
326
|
-
|
|
327
|
-
user_model=self.USER_MODEL
|
|
319
|
+
entity_model=self.ENTITY_SLUG,
|
|
328
320
|
)
|
|
329
321
|
self.fields['uom'].queryset = uom_qs
|
|
330
322
|
|
|
@@ -155,13 +155,11 @@ class BasePurchaseOrderItemFormset(BaseModelFormSet):
|
|
|
155
155
|
self.PO_MODEL = po_model
|
|
156
156
|
|
|
157
157
|
items_qs = ItemModel.objects.for_po(
|
|
158
|
-
|
|
159
|
-
user_model=self.USER_MODEL
|
|
158
|
+
entity_model=self.ENTITY_SLUG,
|
|
160
159
|
)
|
|
161
160
|
|
|
162
161
|
unit_qs = EntityUnitModel.objects.for_entity(
|
|
163
|
-
|
|
164
|
-
user_model=self.USER_MODEL
|
|
162
|
+
entity_model=self.ENTITY_SLUG
|
|
165
163
|
)
|
|
166
164
|
|
|
167
165
|
for form in self.forms:
|