a
    Mf                     @   s   d dl mZ d dlZd dlmZ d dlmZmZ d dlZd dl	Z	G dd dej
ZG dd deZG d	d
 d
eZG dd dej
ZdS )    )ValueN)models)AbstractBaseUserBaseUserManagerc                   @   sD   e Zd ZejddZejddZejddZej	ddZ
dd Zd	S )
Enterprises   
max_length2   @  Fdefaultc                 C   s   | j S N)titleself r   ./var/www/html/django/DPS/usercontrol/models.py__str__   s    zEnterprises.__str__N)__name__
__module____qualname__r   	CharFieldr   address
EmailFieldemailBooleanFieldZis_simulatedr   r   r   r   r   r      s
   r   c                   @   s   e Zd ZdddZdd ZdS )MyUserManagerN   c                 C   sH   |st d|st d| j| ||d}|| |j| jd |S )Nu   Lietotājam jābūt e-pastamu$   Lietotājam jābūt lietotājvārdam)r   usernameusing)
ValueErrormodelnormalize_emailset_passwordsave_db)r   r   r   passwordZenterprise_iduserr   r   r   create_user   s    
zMyUserManager.create_userc                 C   s:   | j | |||d}d|_d|_d|_|j| jd |S )N)r   r   r(   Tr    )r*   r$   is_adminis_staffis_superuserr&   r'   )r   r   r   r(   r)   r   r   r   create_superuser$   s    zMyUserManager.create_superuser)Nr   )r   r   r   r*   r.   r   r   r   r   r      s   
r   c                   @   s   e Zd ZejdddZejdddZejdddZ	ejd	dd
Z
ejddZejddZejddZejddZejddZejeejddZdZdgZe Zdd ZdddZdd ZdS )Usersr   <   )verbose_namer	      T)r	   uniquezdate joined)r1   auto_now_addz
last login)r1   auto_nowFr   r   )	on_deleter   r   c                 C   s   | j S r   )r   r   r   r   r   r   B   s    zUsers.__str__Nc                 C   s   | j S r   )r+   )r   permobjr   r   r   has_permD   s    zUsers.has_permc                 C   s   dS )NTr   )r   	app_labelr   r   r   has_module_permsF   s    zUsers.has_module_perms)N)r   r   r   r   r   r   r   r   DateTimeFielddate_joined
last_loginr   r+   r,   r-   	is_activeZis_owner
ForeignKeyr   CASCADE
enterpriseUSERNAME_FIELDREQUIRED_FIELDSr   objectsr   r9   r;   r   r   r   r   r/   1   s    
r/   c                   @   sh   e Zd ZejddZejddZejddZej	ddZ
ejeejdZejddejddZd	d
 ZdS )TemporaryUserr2   r   r   T)r4   )r6   F)primary_keyr3   r   editablec                 C   s   | j j|d  d S )N)Zinvite_time__lte)rE   filterdelete)r   max_ager   r   r   delete_old_invite_codesT   s    z%TemporaryUser.delete_old_invite_codesN)r   r   r   r   r   nameZsurnamer   r   r<   Zinvite_timer@   r   rA   rB   	UUIDFielduuiduuid4coderL   r   r   r   r   rF   J   s   rF   )Zmultiprocessing.sharedctypesr   rO   	django.dbr   django.contrib.auth.modelsr   r   randomstringModelr   r   r/   rF   r   r   r   r   <module>   s   