netbox-contract 2.2.2__tar.gz → 2.2.3__tar.gz
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.
- {netbox_contract-2.2.2/src/netbox_contract.egg-info → netbox_contract-2.2.3}/PKG-INFO +1 -1
- {netbox_contract-2.2.2 → netbox_contract-2.2.3}/pyproject.toml +1 -1
- {netbox_contract-2.2.2 → netbox_contract-2.2.3}/src/netbox_contract/__init__.py +1 -1
- {netbox_contract-2.2.2 → netbox_contract-2.2.3}/src/netbox_contract/api/serializers.py +1 -1
- {netbox_contract-2.2.2 → netbox_contract-2.2.3}/src/netbox_contract/forms.py +10 -2
- {netbox_contract-2.2.2 → netbox_contract-2.2.3}/src/netbox_contract/views.py +1 -1
- {netbox_contract-2.2.2 → netbox_contract-2.2.3/src/netbox_contract.egg-info}/PKG-INFO +1 -1
- {netbox_contract-2.2.2 → netbox_contract-2.2.3}/LICENSE +0 -0
- {netbox_contract-2.2.2 → netbox_contract-2.2.3}/MANIFEST.in +0 -0
- {netbox_contract-2.2.2 → netbox_contract-2.2.3}/README.md +0 -0
- {netbox_contract-2.2.2 → netbox_contract-2.2.3}/setup.cfg +0 -0
- {netbox_contract-2.2.2 → netbox_contract-2.2.3}/setup.py +0 -0
- {netbox_contract-2.2.2 → netbox_contract-2.2.3}/src/netbox_contract/api/__init__.py +0 -0
- {netbox_contract-2.2.2 → netbox_contract-2.2.3}/src/netbox_contract/api/urls.py +0 -0
- {netbox_contract-2.2.2 → netbox_contract-2.2.3}/src/netbox_contract/api/views.py +0 -0
- {netbox_contract-2.2.2 → netbox_contract-2.2.3}/src/netbox_contract/constants.py +0 -0
- {netbox_contract-2.2.2 → netbox_contract-2.2.3}/src/netbox_contract/filtersets.py +0 -0
- {netbox_contract-2.2.2 → netbox_contract-2.2.3}/src/netbox_contract/migrations/0001_initial.py +0 -0
- {netbox_contract-2.2.2 → netbox_contract-2.2.3}/src/netbox_contract/migrations/0002_alter_contract_circuit_and_more.py +0 -0
- {netbox_contract-2.2.2 → netbox_contract-2.2.3}/src/netbox_contract/migrations/0003_alter_contract_custom_field_data_and_more.py +0 -0
- {netbox_contract-2.2.2 → netbox_contract-2.2.3}/src/netbox_contract/migrations/0004_contract_currency_invoice_currency.py +0 -0
- {netbox_contract-2.2.2 → netbox_contract-2.2.3}/src/netbox_contract/migrations/0005_contract_accounting_dimensions_and_more.py +0 -0
- {netbox_contract-2.2.2 → netbox_contract-2.2.3}/src/netbox_contract/migrations/0006_alter_contract_circuit.py +0 -0
- {netbox_contract-2.2.2 → netbox_contract-2.2.3}/src/netbox_contract/migrations/0007_invoice_date.py +0 -0
- {netbox_contract-2.2.2 → netbox_contract-2.2.3}/src/netbox_contract/migrations/0008_invoice_comments.py +0 -0
- {netbox_contract-2.2.2 → netbox_contract-2.2.3}/src/netbox_contract/migrations/0009_contract_external_reference.py +0 -0
- {netbox_contract-2.2.2 → netbox_contract-2.2.3}/src/netbox_contract/migrations/0010_invoice_contracts.py +0 -0
- {netbox_contract-2.2.2 → netbox_contract-2.2.3}/src/netbox_contract/migrations/0011_auto_20230122_2112.py +0 -0
- {netbox_contract-2.2.2 → netbox_contract-2.2.3}/src/netbox_contract/migrations/0012_remove_invoice_contract.py +0 -0
- {netbox_contract-2.2.2 → netbox_contract-2.2.3}/src/netbox_contract/migrations/0013_contract_documents_invoice_documents.py +0 -0
- {netbox_contract-2.2.2 → netbox_contract-2.2.3}/src/netbox_contract/migrations/0014_contract_end_date.py +0 -0
- {netbox_contract-2.2.2 → netbox_contract-2.2.3}/src/netbox_contract/migrations/0015_contractassignement.py +0 -0
- {netbox_contract-2.2.2 → netbox_contract-2.2.3}/src/netbox_contract/migrations/0016_contract_parent.py +0 -0
- {netbox_contract-2.2.2 → netbox_contract-2.2.3}/src/netbox_contract/migrations/0017_alter_contract_accounting_dimensions.py +0 -0
- {netbox_contract-2.2.2 → netbox_contract-2.2.3}/src/netbox_contract/migrations/0018_contract_external_partie_object_id_and_more.py +0 -0
- {netbox_contract-2.2.2 → netbox_contract-2.2.3}/src/netbox_contract/migrations/0019_auto_20230924_1813.py +0 -0
- {netbox_contract-2.2.2 → netbox_contract-2.2.3}/src/netbox_contract/migrations/0020_alter_contract_external_partie.py +0 -0
- {netbox_contract-2.2.2 → netbox_contract-2.2.3}/src/netbox_contract/migrations/0021_alter_contract_external_partie.py +0 -0
- {netbox_contract-2.2.2 → netbox_contract-2.2.3}/src/netbox_contract/migrations/0022_alter_contract_internal_partie_alter_contract_parent.py +0 -0
- {netbox_contract-2.2.2 → netbox_contract-2.2.3}/src/netbox_contract/migrations/0023_rename_contractassignement_contractassignment_and_more.py +0 -0
- {netbox_contract-2.2.2 → netbox_contract-2.2.3}/src/netbox_contract/migrations/0024_remove_contract_external_partie.py +0 -0
- {netbox_contract-2.2.2 → netbox_contract-2.2.3}/src/netbox_contract/migrations/0025_remove_contract_circuit_and_more.py +0 -0
- {netbox_contract-2.2.2 → netbox_contract-2.2.3}/src/netbox_contract/migrations/0026_auto_20240421_1550.py +0 -0
- {netbox_contract-2.2.2 → netbox_contract-2.2.3}/src/netbox_contract/migrations/0027_invoiceline.py +0 -0
- {netbox_contract-2.2.2 → netbox_contract-2.2.3}/src/netbox_contract/migrations/0028_invoiceline_accounting_dimensions.py +0 -0
- {netbox_contract-2.2.2 → netbox_contract-2.2.3}/src/netbox_contract/migrations/0029_remove_invoiceline_accounting_dimensions_and_more.py +0 -0
- {netbox_contract-2.2.2 → netbox_contract-2.2.3}/src/netbox_contract/migrations/0030_alter_invoiceline_accounting_dimensions.py +0 -0
- {netbox_contract-2.2.2 → netbox_contract-2.2.3}/src/netbox_contract/migrations/0031_contract_invoice_template_invoice_template.py +0 -0
- {netbox_contract-2.2.2 → netbox_contract-2.2.3}/src/netbox_contract/migrations/0032_alter_invoice_period_end_alter_invoice_period_start_and_more.py +0 -0
- {netbox_contract-2.2.2 → netbox_contract-2.2.3}/src/netbox_contract/migrations/0033_remove_contract_invoice_template.py +0 -0
- {netbox_contract-2.2.2 → netbox_contract-2.2.3}/src/netbox_contract/migrations/0034_contract_yrc_alter_contract_mrc.py +0 -0
- {netbox_contract-2.2.2 → netbox_contract-2.2.3}/src/netbox_contract/migrations/0035_accountingdimension_status_and_more.py +0 -0
- {netbox_contract-2.2.2 → netbox_contract-2.2.3}/src/netbox_contract/migrations/0036_alter_invoiceline_accounting_dimensions.py +0 -0
- {netbox_contract-2.2.2 → netbox_contract-2.2.3}/src/netbox_contract/migrations/__init__.py +0 -0
- {netbox_contract-2.2.2 → netbox_contract-2.2.3}/src/netbox_contract/models.py +0 -0
- {netbox_contract-2.2.2 → netbox_contract-2.2.3}/src/netbox_contract/navigation.py +0 -0
- {netbox_contract-2.2.2 → netbox_contract-2.2.3}/src/netbox_contract/search.py +0 -0
- {netbox_contract-2.2.2 → netbox_contract-2.2.3}/src/netbox_contract/tables.py +0 -0
- {netbox_contract-2.2.2 → netbox_contract-2.2.3}/src/netbox_contract/template_content.py +0 -0
- {netbox_contract-2.2.2 → netbox_contract-2.2.3}/src/netbox_contract/templates/contract_assignments_bottom.html +0 -0
- {netbox_contract-2.2.2 → netbox_contract-2.2.3}/src/netbox_contract/templates/contract_list_bottom.html +0 -0
- {netbox_contract-2.2.2 → netbox_contract-2.2.3}/src/netbox_contract/templates/netbox_contract/accountingdimension.html +0 -0
- {netbox_contract-2.2.2 → netbox_contract-2.2.3}/src/netbox_contract/templates/netbox_contract/contract.html +0 -0
- {netbox_contract-2.2.2 → netbox_contract-2.2.3}/src/netbox_contract/templates/netbox_contract/contractassignment.html +0 -0
- {netbox_contract-2.2.2 → netbox_contract-2.2.3}/src/netbox_contract/templates/netbox_contract/invoice.html +0 -0
- {netbox_contract-2.2.2 → netbox_contract-2.2.3}/src/netbox_contract/templates/netbox_contract/invoiceline.html +0 -0
- {netbox_contract-2.2.2 → netbox_contract-2.2.3}/src/netbox_contract/templates/netbox_contract/serviceprovider.html +0 -0
- {netbox_contract-2.2.2 → netbox_contract-2.2.3}/src/netbox_contract/urls.py +0 -0
- {netbox_contract-2.2.2 → netbox_contract-2.2.3}/src/netbox_contract.egg-info/SOURCES.txt +0 -0
- {netbox_contract-2.2.2 → netbox_contract-2.2.3}/src/netbox_contract.egg-info/dependency_links.txt +0 -0
- {netbox_contract-2.2.2 → netbox_contract-2.2.3}/src/netbox_contract.egg-info/not-zip-safe +0 -0
- {netbox_contract-2.2.2 → netbox_contract-2.2.3}/src/netbox_contract.egg-info/requires.txt +0 -0
- {netbox_contract-2.2.2 → netbox_contract-2.2.3}/src/netbox_contract.egg-info/top_level.txt +0 -0
|
@@ -5,7 +5,7 @@ class ContractsConfig(PluginConfig):
|
|
|
5
5
|
name = 'netbox_contract'
|
|
6
6
|
verbose_name = 'Netbox contract'
|
|
7
7
|
description = 'Contract management plugin for Netbox'
|
|
8
|
-
version = '2.2.
|
|
8
|
+
version = '2.2.3'
|
|
9
9
|
author = 'Marc Lebreuil'
|
|
10
10
|
author_email = 'marc@famillelebreuil.net'
|
|
11
11
|
base_url = 'contracts'
|
|
@@ -16,6 +16,7 @@ from utilities.forms.fields import (
|
|
|
16
16
|
CSVChoiceField,
|
|
17
17
|
CSVContentTypeField,
|
|
18
18
|
CSVModelChoiceField,
|
|
19
|
+
CSVModelMultipleChoiceField,
|
|
19
20
|
DynamicModelChoiceField,
|
|
20
21
|
DynamicModelMultipleChoiceField,
|
|
21
22
|
JSONField,
|
|
@@ -240,6 +241,10 @@ class ContractBulkEditForm(NetBoxModelBulkEditForm):
|
|
|
240
241
|
|
|
241
242
|
|
|
242
243
|
class InvoiceForm(NetBoxModelForm):
|
|
244
|
+
number = forms.CharField(
|
|
245
|
+
max_length=100,
|
|
246
|
+
help_text='Invoice template name will be overriden to _invoice_template_contract name',
|
|
247
|
+
)
|
|
243
248
|
contracts = DynamicModelMultipleChoiceField(
|
|
244
249
|
queryset=Contract.objects.all(), required=False
|
|
245
250
|
)
|
|
@@ -459,7 +464,7 @@ class ContractAssignmentImportForm(NetBoxModelImportForm):
|
|
|
459
464
|
|
|
460
465
|
class InvoiceLineForm(NetBoxModelForm):
|
|
461
466
|
invoice = DynamicModelChoiceField(queryset=Invoice.objects.all())
|
|
462
|
-
accounting_dimensions =
|
|
467
|
+
accounting_dimensions = DynamicModelMultipleChoiceField(
|
|
463
468
|
queryset=AccountingDimension.objects.all(), required=False
|
|
464
469
|
)
|
|
465
470
|
|
|
@@ -490,6 +495,9 @@ class InvoiceLineForm(NetBoxModelForm):
|
|
|
490
495
|
class InvoiceLineFilterSetForm(NetBoxModelFilterSetForm):
|
|
491
496
|
model = InvoiceLine
|
|
492
497
|
invoice = DynamicModelChoiceField(queryset=Invoice.objects.all(), required=False)
|
|
498
|
+
accounting_dimensions = DynamicModelChoiceField(
|
|
499
|
+
queryset=AccountingDimension.objects.all(), required=False
|
|
500
|
+
)
|
|
493
501
|
|
|
494
502
|
|
|
495
503
|
class InvoiceLineImportForm(NetBoxModelImportForm):
|
|
@@ -498,7 +506,7 @@ class InvoiceLineImportForm(NetBoxModelImportForm):
|
|
|
498
506
|
to_field_name='number',
|
|
499
507
|
help_text='Invoice number',
|
|
500
508
|
)
|
|
501
|
-
accounting_dimensions =
|
|
509
|
+
accounting_dimensions = CSVModelMultipleChoiceField(
|
|
502
510
|
queryset=AccountingDimension.objects.all(),
|
|
503
511
|
to_field_name='id',
|
|
504
512
|
help_text='accounting dimension id',
|
|
@@ -278,7 +278,7 @@ class InvoiceEditView(generic.ObjectEditView):
|
|
|
278
278
|
contract = Contract.objects.get(pk=initial_data['contracts'])
|
|
279
279
|
|
|
280
280
|
try:
|
|
281
|
-
last_invoice = contract.invoices.
|
|
281
|
+
last_invoice = contract.invoices.exclude(template=True).latest(
|
|
282
282
|
'period_end'
|
|
283
283
|
)
|
|
284
284
|
new_period_start = last_invoice.period_end + timedelta(days=1)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{netbox_contract-2.2.2 → netbox_contract-2.2.3}/src/netbox_contract/migrations/0001_initial.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{netbox_contract-2.2.2 → netbox_contract-2.2.3}/src/netbox_contract/migrations/0007_invoice_date.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{netbox_contract-2.2.2 → netbox_contract-2.2.3}/src/netbox_contract/migrations/0027_invoiceline.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{netbox_contract-2.2.2 → netbox_contract-2.2.3}/src/netbox_contract.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|