o
    /i                     @   s   d dl 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 d dlmZmZmZ d dlmZmZ d d	lmZmZ d
dlm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 )    N)HttpResponse)reverse)PermissionDenied)messages)renderredirect)
CommonView
CommonFormCommonModelForm)koleksimaster)dumplog_activity   )uploadc                   @   s   e Zd ZdddZdS )FormViewNc                 C   s   t | }|rtjjj||dnd }tjjjddj	ddd}t
|}|r9|jd |v p4|jd |jkdkr9t|d u rBt|d	}|| ||jd
< ||jd< |rY|jrY|jn|jd |jd< t|d|rm|jjddng |||dS )N_typepkOPERATOR)role__startswithroler   flatr   Finstancer   pk_surat
user_inputzsurat/form.html
is_deleted)berkassurat_pk
surat_typeform)strupper	m_koleksiSuratobjectsgetm_masterRolesexcludevalues_listlistsessionr   r   ViewFormsurat_type_toggleinitialr   
suratf_setfilter)selfrequestr"   r!   r#   suratallowed_roles r9   :/var/www/html/mfile_papteng_new/webapp/views/surat/form.pyr)      s$   &



 zFormView.get)NN)__name__
__module____qualname__r)   r9   r9   r9   r:   r      s    r   c                       &   e Zd Zd fdd	Zdd Z  ZS )FormCreateViewNc                    s   t  j|||dS )Nr"   r#   superr)   )r5   r6   r"   r#   	__class__r9   r:   r)   +   s   zFormCreateView.getc                 C   s   t | }t|j|j}| r9| }t||j	|j
d t||jd  t|d td|j dS | j|||dS )Nsuratfr   zberhasil menyimpan data.
surat_listr"   r@   )r$   r%   r0   POSTFILESis_validsavesuratf_uploaddeployr   getlistsave_surat_versionr/   r   infor   r   lowerr)   )r5   r6   r"   r#   datar9   r9   r:   post.   s   zFormCreateView.postNr;   r<   r=   r)   rS   __classcell__r9   r9   rC   r:   r?   *       r?   c                       r>   )FormUpdateViewNc                    s   t  j||||dS )Nr"   r!   r#   rA   )r5   r6   r"   r!   r#   rC   r9   r:   r)   ?   s   zFormUpdateView.getc              	   C   s  t | }tjjj||d}t|j|j|d}t	|dd|j
d|j  d|j  | r}tjjj||d}t||jd  |  |jdd	}|rS|d
ng }|rctjjj|djdd t||j
|jd t|d td| dS | j||||dS )Nr   r   editr7   zEdit surat  r   pending_delete_ids ,)pk__inTr   rE   zberhasil mengubah data.rF   rG   rY   )r$   r%   r&   r'   r(   r)   r0   rH   rI   r   r   r   titlenomorrJ   rL   rO   r/   rK   splitSuratfr4   updaterM   rN   r   rP   r   rQ   )r5   r6   r"   r!   rR   r#   	surat_objpending_idsr9   r9   r:   rS   B   s    &zFormUpdateView.postrT   rU   r9   r9   rC   r:   rX   >   rW   rX   c                       s   e Zd Ze jddejjj	dddj
ddddZe jddejjj	d	ddj
ddddZe jd
dgddddZG dd dZ fddZdd Z  ZS )r0   NvJENIS_SURATPERMEN_54_2009)r   kr   r   )empty_labelto_field_namequerysetSIFAT_SURAT)publicPublic)privatePrivateTzStatus Filero   )choicesrequiredlabelr2   c                   @   s8   e Zd ZejZg dZe 	 e j
dddZdS )zViewForm.Meta)r   ra   tanggaljenissifatpengirim_namapengirim_instansipenerima_namapenerima_instansiperihalr   status_suratz%Y-%m-%d)format)r   rv   N)r;   r<   r=   r&   r'   modelfieldsr	   baseHiddenInput	DateInputwidgetsr9   r9   r9   r:   Metad   s    

r   c                    sf   t  j|i | d| jd _d| jd _d| jd _d| jd _d	| jd
 _t  | jd
 _d S )NzNama (Pengirim)ry   zInstansi (Pengirim)rz   zNama (Penerima)r{   zInstansi (Penerima)r|   r   r   )	rB   __init__r   ru   r2   r
   r   r   widget)r5   argskwargsrC   r9   r:   r      s   zViewForm.__init__c                 C   sH   |dkr| j d | j d |dkr"| j d | j d d S d S )NMASUKr{   r|   KELUARry   rz   )r   pop)r5   r"   r9   r9   r:   r1      s   zViewForm.surat_type_toggle)r;   r<   r=   r	   r   ModelChoiceFieldr*   Settingsr(   r4   r-   rw   rx   ChoiceFieldr~   r   r   r1   rV   r9   r9   rC   r:   r0   Y   s    ,,r0   )jsondjango.httpr   django.urlsr   django.core.exceptionsr   django.contribr   django.shortcutsr   r   webapp.views.baser   r	   r
   webapp.modelsr   r&   r   r*   webapp.commonr   r   r]   r   rL   r   r?   rX   r0   r9   r9   r9   r:   <module>   s   