
    &iK                     ~    d dl Z d dlZd dlZd dlmZ d dl d dlm	Z	  G d dej                  j                  e	      Zy)    N)commit_all_ds)*)ResponseMixinc                   X    e Zd ZdZej
                  j                  d        Zed        Z	y)
InviteViewz/invitec                 6   t         j                  d   }t        j                  j	                  |g d      }|s| j                  ddt        d            S |j                         r8|j                  d       t                | j                  ddt        d	             	 t        j                         5  |j                  d       d
d
d
       t        j                  |      }|j                  rt        j                         |j                  kD  rdj!                  t"        j$                  j'                  t)        |j*                  j,                              t"        j$                  j'                  t)        |      d            }t/        t        |            }nt/        t        |            }| j1                  ||      S # 1 sw Y   xY w# t2        $ rD}t4        j7                  t)        |             | j                  d|t        d            cY d
}~S d
}~ww xY w)ua    Сюда переходят люди по ссылке из письма-приглашения h)scopereset_password_expirespassword_expires_must_changelogin)reset_password_hashfieldsi  znot authz/auth/signin?invite=failT)resetz/auth/signin?invite=expiredNzF/auth/profile?action=change_password&login={login}&next_url={next_url} )safe)r   next_url)requestvaluesmodelsCmfAuthget_errorredirectreset_pass_is_expiredreset_pass_set_datar   cmfutildisable_aclr   _choose_endpointr   timeformaturllibparsequotestrr   valuemake_response_ok	Exceptionloggingwarning)selfr   authendpointchange_password_urlresponsees          ./modules/auth/views/invite.pyr   zInviteView.get   s    &nnS1~~!! 3_ " 
 ;;sJ;S0UVV%%'$$4$0OKKZ4O)QR	N$$& 5((t(45!2248H00TYY[4CdCd5d&n&u&u ,,,,S1A1A-BC#\\//HB/G 'v '# )2E)FG(();<88Hd++5 5  	NOOCF#;;sAx2J'LMM	Ns7   G 2F?C9G ?GG 	H9HHHc                 ^   | j                   j                  s| j                   j                  syd| j                   j                  vrgd| j                   j                  v rNt        j                  j                  | j                   j                  j                  d      d         r&t        j                  rdt        j                  z   dz   S | j                   j                  j                  d      d   t        j                  z   dk(  ry| j                   j                  j                  d      d   t        j                  k(  r.d| j                   j                  j                  d      d   z   dz   S d| j                   j                  j                  d      d   z   t        j                  z   dz   S y)	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
   is_nullr&   configAUTH_SESSION_COOKIE_DOMAIN
startswithsplitIS_BOX_VERSION)r-   s    r2   r   zInviteView._choose_endpoint-   sN    ::TZZ%5%5"

(((SDJJ4D4D-D00;;DJJ<L<L<R<RSV<WXY<Z[`f`u`u!F$E$EEKKzz%%c*1-0Q0QQU~~9zz%%c*1-1R1RR!DJJ$4$4$:$:3$?$BBSHH

 0 0 6 6s ;A >>AbAbbehhh    N)
__name__
__module____qualname____url__cmfviewsactionr   staticmethodr    r=   r2   r   r   
   s9    GYYN N>  r=   r   )r    urllib.parser"   	cmf.viewsrB   cmf.data_providers.baser   cmf.includemodules.auth.views.responser   rC   BaseViewr   rF   r=   r2   <module>rM      s/       1  5:##] :r=   