a
    ؁h                     @   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
|}|rr|jd |v ph|jd |jkdkrrt|d u rt|d	}|| ||jd
< ||jd< |r|jr|jn|jd |jd< t|d|r|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   MD:\WORK\M-FILE\MFILE_PAPTENG_NEW\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                       s&   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}| rr| }t||j	d  t
||j|jd t|d td|j dS | j|||dS )Nr   suratfzberhasil menyimpan data.
surat_listr"   r?   )r$   r%   r0   POSTFILESis_validsavesuratf_uploadsave_surat_versionr/   deployr   getlistr   infor   r   lowerr)   )r5   r6   r"   r#   datar9   r9   r:   post.   s    zFormCreateView.post)Nr;   r<   r=   r)   rR   __classcell__r9   r9   rB   r:   r>   *   s   r>   c                       s&   e Zd Zd fdd	Zdd Z  ZS )FormUpdateViewNc                    s   t  j||||dS )Nr"   r!   r#   r@   )r5   r6   r"   r!   r#   rB   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  | rtjjj||d}t||jd  |  |jdd	}|r|d
ng }|rt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   rD   zberhasil mengubah data.rE   rF   rV   )r$   r%   r&   r'   r(   r)   r0   rG   rH   r   r   r   titlenomorrI   rK   rL   r/   rJ   splitSuratfr4   updaterM   rN   r   rO   r   rP   )r5   r6   r"   r!   rQ   r#   	surat_objpending_idsr9   r9   r:   rR   A   s     &zFormUpdateView.post)NrS   r9   r9   rB   r:   rU   =   s   rU   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vZJENIS_SURATZPERMEN_54_2009)r   kr   r   )empty_labelto_field_namequerysetZSIFAT_SURAT)publicPublic)privatePrivateTzStatus Fileri   )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   r^   tanggaljenissifatpengirim_namapengirim_instansipenerima_namapenerima_instansiperihalr   status_suratz%Y-%m-%d)format)r   rp   N)r;   r<   r=   r&   r'   modelfieldsr	   baseHiddenInput	DateInputwidgetsr9   r9   r9   r:   Metac   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)rs   zInstansi (Pengirim)rt   zNama (Penerima)ru   zInstansi (Penerima)rv   r   r   )	rA   __init__r{   ro   r2   r
   r|   r}   widget)r5   argskwargsrB   r9   r:   r   ~   s    zViewForm.__init__c                 C   sD   |dkr | j d | j d |dkr@| j d | j d d S )NMASUKru   rv   KELUARrs   rt   )r{   pop)r5   r"   r9   r9   r:   r1      s    zViewForm.surat_type_toggle)r;   r<   r=   r	   r|   ModelChoiceFieldr*   Settingsr(   r4   r-   rq   rr   ChoiceFieldrx   r   r   r1   rT   r9   r9   rB   r:   r0   X   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   rZ   r   rK   r   r>   rU   r0   r9   r9   r9   r:   <module>   s   