o
    ZâSi�  ã                   @   s’   d dl mZ G dd„ dejƒZG dd„ deƒZG dd„ deƒZG dd	„ d	eƒZG d
d„ deƒZG dd„ deƒZG dd„ deƒZ	G dd„ deƒZ
dS )é    )Úmodelsc                   @   s2   e Zd Zejdd�Zejdd�ZG dd„ dƒZdS )ÚTimespanmodelT)Úauto_now_add)Úauto_nowc                   @   ó   e Zd ZdZdS )zTimespanmodel.MetaTN©Ú__name__Ú
__module__Ú__qualname__Úabstract© r   r   úCC:\Users\glodi\PycharmProjects\facturationDaniel\leon\dgi\models.pyÚMeta	   ó    r   N)r   r	   r
   r   ÚDateTimeFieldÚ
created_atÚ	update_atr   r   r   r   r   r      s    r   c                   @   sp   e Zd ZdZejdddd�Zejddd�Zejdd	d
�Z	ej
dddd�Zejddd�ZG dd„ dƒZdd„ ZdS )ÚTaxGroupuS   
    Groupe de taxation (ex: A, B, C...)
    d'aprÃ¨s l'API e-MCF (taxGroups).
    é
   Tz*Code du groupe de taxation (ex: 'A', 'B').©Ú
max_lengthÚuniqueÚ	help_textéd   zNom du groupe (ex: 'TVA 16%').©r   r   úDescription optionnelle.©Úblankr   é   é   g        )Ú
max_digitsÚdecimal_placesÚdefaultu2   Permet de dÃ©sactiver un groupe sans le supprimer.©r"   r   c                   @   ó   e Zd ZdZdZdgZdS )zTaxGroup.MetazGroupe de taxationzGroupes de taxationÚcodeN©r   r	   r
   Úverbose_nameÚverbose_name_pluralÚorderingr   r   r   r   r   '   ó    
r   c                 C   ó   | j › d| j› �S ©Nz - ©r%   Úname©Úselfr   r   r   Ú__str__,   ó   zTaxGroup.__str__N)r   r	   r
   Ú__doc__r   Ú	CharFieldr%   r.   Ú	TextFieldÚdescriptionÚDecimalFieldZtaxÚBooleanFieldÚ	is_activer   r1   r   r   r   r   r      s,    ýþþþr   c                   @   ó`   e Zd ZdZejdddd�Zejddd�Zejdd	d
�Z	ej
ddd�ZG dd„ dƒZdd„ ZdS )Ú
ClientTypeu`   
    Type de client (ex: PP, PM, Administration...)
    d'aprÃ¨s l'API e-MCF (clientTypes).
    r   Tz"Code type client (ex: 'PP', 'PM').r   r   z.Nom lisible du type (ex: 'Personne physique').r   r   r   õ0   Permet de dÃ©sactiver un type sans le supprimer.r#   c                   @   r$   )zClientType.MetazType de clientzTypes de clientr%   Nr&   r   r   r   r   r   G   r*   r   c                 C   r+   r,   r-   r/   r   r   r   r1   L   r2   zClientType.__str__N©r   r	   r
   r3   r   r4   r%   r.   r5   r6   r8   r9   r   r1   r   r   r   r   r;   0   s*    ýþþþr;   c                   @   r:   )ÚItemTypeuW   
    Type d'article (ex: GOODS, SERVICES...)
    d'aprÃ¨s l'API e-MCF (itemTypes).
    é   Tz+Code type article (ex: 'GOODS', 'SERVICE').r   r   z$Nom lisible (ex: 'Bien', 'Service').r   r   r   r<   r#   c                   @   r$   )zItemType.MetazType d'articlezTypes d'articler%   Nr&   r   r   r   r   r   j   r*   r   c                 C   r+   r,   r-   r/   r   r   r   r1   o   r2   zItemType.__str__Nr=   r   r   r   r   r>   P   s*    ýþþþr>   c                   @   s¼   e Zd ZdZejdddd�Zejdddd�Zejddddd�Zejddd	�Z	ejd
ddd�Z
ejdddd�Zejdddd�Zejeejddddd�Zejddd�ZG dd„ dƒZdd„ ZdS )ÚClientu¯   
    Client utilisÃ© dans la facturation e-MCF.

    Correspond Ã  la structure 'client' de l'API :
    - nif
    - name
    - contact
    - address
    - type / typeDesc
    éÿ   T)r   r   Únullr?   u2   NIF du client (peut Ãªtre vide si non renseignÃ©).)r   r   rB   r   zNom / Raison sociale du client.r   é2   u   TÃ©lÃ©phone ou autre contact.)r   r   r   z%Adresse email du client (facultatif).)r   rB   r   zAdresse postale du client.ZclientszType de client (PP, PM, etc.).)Ú	on_deleterB   r   Úrelated_namer   u2   Permet de dÃ©sactiver un client sans le supprimer.r#   c                   @   r$   )zClient.Metar@   ZClientsr.   Nr&   r   r   r   r   r   ª   r*   r   c                 C   s    | j r| j› d| j › d�S | jS )Nz (ú))Únifr.   r/   r   r   r   r1   ¯   s   zClient.__str__N)r   r	   r
   r3   r   r4   ÚusernameÚpasswordrG   r.   ZcontactÚ
EmailFieldÚemailÚaddressÚ
ForeignKeyr;   ÚSET_NULLZclient_typer8   r9   r   r1   r   r   r   r   r@   s   sV    üþýýýú	þr@   c                   @   sj   e Zd Zejdddd�Zejdddd�Zejdddd�Zejdddd�Zejdddd�ZG dd„ dƒZ	dS )ÚPointvente_DgirA   T)r   rB   r   c                   @   r   )zPointvente_Dgi.MetaTNr   r   r   r   r   r   ¼   r   r   N)
r   r	   r
   r   r4   rG   Zmode_dgiZisf_dgiZtype_dgir   r   r   r   r   rO   µ   s    rO   c                   @   sB   e Zd Zejeejddd�Zejeejddd�Z	G dd„ dƒZ
dS )ÚArticle_DgiT©rD   rB   r   c                   @   r   )zArticle_Dgi.MetaTNr   r   r   r   r   r   Ä   r   r   N)r   r	   r
   r   rM   r>   ÚPROTECTZtypeartr   Ztaxgroupr   r   r   r   r   rP   À   s    rP   c                   @   sš   e Zd Zejddddd�Zejddddd�Zejddddd�Zejddddd�Zejddddd�Z	ej
eejddd�Zejddddd�ZG dd„ dƒZdS )	ÚCommande_DgirA   Ú T)r   r"   rB   r   rQ   c                   @   r   )zCommande_Dgi.MetaTNr   r   r   r   r   r   Ñ   r   r   N)r   r	   r
   r   r4   ZdateTimedgiZ
codedefdgiÚcountersZnimZqrCoderM   r@   ÚCASCADEÚclientÚuidr   r   r   r   r   rS   È   s    rS   N)Ú	django.dbr   ÚModelr   r   r;   r>   r@   rO   rP   rS   r   r   r   r   Ú<module>   s    	" #B