a
    ;Xh                     @   s   d dl mZmZmZ d dlmZ d dlmZ d dlm	Z	 d dl
mZ d dlmZmZmZ d dlmZ d dlmZmZmZ d	d
 Zdd Zedd ZdS )    )renderredirectget_object_or_404)get_user_info)login_required)messages)	mark_safe)PeriodoColetaFormPorcentagemColetaFormProducaoMudasForm)Especies)ProducaoMudasPeriodoColetaPorcentagemColetac              	   C   sZ  t jj|d}| jdkr t| j| j}t| j}t| jdd}|	 r6|	 r6|j
dd}||_|j
dd}||_| jd}| jd}	| jd	}
tt|D ] }t||| |	| |
| d
}qtjj|d rt| td n(|
  |
  |
  t| td tdS nt }t }tdd}t| jj}t| d|||||dS )NidPOSTperiodo_coletaprefixFcommitzperiodo_coleta-bioma_nomezperiodo_coleta-mes_iniciozperiodo_coleta-mes_fimespecie
bioma_nome
mes_iniciomes_fimr   uu   <i class="fa-solid fa-circle-exclamation"></i><strong class="mx-1">Erro!</strong> Produção de Mudas já cadastrada.uy   <i class="fa-solid fa-circle-check"></i><strong class="mx-1">Sucesso!</strong> Produção de Mudas cadastrado com êxito.lista_especiesz'producao_mudas/cadastro_prod_mudas.html)	user_info
formularioporcentagem_coleta_formperiodo_coleta_formr   )r   objectsgetmethodr   r   FILESr
   r	   is_validsaver   getlistrangelenr   r   filterexistsr   errorr   successr   r   userr   r   )request
especie_idr   r    r!   r"   producao_mudasporcentagem_coletaZperiodos_selecionadosZmeses_inicioZ	meses_fimir   r    r6   7/var/www/viveiro_mudafortebrasil/apps/producao/views.pycadastro_prod_mudas   sX    


r8   c              
      s  t t|d}tjj|d }tjj|d }tjj|d} jdkrt	 j
|d}t j
|d} fdd|D }t j
dd}	z| rl| rltd	d
 |D rl|jdd}||_|  |jdd}||_|  |D ]}
|
  q j
d} j
d} j
d}tt|D ]*}t||| || || d}|  q&t td tdW S W n8 ty } zt d|  W Y d }~n
d }~0 0 n,t	|d}t|d}dd |D }tdd}	t jj}t d|||||	|dS )Nr   r   r   )instancec                    s$   g | ]}t  jd |j |dqS Zperiodo_coleta_)r   r9   )r	   r   r   .0itemr1   r6   r7   
<listcomp>V   s   z%editar_prod_mudas.<locals>.<listcomp>periodo_coleta_novor   c                 s   s   | ]}|  V  qd S )N)r'   )r<   formr6   r6   r7   	<genexpr>\       z$editar_prod_mudas.<locals>.<genexpr>Fr   zperiodo_coleta_novo-bioma_nomezperiodo_coleta_novo-mes_iniciozperiodo_coleta_novo-mes_fimr   uy   <i class="fa-solid fa-circle-check"></i><strong class="mx-1">Sucesso!</strong> Produção de Mudas atualizada com êxito.r   u-   Erro durante o processamento do formulário: c                 S   s    g | ]}t d |j |dqS r:   )r	   r   r;   r6   r6   r7   r?      s   z%producao_mudas/editar_prod_mudas.html)r   r    r!   periodo_coleta_formsperiodo_coleta_form_novor   )r   r   r   r#   r,   firstr   r   r%   r   r   r
   r	   r'   allr(   r   r)   r*   r+   r   r/   r   r   	Exceptionr.   r   r0   r   r   )r1   r2   r   r3   r4   r   r    r!   rD   rE   rA   Zperiodos_selecionados_novoZmeses_inicio_novoZmeses_fim_novor5   r@   er   r6   r>   r7   editar_prod_mudasK   s    

(


rJ   c              
   C   sX   zt t|d}|  W n6 tyN } zt| d|  W Y d }~n
d }~0 0 tdS )Nr   u&   Erro ao excluir o período de coleta: rJ   )r   r   deleterH   r   r.   r   )r1   Zperiodo_coleta_idr   rI   r6   r6   r7   excluir_periodo_coleta   s    (rL   N)django.shortcutsr   r   r   apps.dashboard.utilsr   django.contrib.auth.decoratorsr   django.contribr   django.utils.safestringr   Zapps.producao.formsr	   r
   r   Zapps.especies.modelsr   Zapps.producao.modelsr   r   r   r8   rJ   rL   r6   r6   r6   r7   <module>   s   <K