B
    b                 @   s|   d dl Z d dlmZ d dlmZ d dlmZmZ d dl	m
Z
 d dlmZ d dlmZ d dlmZ d	d
 ZG dd de
ZdS )    N)models)gettext_lazy)MinValueValidatorMaxValueValidator)AbstractCloud)	APP_LABEL)db_const)AdminRuntimeWarningc             C   s\   dd l }y.|dtjj dj| jt| j d  W n   Y nX dj| jt| j	 dS )Nr    z/logo/{file}.jpg)filezlogo/{file}.jpg)
osunlinkr   PHOTO_STORAGElocationformat	client_idstridcompany_name)selffilenamer    r   >G:\easytimepro\master/mysite/att\models\model_clientdetails.pyupload_path_handler   s    .r   c                   s$  e Zd ZejedddZejedddZeedZ	ejedddZ
ejedddZejedd	dZejed
ddZejedededgdZejedededgdZejededgdZejeejddddZdd Z fddZd# fdd 	ZG d!d" d"Z  ZS )$ClientDetailsZclientDetails_field_clientId7   )
max_lengthZclientDetails_field_companyNameZclientDetails_field_addressZclientDetails_field_branchZ!clientDetails_field_contactPersonZclientDetails_field_mobile   ZclientDetails_field_location2   )defaultZclientDetails_field_longitudeg     fg     f@)Z
validatorsZclientDetails_field_latitudeg     Vg     V@Z'clientDetails_field_punchLocationRadiusg      ?T   )Z	upload_toZstorageZblankZnullr   c             C   s   d | jS )Nz{0})r   r   )r   r   r   r   __str__(   s    zClientDetails.__str__c       	         s   ddl m} ddl m} dd l}| jjr8tt|   n|j	j
| jd}xh|D ]`}g }x"||jD ]}||d  qdW | j|krN|j	j
| j|jd}|rNttd| j qNW tt|   d S )Nr   )OutdoorEmployeeSchedule)OutdoorSchedulePlanner)
company_idr   )r$   Zschedule_planner_idZ$att_outdoor_client_modify_validation)mysite.att.modelsr"   r#   json_stateZaddingsuperr   saveobjectsfilterr$   loadsschedule_detailsappendpkr   r	   _r   )	r   r"   r#   r&   Zoutdoor_scheduleZeachZAll_client_idsdataZempSchedule)	__class__r   r   r)   +   s     



zClientDetails.saveNFc                sz   ddl m} |j }|rbxF|D ]>}t|j}x,|D ]$}|d | jkr6tt	d| j
 q6W q W tt| j||d d S )Nr   )r#   r   Z$att_outdoor_client_delete_validation)usingkeep_parents)r%   r#   r*   allr&   r,   r-   r/   r	   r0   r   r(   r   delete)r   r3   r4   r#   ZschedulexZ	schedulesy)r2   r   r   r6   >   s    


zClientDetails.deletec               @   s    e Zd ZeZedZeZdZdS )zClientDetails.MetaZatt_model_clientDetails)r6   ZchangeviewN)	__name__
__module____qualname__r   Z	app_labelr0   Zverbose_nameZverbose_name_pluralZdefault_permissionsr   r   r   r   MetaI   s   r=   )NF)r:   r;   r<   r   Z	CharFieldr0   r   r   Z	TextFieldZaddressbranchZcontact_personmobileZIntegerFieldZdistanceZ
FloatFieldr   r   Z	longitudeZlatitudeZpunch_location_radiusZ
ImageFieldr   r   r   Zlogor!   r)   r6   r=   __classcell__r   r   )r2   r   r      s&   


r   )r&   Z	django.dbr   Zdjango.utils.translationr   r0   Zdjango.core.validatorsr   r   Z!mysite.admin.abstract_cloud_modelr   Zmysite.att.db_constr   Zmysite.personnelr   Zmysite.admin.exceptionsr	   r   r   r   r   r   r   <module>   s   	