a
    ؁h                     @   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                   @   s   e Zd ZdZdZdS )z
Roles.MetaFZrolesN__name__
__module____qualname__manageddb_table r   r   JD:\WORK\M-FILE\MFILE_PAPTENG_NEW\mfile_papteng_new\webapp\models\master.pyMeta   s   r   N)r   r   r   r   	AutoField_pk	CharFieldrole	TextFieldnoter   r   r   r   r   r      s   r   c                   @   sT   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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      s   r   N)r   r   r   r   r   r   
ForeignKey
DO_NOTHINGr#   r   usrpwdr   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)selfresultir   r   r   _default)   s    zSettings._defaultc                   @   s   e Zd ZdZdZdS )zSettings.MetaFsettingsNr   r   r   r   r   r   0   s   r   N)r   r   r   r   r   r   r   r4   r6   r5   r!   classmethodr=   r   r   r   r   r   r0   #   s   
r0   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	   r1   @   )r
   r   r%   r2   r3   r   isr$   r   c                   @   s    e Zd ZdZdZdZddgZdS )z
Menus.MetaFZmenus))r4   hrefsorttextN)r   r   r   r   r   unique_togetherr+   r   r   r   r   r   @   s   r   N)r   r   r   r   r   r   IntegerField	pk_parentr   r4   rE   rC   ZiconrD   BooleanField_isr    extrar   r   r   r   r   r@   6   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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$   r@   menus_pkr"   users_pk)r
   r   r   rB   c                   @   s   e Zd ZdZdZdZdS )zAccess.MetaFaccess))rM   rN   )rM   rN   rO   N)r   r   r   r   r   rF   r   r   r   r   r   N   s   r   Nc                 C   sL   | j j||d }| j j|||d }|rH|jrH|rD|jrHdS ndS dS )N)rN   rM   )rN   rM   rO   TF)r7   r8   firstrJ   )r:   rN   rM   rO   Zby_roleZby_userr   r   r   _menus_validateS   s    
zAccess._menus_validate)NNN)r   r   r   r   r   r   r,   r-   rM   rN   rO   rI   rJ   r   r?   rR   r   r   r   r   rL   H   s   rL   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                   @   s   e Zd ZdZdZdgZdS )zTa.MetaFtaz-tahunNr*   r   r   r   r   r   f   s   r   N)	r   r   r   r   rG   ZtahunrI   currentr   r   r   r   r   rS   c   s   rS   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%   r2   c                   @   s   e Zd ZdZdZg dZdS )zSkpddg.MetaFZskpd_dg)	kd_urusan	kd_bidangkd_unitkd_subNr*   r   r   r   r   r   t   s   r   N)r   r   r   r   r   r   rG   rX   rY   rZ   r[   r   Zkd_allZurair   r   r   r   r   rW   l   s   rW   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 )AuditLogTrT   r"   user_id)r
   	on_deleter   2   r&   d   r2   r   c                   @   s   e Zd ZdZdZdgZdS )zAuditLog.MetaFZ
audit_logsz
-timestampNr*   r   r   r   r   r      s   r   N)r   r   r   r   r   Zlog_idr,   SET_NULLuserr   actioncontent_typerG   	object_pkr    descriptionDateTimeField	timestampr   r   r   r   r   r\   z   s   r\   N)__doc__	django.dbr   baser   r   Zwebapp.funcr   r   r"   r0   r@   rL   rS   rW   Modelr\   r   r   r   r   <module>   s   	