mirror of
https://gitlab.crans.org/bde/nk20
synced 2024-11-26 18:37:12 +00:00
Merge branch 'invoice_modification' into 'main'
changement template facture Closes #128 See merge request bde/nk20!243
This commit is contained in:
commit
7afd15b1cc
@ -5,7 +5,7 @@ from django import forms
|
|||||||
from django.contrib.auth.forms import UserCreationForm
|
from django.contrib.auth.forms import UserCreationForm
|
||||||
from django.contrib.auth.models import User
|
from django.contrib.auth.models import User
|
||||||
from django.utils.translation import gettext_lazy as _
|
from django.utils.translation import gettext_lazy as _
|
||||||
from member.models import Club
|
# from member.models import Club
|
||||||
from note.models import NoteSpecial, Alias
|
from note.models import NoteSpecial, Alias
|
||||||
from note_kfet.inputs import AmountInput
|
from note_kfet.inputs import AmountInput
|
||||||
|
|
||||||
@ -116,11 +116,11 @@ class ValidationForm(forms.Form):
|
|||||||
initial=True,
|
initial=True,
|
||||||
)
|
)
|
||||||
|
|
||||||
# If the bda exists
|
# If the bda exists
|
||||||
if Club.objects.filter(name__iexact="bda").exists():
|
# if Club.objects.filter(name__iexact="bda").exists():
|
||||||
# The user can join the bda club at the inscription
|
# The user can join the bda club at the inscription
|
||||||
join_bda = forms.BooleanField(
|
# join_bda = forms.BooleanField(
|
||||||
label=_("Join BDA Club"),
|
# label=_("Join BDA Club"),
|
||||||
required=False,
|
# required=False,
|
||||||
initial=True,
|
# initial=True,
|
||||||
)
|
# )
|
||||||
|
23
apps/treasury/migrations/0008_auto_20240322_0045.py
Normal file
23
apps/treasury/migrations/0008_auto_20240322_0045.py
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
# Generated by Django 2.2.28 on 2024-03-21 23:45
|
||||||
|
|
||||||
|
from django.db import migrations, models
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
('treasury', '0007_auto_20240311_1549'),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.AddField(
|
||||||
|
model_name='invoice',
|
||||||
|
name='payment_date',
|
||||||
|
field=models.CharField(default='', max_length=255, verbose_name='Payment date'),
|
||||||
|
),
|
||||||
|
migrations.AddField(
|
||||||
|
model_name='invoice',
|
||||||
|
name='quotation',
|
||||||
|
field=models.BooleanField(default=False, verbose_name='Quotation'),
|
||||||
|
),
|
||||||
|
]
|
@ -41,6 +41,10 @@ class Invoice(models.Model):
|
|||||||
),
|
),
|
||||||
verbose_name=_("BDE"),
|
verbose_name=_("BDE"),
|
||||||
)
|
)
|
||||||
|
quotation = models.BooleanField(
|
||||||
|
default=False,
|
||||||
|
verbose_name=_("Quotation"),
|
||||||
|
)
|
||||||
|
|
||||||
object = models.CharField(
|
object = models.CharField(
|
||||||
max_length=255,
|
max_length=255,
|
||||||
@ -65,6 +69,12 @@ class Invoice(models.Model):
|
|||||||
verbose_name=_("Date"),
|
verbose_name=_("Date"),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
payment_date = models.CharField(
|
||||||
|
default="",
|
||||||
|
max_length=255,
|
||||||
|
verbose_name=_("Payment date"),
|
||||||
|
)
|
||||||
|
|
||||||
acquitted = models.BooleanField(
|
acquitted = models.BooleanField(
|
||||||
verbose_name=_("Acquitted"),
|
verbose_name=_("Acquitted"),
|
||||||
default=False,
|
default=False,
|
||||||
|
@ -76,8 +76,11 @@
|
|||||||
|
|
||||||
\def\FactureNum {{"{"}}{{ obj.id }}} % Numéro de facture
|
\def\FactureNum {{"{"}}{{ obj.id }}} % Numéro de facture
|
||||||
\def\FactureAcquittee {% if obj.acquitted %} {oui} {% else %} {non} {% endif %} % Facture acquittée : oui/non
|
\def\FactureAcquittee {% if obj.acquitted %} {oui} {% else %} {non} {% endif %} % Facture acquittée : oui/non
|
||||||
|
\def\Devis {% if obj.quotation %} {oui} {% else %} {non} {% endif %}
|
||||||
|
% Devis : oui/non
|
||||||
\def\FactureLieu {{"{"}}{{ obj.place|escape_tex }}} % Lieu de l'édition de la facture
|
\def\FactureLieu {{"{"}}{{ obj.place|escape_tex }}} % Lieu de l'édition de la facture
|
||||||
\def\FactureDate {{"{"}}{{ obj.date }}} % Date de l'édition de la facture
|
\def\FactureDate {{"{"}}{{ obj.date }}} % Date de l'édition de la facture
|
||||||
|
\def\FacturePaymentDate {{"{"}}{{ obj.payment_date|escape_tex }}} % Date de paiement de la facture
|
||||||
\def\FactureObjet {{"{"}}{{ obj.object|escape_tex }} } % Objet du document
|
\def\FactureObjet {{"{"}}{{ obj.object|escape_tex }} } % Objet du document
|
||||||
% Description de la facture
|
% Description de la facture
|
||||||
\def\FactureDescr {{"{"}}{{ obj.description|escape_tex }}}
|
\def\FactureDescr {{"{"}}{{ obj.description|escape_tex }}}
|
||||||
@ -118,10 +121,12 @@
|
|||||||
% Nom et adresse de la société
|
% Nom et adresse de la société
|
||||||
\MonNom \\
|
\MonNom \\
|
||||||
\MonAdresseRue \\
|
\MonAdresseRue \\
|
||||||
\MonAdresseVille
|
\MonAdresseVille \\
|
||||||
|
\ifthenelse{\equal{\Devis}{oui}}{
|
||||||
|
Devis n°\FactureNum
|
||||||
|
}{
|
||||||
Facture n°\FactureNum
|
Facture n°\FactureNum
|
||||||
|
}
|
||||||
|
|
||||||
{\addtolength{\leftskip}{10.5cm} %in ERT
|
{\addtolength{\leftskip}{10.5cm} %in ERT
|
||||||
\ClientNom \\
|
\ClientNom \\
|
||||||
@ -139,6 +144,7 @@ Facture n°\FactureNum
|
|||||||
|
|
||||||
\textnormal{\FactureDescr}
|
\textnormal{\FactureDescr}
|
||||||
|
|
||||||
|
|
||||||
~\\
|
~\\
|
||||||
|
|
||||||
\begin{center}
|
\begin{center}
|
||||||
@ -154,6 +160,11 @@ Facture n°\FactureNum
|
|||||||
\ifthenelse{\equal{\FactureAcquittee}{oui}}{
|
\ifthenelse{\equal{\FactureAcquittee}{oui}}{
|
||||||
Facture acquittée.
|
Facture acquittée.
|
||||||
}{
|
}{
|
||||||
|
Echéance de paiement : \FacturePaymentDate
|
||||||
|
|
||||||
|
Conditions d'escompte : Aucune
|
||||||
|
|
||||||
|
Taux de pénalité en cas de non paiement ou retard de paiement : 0 \%
|
||||||
|
|
||||||
À régler par chèque ou par virement bancaire :
|
À régler par chèque ou par virement bancaire :
|
||||||
|
|
||||||
@ -176,5 +187,6 @@ Facture n°\FactureNum
|
|||||||
TVA non applicable, article 293 B du CGI.
|
TVA non applicable, article 293 B du CGI.
|
||||||
\end{center}
|
\end{center}
|
||||||
|
|
||||||
|
|
||||||
\end{document}
|
\end{document}
|
||||||
{% endlanguage %}
|
{% endlanguage %}
|
||||||
|
@ -69,9 +69,11 @@ class TestInvoices(TestCase):
|
|||||||
response = self.client.post(reverse("treasury:invoice_create"), data={
|
response = self.client.post(reverse("treasury:invoice_create"), data={
|
||||||
"id": 42,
|
"id": 42,
|
||||||
"object": "Same object",
|
"object": "Same object",
|
||||||
|
"quotation": True,
|
||||||
"description": "Longer description",
|
"description": "Longer description",
|
||||||
"name": "Me and others",
|
"name": "Me and others",
|
||||||
"address": "Alwways earth",
|
"address": "Alwways earth",
|
||||||
|
"payment_date": "Maybe someday...",
|
||||||
"acquitted": True,
|
"acquitted": True,
|
||||||
"products-0-designation": "Designation",
|
"products-0-designation": "Designation",
|
||||||
"products-0-quantity": 1,
|
"products-0-quantity": 1,
|
||||||
@ -97,8 +99,10 @@ class TestInvoices(TestCase):
|
|||||||
"object": "Same object",
|
"object": "Same object",
|
||||||
"description": "Longer description",
|
"description": "Longer description",
|
||||||
"name": "Me and others",
|
"name": "Me and others",
|
||||||
|
"quotation": False,
|
||||||
"address": "Always earth",
|
"address": "Always earth",
|
||||||
"acquitted": True,
|
"acquitted": True,
|
||||||
|
"payment_date": "Never",
|
||||||
"locked": True,
|
"locked": True,
|
||||||
"products-0-designation": "Designation",
|
"products-0-designation": "Designation",
|
||||||
"products-0-quantity": 1,
|
"products-0-quantity": 1,
|
||||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user