B
    bM                 @   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 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mZmZ d dlmZmZmZ d dlmZ G dd dejZ eej!e ddd Z"dS )    )models)signals)settings)receiver)get_user_model)gettext_lazy)db_const)Company)Employee)MyUser)DepartmentManyToManyFieldAreaManyToManyFieldPositionManyToManyField)
DepartmentAreaPosition)choicesc               @   s   e Zd ZejddZejeejddZ	eje
ejdZejeejddddZejedejd	d
ZeeeddeddZeeeddeddZeeeddeddZdd ZG dd dZdS )
MembershipT)Zprimary_keycompany)	on_deleterelated_name)r   vendor_company)r   Znullblankr   Zuser_field_roler   )verbose_namer   defaultZuser_field_authorizedDepartmentZ&user_field_authorizedDepartmentHelpTxt)r   r   Z	help_textZuser_field_authorizedAreaZ user_field_authorizedAreaHelpTxtZuser_field_authorizedPositionZuser_field_authorizedPosHelpTxtc             C   s
   t | jS )N)strid)self r   6G:\easytimepro\master/mysite/base\models\membership.py__str__%   s    zMembership.__str__c               @   s    e Zd ZdZdZedZeZdS )zMembership.Metabase))userr   Zbase_membershipN)__name__
__module____qualname__Z	app_labelZunique_together_r   Zverbose_name_pluralr   r   r   r   Meta(   s   r'   N)r#   r$   r%   r   Z	AutoFieldr   Z
ForeignKeyr	   ZCASCADEr   r   r"   r   ZSmallIntegerFieldr&   r   ZROLE_CHOICESroler   r   Z	auth_deptr   r   Z	auth_arear   r   Zauth_posr    r'   r   r   r   r   r      s   
r   )senderc             K   s  t jrddlm} ddlm} ddddddd	d
dd}t|j}|| d }	|r|jj	}
d}|
ddd}||d |d}|
 }|jj}d}|dd}||d |d}|
 }d|krd|krd|d krd|d kr|d d d d }|d d d d }|||	|
ddg}d}|||d d}| }|dkr|jj	}d}|ddd}||d |d}|
 }d|kr|d d d d }d|i}d|}|||d d}| }d S )Nr   )cache)!HttpRequestInterfaceForIoTServiceZ 8a848a90758cd6b501758cd6d8e90002r
   )r   nameZ 8a848a90758cd6b501758cd6d8c80000ZAdminZ 8a848a90758cd6b501758cd6d8e90001ZVendor)r         r   z@ https://authorization.minervaiotdev.com/api/v2.0/company/searchr-   zrobin.chen@zkteco.com)r,   
pageNumberemail)bodyparamsz= https://authorization.minervaiotdev.com/api/v2.0/user/search)r0   r/   datar   r"   Zapplication_id)ZcompanyIdOrCodeZuserIdOrEmailOrPhoneZroleIdZapplicationIdz< https://authorization.minervaiotdev.com/api/v2.0/membershipr.   ZparentIdOrCodez< https://authorization.minervaiotdev.com/api/v2.0/company/{})r   ZCLOUD_VERSIONZdjango.core.cacher*   Z"mysite.cloud.minerva_iot_interfacer+   intr(   r   r,   getr"   r0   Zpostr   formatZput)r)   instanceZcreatedrawkwargsr*   r+   Zrole_mapZcurrent_roleZauthorization_role_idZcompany_nameZurlr2   Zcompany_interface_objectZcompany_contentZ
user_emailZinterface_objectZuser_contentZ
company_idZuser_idr1   ZcontentZvendor_company_nameZvendor_company_idr   r   r   /save_or_update_company_to_authorization_service/   sZ    




r:   N)#Z	django.dbr   Zdjango.db.modelsr   Zdjango.confr   Zdjango.dispatch.dispatcherr   Zdjango.contrib.authr   Zdjango.utils.translationr   r&   Zmysite.baser   Z!mysite.cloud.models.model_companyr	   Z&mysite.personnel.models.model_employeer
   Zmysite.accounts.modelsr   Zmysite.personnel.fieldsr   r   r   Zmysite.personnel.modelsr   r   r   Zmysite.cloudr   ZModelr   Z	post_saver:   r   r   r   r   <module>   s   