B
    b                 @   s\   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
 d dlmZ G dd deZd	S )
    )models)gettext_lazy)ActionHandleError)AdminRuntimeWarning)db_const)AbstractCloudc                   sj   e Zd ZejedejdZejedej	dZ
dd ZG dd dZd fd
d	Zd fdd	Z  ZS )CertificationZcertification_field_code)Z
max_lengthZcertification_field_namec             C   s
   d| j  S )Nz%s)	cert_name)self r   DG:\easytimepro\master/mysite/personnel\models\model_certification.py__str__   s    zCertification.__str__c               @   s   e Zd ZejZedZeZdS )zCertification.MetaZpsnl_model_certificationN)	__name__
__module____qualname__r   Z	APP_LABELZ	app_label_Zverbose_nameZverbose_name_pluralr   r   r   r   Meta   s   r   FNc                s8   t d| jrttdtt| j|ddd d d S )Nz[~!@#$%^&*()_+{}":;']+$Z#employee_document_number_validationF)usingforce_insertforce_updateupdate_fields)setintersection	cert_coder   r   superr   save)r
   r   r   r   r   )	__class__r   r   r      s    zCertification.savec                sB   g }t | j dkrtd}|r*t|tt| j||d d S )Nr   z!document_is_using_can_not_delete.)r   keep_parents)lenZemployeecertification_setfilterr   r   r   r   delete)r
   r   r   message)r   r   r   r    %   s    zCertification.delete)FFNN)NF)r   r   r   r   Z	CharFieldr   r   ZMAX_CERT_CODEr   ZMAX_CERT_NAMEr	   r   r   r   r    __classcell__r   r   )r   r   r      s    r   N)Z	django.dbr   Zdjango.utils.translationr   r   Zmysite.admin.actionr   Zmysite.admin.exceptionsr   Zmysite.personnelr   Z!mysite.admin.abstract_cloud_modelr   r   r   r   r   r   <module>   s   