U
    Ef                     @   sB   d dl Zd dlmZ d dlT d dlmZ G dd dejjeZ	dS )    N)commit_all_ds)*)ResponseMixinc                   @   s,   e Zd ZdZejjdd Zedd Z	dS )
InviteViewz/invitec              
   C   s   t jd }tjj|ddgd}|s4| ddtdS | r`|jdd	 t	  | ddtd
 zDt
  |jdd	 W 5 Q R X t|}tt|}| ||W S  tk
r } z(tt| | d|td W Y S d}~X Y nX dS )ua    Сюда переходят люди по ссылке из письма-приглашения hscopeZreset_password_expires)reset_password_hashZfieldsi  znot authz/auth/signin?invite=failT)resetz/auth/signin?invite=expiredN)ZrequestvaluesZmodelsZCmfAuthget_errorZredirectZreset_pass_is_expiredZreset_pass_set_datar   ZcmfutilZdisable_aclr   _choose_endpointZmake_responseZ_ok	ExceptionZloggingZwarningstr)selfr   authZendpointZresponsee r   ./modules/auth/views/invite.pyr   
   s"    


zInviteView.getc                 C   s   | j js| j jsdS d| j jkrd| j jkrtj| j jdd rZtjrZdtj d S | j jdd tj dkrzdS | j jdd tjkrd| j jdd  d S d| j jdd  tj d S dS )	uI  
        Выбираем куда отправить приглашённого:
        - Список CRM, если их несколько
        - Адрес CRM, если она единственная в scope
        - Описание профиля (нет scope, полуневозможный случай)
        z/auth/profile :r   zhttps:///z'corp.noytech.comrumowsl10.ee.win.int.knz https://rumowsl10.ee.win.int.kn/)r   Zis_nullvalueZconfigZAUTH_SESSION_COOKIE_DOMAIN
startswithsplitZIS_BOX_VERSION)r   r   r   r   r       s      zInviteView._choose_endpointN)
__name__
__module____qualname__Z__url__cmfviewsactionr   staticmethodr   r   r   r   r   r      s
   
r   )
Z	cmf.viewsr   Zcmf.data_providers.baser   Zcmf.includeZmodules.auth.views.responser   r   ZBaseViewr   r   r   r   r   <module>   s   