o
    ؁h                     @   s   d dl mZmZmZ d dlmZ d dlmZmZ d dl	m
Z
 d dlmZ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 )    )HttpResponseJsonResponseHttpResponseRedirect)messages)renderredirect)auth_pwd_hash)
CommonView
CommonFormCommonModelForm)koleksimaster)dumpc                   @   s   e Zd ZdddZdS )ViewNFc                 C   s   t |d||||dS )Nzmaster/users/form.html)pk	is_create	is_updateform)r   )selfrequestr   r   r   r    r   A/var/www/html/mfile_papteng_new/webapp/views/master/users/form.pyget   s   zView.get)NNFF)__name__
__module____qualname__r   r   r   r   r   r   
   s    r   c                       &   e Zd Zd fdd	Zdd Z  ZS )
CreateViewNc                    s&   |d u r	t dd}t j|d |ddS )NTr   )r   r   r   )Formsuperr   )r   r   r   	__class__r   r   r      s   zCreateView.getc                 C   s   dd |j  D }t|dd}| rP|d |d kr#t|d n-t|d |d< |d= |d= tjj	d	|d
 d|d
< tj
jdi |}t|d tdS | j||dS )Nc                 S   s   i | ]\}}||qS r   r   .0kvr   r   r   
<dictcomp>   s    z#CreateView.post.<locals>.<dictcomp>Tr   pwd_oldpwd_newzpassword tidak sama.pwd   pk_rolesasisr   berhasil menyimpan data.
users_list)r   r   )POSTitemsr   is_validr   warningr   m_masterRoles	_read_oneUsers_createinfor   r   )r   r   datar   usersr   r   r   post   s   zCreateView.postNr   r   r   r   r=   __classcell__r   r   r!   r   r      s    r   c                       r   )
UpdateViewNc                    s@   t jj|d}|d u rtd|d}d |jd< t j|||ddS )N)r   T)r   initialr*   )r   r   r   )r5   r8   r7   r   rB   r    r   )r   r   r   r   r;   r!   r   r   r   3   s   
zUpdateView.getc                 C   s   d }t jjd|d}dd |j D }|d dkrX|d dkrX|d dkrX|jt|d kr;|j|d< t|d	 n"|d |d krO|j|d< t|d
 nt|d |d< n|j|d< t	|d|d}|
 rv|  t|d tdS | j|||dS )NTr-   c                 S   s   i | ]	\}}||  qS r   )stripr#   r   r   r   r'   >   s    z#UpdateView.post.<locals>.<dictcomp>r*    r(   r)   zpassword lama salah.zpassword baru tidak sama.)r   instancer/   r0   )r   r   )r5   r8   r7   r1   r2   r*   r   r   r4   r   r3   saver:   r   r   )r   r   r   r   userr=   r   r   r   r=   ;   s$   $


zUpdateView.postr>   r?   r   r   r!   r   rA   2   s    rA   c                       sf   e Zd Ze jdde jdZe jdde jdZ	G dd dZ
ddd fdd	
Z  ZS )
r   TPassword)requiredlabelwidgetc                   @   s   e Zd ZejZg dZdS )z	Form.Meta)usrr*   r,   N)r   r   r   r5   r8   modelfieldsr   r   r   r   Meta\   s    rO   F)r   r   c                   s   t  j|i | d| jd _d| jd _t  | jd _d| jd _d| jd _dd | jd _	|rAd	| jd _
d
| jd _|rid	| jd _
d	| jd _
d	| jd _
d| jd _d| jd _d| jd _d S d S )NUsernamerL   rH   r*   z	Peran ...r,   c                 S   s
   d| j  S )Nz%s)role)rolesr   r   r   <lambda>h   s   
 zForm.__init__.<locals>.<lambda>FzUlangi Passwordr)   r(   zPassword LamazPassword BaruzUlangi Password Baru)r    __init__rN   rJ   r   basePasswordInputrK   empty_labellabel_from_instancerI   )r   r   r   argskwargsr!   r   r   rT   `   s$   zForm.__init__)r   r   r   r   rU   	CharFieldr
   rV   r(   r)   rO   rT   r@   r   r   r!   r   r   Y   s
    r   N)django.httpr   r   r   django.contribr   django.shortcutsr   r   webapp.authr   webapp.views.baser	   r
   r   webapp.modelsr   	m_koleksir   r5   webapp.commonr   r   r   rA   r   r   r   r   r   <module>   s   '