o
     iO                     @   s   d Z ddl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G dd deZG dd deZG dd deZG dd dejZdS )z
ingat
fields(pk,is,type,dst,reserved-words) ndak bisa d pake, jadi harus pake alias.
dengan cara prefix "_" (underscore) n kasi prop "db_column" dengan nama field asli.
    )models   )CommonModelRecursiveModel)dumpc                   @   sD   e Zd ZejdddZejdddZejdddZ	G dd dZ
d	S )
RolespkT	db_columnprimary_key   unique
max_lengthblanknullc                   @      e Zd ZdZdZdS )z
Roles.MetaFrolesN__name__
__module____qualname__manageddb_table r   r   7/var/www/html/mfile_papteng_new/webapp/models/master.pyMeta       r   N)r   r   r   r   	AutoField_pk	CharFieldrole	TextFieldnoter   r   r   r   r   r      s
    r   c                   @   s\   e Zd ZejdddZejdejddZej	dddZ
ej	d	d
ZG dd dZdd ZdS )Usersr   Tr	   r   pk_rolesr
   r   r      r   c                   @   s   e Zd ZdZdZddgZdS )z
Users.MetaFusersupdatedcreatedNr   r   r   r   r   orderingr   r   r   r   r          r   c                 C   s   | j S )N)usr)selfr   r   r   __str__!   s   zUsers.__str__N)r   r   r   r   r   r    
ForeignKey
DO_NOTHINGr&   r!   r0   pwdr   r2   r   r   r   r   r%      s    r%   c                   @   sv   e Zd ZejdddZejdddddZejddddZejddddZ	ejd	dddZ
ed
d ZG dd dZdS )Settingsr   Tr	   typer   )r
   r   r   r   r   r   r      r(   c                 C   s0   i }| j jd d D ]
}|d ||d < q|S )N)_typevk)objectsfiltervalues)r1   resultir   r   r   _default+   s   zSettings._defaultc                   @   r   )zSettings.MetaFsettingsNr   r   r   r   r   r   2   r   r   N)r   r   r   r   r   r    r!   r:   r<   r;   r$   classmethodrB   r   r   r   r   r   r6   %   s    
r6   c                   @   s   e Zd ZejdddZe ZejdddZ	ejddddZ
ejd	dddZejd
dddZe ZejddZejdddZG dd dZdS )Menusr   Tr	   r7   @   )r
   r   r(   r8   r9   r   isr'   r   c                   @   s    e Zd ZdZdZdZddgZdS )z
Menus.MetaFmenus))r:   hrefsorttextN)r   r   r   r   r   unique_togetherr.   r   r   r   r   r   B   s
    r   N)r   r   r   r   r   r    IntegerField	pk_parentr!   r:   rK   rI   iconrJ   BooleanField_isr#   extrar   r   r   r   r   rE   8   s    rE   c                   @   s   e Zd ZejdddZejdejddZejdejddZ	ejd	ejd
dddZ
ejddddZG dd dZedddZdS )Accessr   Tr	   r   roles_pkr'   rE   menus_pkr%   users_pk)r
   r   r   rG   c                   @   s   e Zd ZdZdZdZdS )zAccess.MetaFaccess))rT   rU   )rT   rU   rV   N)r   r   r   r   r   rL   r   r   r   r   r   P   s    r   Nc                 C   sN   | j j||d }| j j|||d }|r%|jr%|r#|jr!dS dS dS dS )N)rU   rT   )rU   rT   rV   TF)r=   r>   firstrQ   )r1   rU   rT   rV   by_roleby_userr   r   r   _menus_validateU   s   
zAccess._menus_validate)NNN)r   r   r   r   r   r    r3   r4   rT   rU   rV   rP   rQ   r   rD   r[   r   r   r   r   rS   J   s    rS   c                   @   s4   e Zd ZejddZejdddZG dd dZdS )TaTr   r   c                   @      e Zd ZdZdZdgZdS )zTa.MetaFtaz-tahunNr-   r   r   r   r   r   h       
r   N)	r   r   r   r   rM   tahunrP   currentr   r   r   r   r   r\   e   s    r\   c                   @   sh   e Zd ZejdddZe Ze Ze Z	e Z
ejddddZejddddZG dd dZdS )	Skpddgr   Tr	   r(   r8   c                   @   s   e Zd ZdZdZg dZdS )zSkpddg.MetaFskpd_dg)	kd_urusan	kd_bidangkd_unitkd_subNr-   r   r   r   r   r   v   r/   r   N)r   r   r   r   r   r    rM   re   rf   rg   rh   r!   kd_allurair   r   r   r   r   rc   n   s    rc   c                   @   sz   e Zd ZejddZejddejddZej	ddZ
ej	dddd	Zejddd
Zejddd
Ze ZG dd dZdS )AuditLogTr]   r%   user_id)r
   	on_deleter   2   r)   d   r8   r   c                   @   r^   )zAuditLog.MetaF
audit_logsz
-timestampNr-   r   r   r   r   r      r`   r   N)r   r   r   r   r   log_idr3   SET_NULLuserr!   actioncontent_typerM   	object_pkr#   descriptionDateTimeField	timestampr   r   r   r   r   rk   |   s    rk   N)__doc__	django.dbr   baser   r   webapp.funcr   r   r%   r6   rE   rS   r\   rc   Modelrk   r   r   r   r   <module>   s   	