B
    bW                 @   sP   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)ValidationError)gettext_lazy)AdminRuntimeWarning)AbstractCloudc                   sx   e Zd ZejddZejedddZejedddZ	dd	 Z
d
d Z fddZd fdd	ZG dd dZ  ZS )PurposeTypeT)Zprimary_keyZpurpose_field_code   )Z
max_lengthZpurpose_filed_name   c             C   s   d | jS )Nz{0})formatpurpose_name)self r   @G:\easytimepro\master/mysite/payroll\models\model_purposetype.py__str__   s    zPurposeType.__str__c             C   sl   t jj| j| jd}|r4|d j| jkr4ttdt jj| j| jd}|rh|d j| jkrhttdd S )N)Zpurpose_code__exact
company_idr   Z this_purpose_code_already_exists)Zpurpose_name__exactr   Z this_purpose_name_already_exists)	r   objectsfilterpurpose_coder   Zpkr   _r   )r   objr   r   r   clean   s    zPurposeType.cleanc                s   t t|   d S )N)superr   save)r   )	__class__r   r   r      s    zPurposeType.saveNFc                sB   ddl m} |jj| jd}|r,ttdtt| 	|| d S )Nr   )Reimbursement)Zallowance_type_idZ"the_purpose_type_is_already_in_use)
Zmysite.payroll.modelsr   r   r   idr   r   r   r   delete)r   ZusingZkeep_parentsr   Zls)r   r   r   r      s
    zPurposeType.deletec               @   s"   e Zd ZdgZdZedZeZdS )zPurposeType.Metar   ZpayrollZpayroll_model_purposetypeN)__name__
__module____qualname__ZorderingZ	app_labelr   Zverbose_nameZverbose_name_pluralr   r   r   r   Meta$   s   r    )NF)r   r   r   r   Z	AutoFieldr   Z	CharFieldr   r   r   r   r   r   r   r    __classcell__r   r   )r   r   r   	   s   r   N)Z	django.dbr   Zdjango.formsr   Zdjango.utils.translationr   r   Zmysite.admin.exceptionsr   Z!mysite.admin.abstract_cloud_modelr   r   r   r   r   r   <module>   s
   