B
    eb                 @   st   d dl Z d dlZd dlmZ d dlmZ d dlmZ d dl	m
Z
mZmZ d dlmZ d dlmZ G dd	 d	eZdS )
    N)gettext_lazy)models)	BaseModel)constchoicesdb_const)Employee)r   c                   s  e Zd ZejeedejdZej	edde
jdddZej	ede
jdddZejed	ddd
Zej	edejdddZej	eddddddZejedejjddZej	eddddddZejedddejejddZejedddddZ ej	edddddZ!dd Z"dd Z#dd Z$dd  Z%d!d" Z&ed#e%_'ed$e&_'d%d& Z(ed'e(_' fd(d)Z) fd*d+Z*G d,d- d-Z+  Z,S ).BioPhotoZbioPhoto_field_employee)verbose_nameZ	on_deleteZbioPhoto_field_firstNameT )null
max_lengthblankdefaultZbioPhoto_field_lastName)r   r   r   ZbioPhoto_field_email)r   r   ZbioPhoto_field_enrollSNZbioPhoto_field_registerPhotod   F)r   r   r   editableZbioPhoto_field_registerTime)r   r   ZbioPhoto_field_approvalPhoto)r   r   r   r   ZbioPhoto_field_approvalState)r   r   r   r   r   ZbioPhoto_field_approvalTime)r   r   r   ZbioPhoto_field_remarkc             C   s   dj | jj| jjdS )Nz{pin} {name})pinname)formatemployeeemp_code
first_name)self r   <G:\easytimepro\master/mysite/iclock\models\model_biophoto.py__unicode__)   s    zBioPhoto.__unicode__c             C   s   dj | jj| jjdS )Nz{pin} {name})r   r   )r   r   r   r   )r   r   r   r   __str__,   s    zBioPhoto.__str__c             C   s<   | j rdj| jjj| j dS | jr8dj| jjj| jdS dS )Nzbiophoto/{company_id}/{file})
company_idfilezregister/{company_id}/{file}r   )approval_photor   r   companyhex_idregister_photo)r   r   r   r   get_register_photo_display/   s
    z#BioPhoto.get_register_photo_displayc             C   s   | j jS )N)r   r   )r   r   r   r   get_emp_code6   s    zBioPhoto.get_emp_codec             C   s   | j jS )N)r   email)r   r   r   r   	get_email9   s    zBioPhoto.get_emailZemp_field_employeeCodeZemp_field_employeeEmailc             C   s   | j S )N)	enroll_sn)r   r   r   r   get_enroll_ssn?   s    zBioPhoto.get_enroll_ssnZautoExport_task_terminalSNc                s   t t|   d S )N)superr	   save)r   argskwargs)	__class__r   r   r*   D   s    zBioPhoto.savec                s  ddl m} ddlm} ddlm} ddlm} | j	 }| jj
j}| jtjtjfkr|jj| jj djddd	}x |D ]}||}	||	|d
 q~W yT|d}
| jr| jnd| jj}tjtj|
||rttj|
|| W n& tk
r   dd l}|  Y nX y@|d}tjtj||| j rTttj||| j  W n& tk
r|   dd l}|  Y nX t!t"| #  d S )Nr   )zk_delete_data)get_or_create_folder)Terminal)	getDevice)Zarea__insnT)ZflatZvlFaceZbiophotoz{}.jpgregister)$Zmysite.core.zkcmdprocr.   Zmysite.utilsr/   Zmysite.iclock.modelsr0   Zmysite.iclock.utilsr1   r   r   r    r!   approval_stater   ZAPPROVAL_PASSEDZAPPROVAL_AUTO_APPROVEDZobjectsfilterZareaallZvalues_listr   r   r   ospathisfilejoinremove	Exception	traceback	print_excr"   r)   r	   delete)r   r.   r/   r0   r1   r   r   Zqsr2   ZdevZbpZbio_picr=   Zrp)r-   r   r   r?   G   s:    

 
zBioPhoto.deletec               @   s"   e Zd ZejZedZeZdZ	dS )zBioPhoto.MetaZiclock_model_bioPhoto)r?   viewN)
__name__
__module____qualname__r   Z	APP_LABELZ	app_label_r
   Zverbose_name_pluralZdefault_permissionsr   r   r   r   Metaf   s   rE   )-rA   rB   rC   r   Z
ForeignKeyr   rD   ZCASCADEr   Z	CharFieldr   ZMAX_EMP_FIRST_NAMEr   ZMAX_EMP_LAST_NAME	last_nameZ
EmailFieldr%   icZMAX_TERMINAL_SNr'   r"   ZDateTimeFielddatetimeZnowZregister_timer   ZSmallIntegerFieldr   ZAPPROVAL_PENDINGr   ZAPPROVE_CHOICESr4   Zapproval_timeZremarkr   r   r#   r$   r&   Zshort_descriptionr(   r*   r?   rE   __classcell__r   r   )r-   r   r	      s<   


r	   )r7   rH   Zdjango.utils.translationr   rD   Z	django.dbr   Zmysite.admin.modelsr   Zmysite.iclockr   r   r   rG   Zmysite.personnel.modelsr   Zmysite.personnelr	   r   r   r   r   <module>   s   