a
    ؁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   TD:\WORK\M-FILE\MFILE_PAPTENG_NEW\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                       s&   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}| r|d |d krFt|d nZt|d |d< |d= |d= tjj	d	|d
 d|d
< tj
jf i |}t|d tdS | j||dS )Nc                 S   s   i | ]\}}||qS r   r   .0kvr   r   r   
<dictcomp>       z#CreateView.post.<locals>.<dictcomp>Tr   pwd_oldpwd_newzpassword tidak sama.pwd   pk_rolesasisr   berhasil menyimpan data.
users_list)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                       s&   e Zd Zd fdd	Zdd Z  ZS )
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   rA   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r|d dkr|d dkr|jt|d krv|j|d< t|d	 q|d |d kr|j|d< t|d
 qt|d |d< n
|j|d< t	|d|d}|
 r|  t|d tdS | j|||dS )NTr-   c                 S   s   i | ]\}}||  qS r   )stripr"   r   r   r   r&   >   r'   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.post)Nr>   r   r   r    r   r@   2   s   r@   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   rN   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 _	|rd	| jd _
d
| jd _|rd	| jd _
d	| jd _
d	| jd _
d| jd _d| jd _d| jd _d S )NZUsernamerK   rG   r*   z	Peran ...r,   c                 S   s
   d| j  S )Nz%s)role)rolesr   r   r   <lambda>h   r'   zForm.__init__.<locals>.<lambda>FzUlangi Passwordr)   r(   zPassword LamazPassword BaruzUlangi Password Baru)r   __init__rM   rI   r   basePasswordInputrJ   empty_labellabel_from_instancerH   )r   r   r   argskwargsr    r   r   rR   `   s"    zForm.__init__)r   r   r   r   rS   	CharFieldr
   rT   r(   r)   rN   rR   r?   r   r   r    r   r   Y   s   r   N)django.httpr   r   r   Zdjango.contribr   django.shortcutsr   r   Zwebapp.authr   webapp.views.baser	   r
   r   Zwebapp.modelsr   	m_koleksir   r5   webapp.commonr   r   r   r@   r   r   r   r   r   <module>   s   '