a
    ;Xhq#                     @   s   d dl mZ d dlmZmZ d dlmZmZ d dlm	Z	 d dl
mZ G dd dejZeeeedd	d
ZG dd dejZG dd dejZdS )    )forms)	ProtocoloProtocoloSemeadura)ClientesModelsEmpresasModels)	Semeadura)inlineformset_factoryc                       s4   e Zd ZG dd dZdd Zd fdd	Z  ZS )	ProtocoloSemeaduraFormc                
   @   s   e Zd ZeZg dZejddddejdddddejd	d
ddejd	dddejd	ddddej	dd	ddddZ
dS )zProtocoloSemeaduraForm.Meta)	semeadura	categoriaqtd_especie
valor_unitvalor_total
data_vendaform-selectr
   classidattrs)Identificadar   )Selecionadar   )Qualificadar   )Testadar   r   choicesr   form-controlr   r   r   readonly)r   r   r   dater   typer   r   N)__name__
__module____qualname__r   modelfieldsr   SelectNumberInput	DateInputwidgets r+   r+   9/var/www/viveiro_mudafortebrasil/apps/protocolos/forms.pyMeta	   s   	r-   c                 C   s    || j d _dd | j d _d S )Nr
   c                 S   s   | j  d| jjj S Nz - )numero_mudaloteespecienome_popularobjr+   r+   r,   <lambda>       z>ProtocoloSemeaduraForm.set_semeadura_choices.<locals>.<lambda>)r&   querysetlabel_from_instance)selfr   r+   r+   r,   set_semeadura_choices   s    z,ProtocoloSemeaduraForm.set_semeadura_choicesTc                    s,   t  jdd}|j|j |_|r(|  |S )NF)commit)supersaver   r   r   )r9   r;   instance	__class__r+   r,   r=   !   s
    zProtocoloSemeaduraForm.save)T)r"   r#   r$   r-   r:   r=   __classcell__r+   r+   r?   r,   r	      s   r	      T)formextra
can_deletec                       s  e Zd Zejej dejddddddZ	G dd	 d	Z
ejd
dgeej ejdddddZejej dejdddddZejej dejdddddZejdejdddddZejdejdddddZejdejejdddddZejdejdddddZejdejdddddZejdejdddddZejdejdddddZ ejdejdddddZ!ejdejdddddZ"ejdejdddddZ#ejdejdddddZ$ejdejdd dddZ%ejdejd!dd"dd#dZ&ej'dej(dd$dddZ)ej*dd%d&ej(dd'ddd(Z+ej*dd%d&ej(dd)ddd(Z,ej-dej.dd*dddZ/ej-dej.d+dd,d-ddZ0 fd.d/Z1d0d1 Z2  Z3S )2ProtocoloFormTr   
semeadurasr   r   u   Número de Muda)r7   requiredwidgetlabelc                   @   s   e Zd ZeZg dZdS )zProtocoloForm.Meta)tipo_clientecliente_fisicocliente_empresanum_protocoloreferente_nftipo_pagamento
num_pedidodestino_mudaplaca_veiculoresp_recebimentoinscricao_estadualprodutorrenasem_produtorresp_tecnicorenasem_tecnicor   r   r   r   data_saida_protocoloN)r"   r#   r$   r   r%   r&   r+   r+   r+   r,   r-   3   s   r-   zTipo de Cliente) zSelecione um tipo de clienterK   )rJ   r   rI   FrL   )r7   rH   rI   rM   r   rN   )rH   rI   rO   rP   )rH   r   rI   rQ   rR   rS   rT   rU   rV   rW   rX   rY   r   r   r   r   
      r   )rH   
max_digitsdecimal_placesrI   r   r   r   rZ   r    c                    s`   t t| j|i | tj | jd _dd | jd _d| jd j	j
d< d| jd j	j
d< d S )NrG   c                 S   s   | j  d| j S r.   )r   r/   r3   r+   r+   r,   r5      r6   z(ProtocoloForm.__init__.<locals>.<lambda>TrL   r   rM   )r<   rF   __init__r   objectsnoner&   r7   r8   rI   r   )r9   argskwargsr?   r+   r,   r`      s
    zProtocoloForm.__init__c                 C   s   || j d _d S )NrG   )r&   r7   )r9   rG   r+   r+   r,   r:      s    z#ProtocoloForm.set_semeadura_choices)4r"   r#   r$   r   ModelMultipleChoiceFieldr   ra   rb   SelectMultiplerG   r-   ChoiceFieldlistr   TIPOS_CLIENTEr'   rK   ModelChoiceFieldr   allrL   r   rM   	CharField	TextInputrN   rO   TIPOS_PAGAMENTOrP   rQ   rR   rS   rT   rU   rV   rW   rX   rY   r   IntegerFieldr(   r   DecimalFieldr   r   	DateFieldr)   r   rZ   r`   r:   rA   r+   r+   r?   r,   rF   +   s   rF   c                   @   s@   e Zd Zejdejddddddddgd	ZG d
d dZdS )ProtocoloInfoFormFz%Y-%m-%dr   rZ   r   )r   r   r!   )formatr   z%d/%m/%Y)rH   rI   input_formatsc                   @   s   e Zd ZeZg dZejddddejddddejddddejdd	ddejdd
ddejddddejddddejddddejddddejddddejddddej	ddddddZ
dS )zProtocoloInfoForm.Meta)rO   rP   rQ   rR   rS   rT   rU   rV   rW   rX   rY   rZ   
observacaor   rO   r   r   r   rP   rQ   rR   rS   rT   rU   rV   rW   rX   rY   ru      )r   r   rows)rO   rP   rQ   rR   rS   rT   rU   rV   rW   rX   rY   ru   N)r"   r#   r$   r   r%   r&   r   rm   r'   Textarear*   r+   r+   r+   r,   r-      s   r-   N)r"   r#   r$   r   rq   r)   rZ   r-   r+   r+   r+   r,   rr      s   rr   N)djangor   apps.protocolos.modelsr   r   apps.clientes.modelsr   r   apps.lotes.modelsr   django.formsr   	ModelFormr	   ProtocoloSemeaduraFormSetrF   rr   r+   r+   r+   r,   <module>   s   ! 