Update fields lenght, add URL tests and update billing url

This commit is contained in:
Gregory Trullemans 2022-09-16 14:47:55 +02:00
parent 14310ef78a
commit 271c5e3efa
5 changed files with 74 additions and 25 deletions

View File

@ -0,0 +1,33 @@
# Generated by Django 4.0.1 on 2022-09-16 12:47
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('billing', '0010_alter_prestation_total_amount_alter_prestation_unit_and_more'),
]
operations = [
migrations.AlterField(
model_name='contract',
name='advance',
field=models.DecimalField(blank=True, decimal_places=2, default=0, max_digits=7, verbose_name='Acompte'),
),
migrations.AlterField(
model_name='prestation',
name='total_amount',
field=models.DecimalField(blank=True, decimal_places=2, default=0, max_digits=8, verbose_name='Prix'),
),
migrations.AlterField(
model_name='prestation',
name='unit',
field=models.DecimalField(decimal_places=2, default=1, max_digits=7, verbose_name='Unité'),
),
migrations.AlterField(
model_name='prestation',
name='unit_price',
field=models.DecimalField(decimal_places=2, default='12,5', max_digits=7, verbose_name='Prix unitaire'),
),
]

View File

@ -28,7 +28,7 @@ class Contract(models.Model):
Client, related_name="contracts", on_delete=models.CASCADE
)
advance = models.DecimalField(
max_digits=6, decimal_places=2, blank=True, verbose_name="Acompte", default=0
max_digits=7, decimal_places=2, blank=True, verbose_name="Acompte", default=0
)
reference = models.CharField(
max_length=255, verbose_name="Référence", blank=True, null=True, unique=True
@ -73,13 +73,13 @@ class Prestation(models.Model):
date = models.DateField()
label = models.CharField(max_length=255, verbose_name="Libellé")
unit = models.DecimalField(
max_digits=6, decimal_places=2, verbose_name="Unité", default=1
max_digits=7, decimal_places=2, verbose_name="Unité", default=1
)
unit_price = models.DecimalField(
max_digits=6, decimal_places=2, verbose_name="Prix unitaire", default="12,5"
max_digits=7, decimal_places=2, verbose_name="Prix unitaire", default="12,5"
)
total_amount = models.DecimalField(
max_digits=7, decimal_places=2, blank=True, verbose_name="Prix", default=0
max_digits=8, decimal_places=2, blank=True, verbose_name="Prix", default=0
)
def __compute_total_amount(self):

22
billing/tests_urls.py Normal file
View File

@ -0,0 +1,22 @@
from django.test import TestCase
from django.urls import resolve
class URLTestCase(TestCase):
def test_billing_url(self):
self.assertEqual(resolve("/billing/client/").view_name, 'client_listing')
self.assertEqual(resolve("/billing/client/lookup/").view_name, 'client_lookup')
self.assertEqual(resolve("/billing/client/create/").view_name, 'client_create')
self.assertEqual(resolve("/billing/client/1/").view_name, 'client_details')
self.assertEqual(resolve("/billing/client/update/1/").view_name, 'client_update')
self.assertEqual(resolve("/billing/contract/lookup/").view_name, 'contract_lookup')
self.assertEqual(resolve("/billing/contract/create/").view_name, 'contract_create')
self.assertEqual(resolve("/billing/contract/1/").view_name, 'contract_detail')
self.assertEqual(resolve("/billing/contract/update/1/").view_name, 'contract_update')
self.assertEqual(resolve("/billing/contract/pdf/1/").view_name, 'contract_export')
self.assertEqual(resolve("/billing/contract/").view_name, 'contract_listing')
self.assertEqual(resolve("/billing/prestation/create/").view_name, 'prestation_create')
self.assertEqual(resolve("/billing/prestation/update/1/").view_name, 'prestation_update')

View File

@ -15,24 +15,20 @@ from .views import (
app_name = "billing"
client_urlpatterns = [
path(r"lookup/", client_lookup, name="client_lookup"),
path(r"", client_listing, name="client_listing"),
path(r"<int:client_id>/", client_details, name="client_details"),
path(r"create/", client_create_or_update, name="client_create"),
path(r"update/<int:client_id>/", client_create_or_update, name="client_update"),
]
urlpatterns = [
path(r"client/", client_listing, name="client_listing"),
path(r"client/lookup/", client_lookup, name="client_lookup"),
path(r"client/create/", client_create_or_update, name="client_create"),
path(r"client/<int:client_id>/", client_details, name="client_details"),
path(r"client/update/<int:client_id>/", client_create_or_update, name="client_update"),
contract_urlpatterns = [
path(r"lookup/", contract_lookup, name="contract_lookup"),
path(r"", contract_listing, name="contract_listing"),
path(r"<int:contract_id>/", contract_detail, name="contract_detail"),
path(r"create/", contract_create_or_update, name="contract_create"),
path(r"update/<int:contract_id>/", contract_create_or_update, name="contract_update"),
path(r"pdf/<int:contract_id>/", contract_export, name="contract_export",),
]
path(r"contract/", contract_listing, name="contract_listing"),
path(r"contract/lookup/", contract_lookup, name="contract_lookup"),
path(r"contract/create/", contract_create_or_update, name="contract_create"),
path(r"contract/<int:contract_id>/", contract_detail, name="contract_detail"),
path(r"contract/update/<int:contract_id>/", contract_create_or_update, name="contract_update"),
path(r"contract/pdf/<int:contract_id>/", contract_export, name="contract_export",),
prestation_urlpatterns = [
path(r"create/", prestation_create_or_update, name="prestation_create"),
path(r"update/<int:prestation_id>/", prestation_create_or_update, name="prestation_update"),
path(r"prestation/create/", prestation_create_or_update, name="prestation_create"),
path(r"prestation/update/<int:prestation_id>/", prestation_create_or_update, name="prestation_update"),
]

View File

@ -39,9 +39,7 @@ urlpatterns = [
),
# Billing
path(r"billing/client/", include(billing.urls.client_urlpatterns)),
path(r"billing/contract/", include(billing.urls.contract_urlpatterns)),
path(r"billing/prestation/", include(billing.urls.prestation_urlpatterns)),
path(r"billing/", include(billing.urls.urlpatterns)),
# Home
path(r"", year_listing),