a
    ;Xh                     @   sZ   d dl mZ d dlmZmZmZ G dd dejZG dd dejZG dd dejZ	d	S )
    )forms)CategoriaInsumoItemEstoqueMovimentacaoEstoquec                   @   s   e Zd ZG dd dZdS )CategoriaInsumoFormc                   @   s@   e Zd ZeZddgZejddddejdddd	dd
Z	dS )zCategoriaInsumoForm.Metanome	descricaoform-controlzNome da Categoria)classplaceholderattrs   u   Descrição)r
   rowsr   )r   r   N)
__name__
__module____qualname__r   modelfieldsr   	TextInputTextareawidgets r   r   6/var/www/viveiro_mudafortebrasil/apps/estoque/forms.pyMeta   s
   r   N)r   r   r   r   r   r   r   r   r      s   r   c                       sN   e Zd Zejej dejdddddZ	G dd dZ
 fd	d
Z  ZS )ItemEstoqueFormzSelecione a categoriaform-selectid_categoriar
   idr   )querysetempty_labelwidgetc                   @   s  e Zd ZeZg dZ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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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ej	dddddZdS )zItemEstoqueForm.Meta)codigo_itemnome_especier   nome_cientifico	categoria
quantidadetipo_bandejaunidade_medidalocalizacaodata_recebimentodata_descarte_previstadata_validade
fornecedorcusto_unitarionotascustor	   TZid_codigo_item)r
   readonlyr   r   Zid_nome_especier   Zid_nomeZid_nome_cientificor2   )r
   r   r2   Zid_quantidader   Zid_unidade_medidaZid_localizacaodateZid_data_recebimento)r
   typer   Zid_data_descarteZid_data_validadeZid_fornecedorZid_custo_unitarioZid_notasr   )r
   r   r   Zid_custoZid_tipo_bandeja)r#   r$   r   r%   r'   r)   r*   r+   r,   r-   r.   r/   r0   r1   r(   N)r   r   r   r   r   r   r   r   NumberInputSelect	DateInputr   r   r   r   r   r   r      s$   r   c                    s   t  j|i | d| jd _d| jd _d| jd _d| jd _d| jd _d| jd _d| jd _d| jd	 _d| jd
 _d| jd _d S )NFr$   r%   r,   r-   r+   r.   r/   r1   r*   r0   )super__init__r   required)selfargskwargs	__class__r   r   r9   -   s    zItemEstoqueForm.__init__)r   r   r   r   ModelChoiceFieldr   objectsallr6   r&   r   r9   __classcell__r   r   r>   r   r      s   r   c                       s*   e Zd ZG dd dZ fddZ  ZS )MovimentacaoEstoqueFormc                   @   sX   e Zd ZeZg dZejddidejddidejddidej	dddddZ
dS )	zMovimentacaoEstoqueForm.Meta)itemr'   tipoobservacoesr
   r   r   r	   r   )r
   r   N)r   r   r   r   r   r   r   r6   r5   r   r   r   r   r   r   r   >   s   r   c                    sP   t   }|d}|d}|d}|dkrL|rL|rL|j|k rLtdd S )NrE   r'   rF   saidau/   Quantidade insuficiente em estoque para saída.)r8   cleangetr'   r   ValidationError)r;   cleaned_datarE   r'   rF   r>   r   r   rI   H   s    




zMovimentacaoEstoqueForm.clean)r   r   r   r   rI   rC   r   r   r>   r   rD   =   s   
rD   N)
djangor   apps.estoque.modelsr   r   r   	ModelFormr   r   rD   r   r   r   r   <module>   s   	0