a
    ¤Q•h  ã                   @   sl   d dl mZ ddlmZmZ d dlmZ d dlZe e¡G dd„ dej	ƒƒZ
e e¡G dd	„ d	ej	ƒƒZdS )
é    )Úadminé   )ÚRepiqueÚLogFinalizacaoRepique)ÚHttpResponseNc                   @   s^   e Zd ZdZdZdZg d¢ZdddiffZdd	gZe	j
d
d�dd„ ƒZe	j
dd�dd„ ƒZdS )ÚRepiqueAdmin)Ú	semeaduraÚcadastro_loteÚdata_repiqueÚquantidade_repicadaÚfuncionarioÚ
finalizadoÚregistrado_por)r   r
   r   )Zsemeadura__numero_mudaZcadastro_lote__numero_loteZfuncionario__nome_completo)r   r	   r   r   u   InformaÃ§Ãµes do RepiqueÚfields)r   r	   r
   r   r   r   r   Úmarcar_como_finalizadoÚexportar_csvzMarcar como finalizado)Údescriptionc                 C   s"   |j dd�}|  ||› d�¡ d S )NT)r   z$ repiques marcados como finalizados.)ÚupdateÚmessage_user)ÚselfÚrequestÚquerysetÚupdated© r   ú*/var/www/sistema_ama/apps/repique/admin.pyr      s    z#RepiqueAdmin.marcar_como_finalizadozExportar repiques para CSVc                    s^   t dd�}d|d< t |¡}| dd„ tjjD ƒ¡ |D ] ‰ | ‡ fdd„tjjD ƒ¡ q8|S )Nztext/csv)Úcontent_typez!attachment; filename=repiques.csvzContent-Dispositionc                 S   s   g | ]
}|j ‘qS r   )Úname©Ú.0Úfieldr   r   r   Ú
<listcomp>(   ó    z-RepiqueAdmin.exportar_csv.<locals>.<listcomp>c                    s   g | ]}t ˆ |jƒ‘qS r   )Úgetattrr   r   ©Úobjr   r   r    *   r!   )r   ÚcsvÚwriterÚwriterowr   Ú_metar   )r   r   r   Úresponser&   r   r#   r   r   #   s    

zRepiqueAdmin.exportar_csvN)Ú__name__Ú
__module__Ú__qualname__Úlist_displayÚlist_filterÚsearch_fieldsÚautocomplete_fieldsÚ	fieldsetsÚactionsr   Úactionr   r   r   r   r   r   r      s   ÿÿ	


r   c                   @   sJ   e Zd ZdZdZdZg d¢Zdd„ Zde_dd	„ Z	ddd„Z
ddd„Zd
S )ÚLogFinalizacaoRepiqueAdmin)r   Únumero_loteÚ	data_loteÚdata_exclusaoÚhora_exclusaoÚusuario_exclusaoÚnome_usuario_exclusaoÚmotivo_formatado)r7   Úmotivo_exclusao)r5   r:   r<   )	r   r5   r6   r7   r8   r9   r:   r<   Úmotivo_exclusao_outrosc                 C   s(   |j dkr"|jr"|j › d|j› �S |j S )NÚOutrosz - )r<   r=   )r   r$   r   r   r   r;   ?   s    z+LogFinalizacaoRepiqueAdmin.motivo_formatadoÚMotivoc                 C   s   dS ©NFr   )r   r   r   r   r   Úhas_add_permissionE   s    z-LogFinalizacaoRepiqueAdmin.has_add_permissionNc                 C   s   dS r@   r   ©r   r   r$   r   r   r   Úhas_change_permissionH   s    z0LogFinalizacaoRepiqueAdmin.has_change_permissionc                 C   s   dS r@   r   rB   r   r   r   Úhas_delete_permissionK   s    z0LogFinalizacaoRepiqueAdmin.has_delete_permission)N)N)r*   r+   r,   r-   r.   r/   Úreadonly_fieldsr;   Úshort_descriptionrA   rC   rD   r   r   r   r   r4   .   s   
r4   )Zdjango.contribr   Úmodelsr   r   Údjango.httpr   r%   ÚregisterÚ
ModelAdminr   r4   r   r   r   r   Ú<module>   s   &