
    _1jG&                     P    d dl mZ d dl d dlmZ  G d dej
                        Zy)    )fields)*)cmf_auth_plugin_datac                   $     e Zd Zd Z fdZ xZS )CmfAuthPluginDatac                 z   | j                  g d       | j                  }| j                  j                  }| j                  j                  d      d    d| j                  j
                   }| j                  j                  rCdj                  | j                  j                  d             d| j                  j
                   }|j                         j                         }g d}t        j                  j                         }| j                  st        j                  j                  ||      }|r||j                   v rOt        j"                  j                  dd|gd	d| j                  ggd	g
      }|rt%        d|j                   d      || _        nl| j                  j&                  rV| j                  j(                  j+                  d| j                          | j                  j                  j-                          | j                  s| j.                  rt        j                  j1                  | j.                  |      }t3        |      dkD  r3| j                  j(                  j5                  d| j.                          nF|rD|d   }|r=||j                   vr/| j                  j(                  j+                  d|        || _        | j                  s| j6                  rt        j                  j1                  | j6                  |      }t3        |      dkD  r3| j                  j(                  j5                  d| j6                          nF|rD|d   }|r=||j                   vr/| j                  j(                  j+                  d|        || _        | j                  s| j                  j8                  st        j                  |      | _        n| j                  j(                  j+                  d| d| j                  j8                          d| _        | j=                          y| j                  j8                  r| j                  j?                  | j                  j8                        sa| j                  j(                  j+                  d| j                   d| j                  j8                          d| _        | j=                          y| j                  j                  }|r=| j@                  r1d|_!        |j=                  d       d| _        | j=                          y|r| jD                  r|jF                  s/| j                  j(                  j+                  d|        d|_!        t        j                  j                         }||j                   v r|j                   jI                  |       |j=                  d       d| _        | jK                          y||_        | j6                  jL                  s| j6                  |_        | jN                  jL                  s| jN                  |_'        | jP                  jL                  s| jP                  |_(        | j6                  jR                  s,| jN                  jR                  s| jP                  jR                  r| j6                  xs | jN                  xs | jP                  xs d}|rq|j                  d      }	t3        |	      dkD  r|jN                  s
|	d   |_'        t3        |	      dkD  r|jP                  s
|	d   |_(        t3        |	      d kD  r
|	d    |_*        | j.                  jL                  s| j.                  |_        | j                  jV                  D ],  }
|
|j                   vs|j                   jY                  |
       . d|_!        ||_-        | j\                  |_.        | j^                  D ]  }d!| d!}t        j                  j                  d"d#d$| d$gt1        | j^                  |   ja                               d%gz   d&      }|st%        d'| d$      |j&                  r9| j                  j(                  j+                  d(| d)       |j-                          ||j                   vs|j                   jY                  |        t1        |j                         D ]  }|j                  d"d	g       |j                  r9|j                  r.|j                  jb                  | j                  jb                  k7  r\|jd                  sid}| j^                  D ]  }||jd                  v sd} |r|j                   jI                  |       tg        d*|         t        j                  j                         }||j                   vr|j                   jY                  |       | jh                  r9| jh                  j                  jk                         D ]  \  }}tm        |||        |j=                  d       d| _        | j=                  d+       y),uP   
        Создание/обновление пользователя
        )r   zauth_plugin.domainzperson.is_adminzperson.is_supportperson.user_localperson.rg_member_of.ext_idzperson.loginzperson.rg_member_ofzperson.namezperson.auth_optionsgroupszperson.emailzperson.last_namezperson.first_namezperson.second_namezperson.employee_numberzauth_plugin.default_groupszperson.cmf_deletedzauth_plugin.dont_delete_domainzauth_plugin.sync_group@r   _)ext_idrg_member_ofauth_options
user_localdoes_not_workemail	last_name
first_nameloginis_admin
is_support)r   r   personz==auth_plugin)filterr   u%   Учетная запись с login=ub    уже загружена, похоже в интеграции одинаковые логиныu?   Пользователь удален - восстановим )r   r      u7   Несколько пользователей с email u/   Нашли пользователя по email )namer   u6   Несколько пользователей с name u4   Нашли пользователя по имени )r   u   Пользователь u)    не находится в группе FN)groupT)	from_ldapu    Блокируем учетку      z::r   LIKE%cmf_deleted)r   r   include_deletedu.   Не найдена группа ext_id LIKE %u.   Восстанавливаем группу «   »zRemove group )	only_data)7load_fieldsr   valuesplitr   domaindont_delete_domainjoinlowerstripmodelsCmfPersonGroup
ldap_groupr   	CmfPersongetr   r   	Exceptionr%   loggerinforestorer   listlenwarnr   
sync_groupdirtysavein_person_groupldap_disabledr   ldap_deletedr   removedeleteis_nullr   r   
is_changedsecond_namedefault_groupsappend	ext_loginemployee_numberr   keysidr   print
fields_mapitemssetattr)selfrJ   r   _fieldsldap_grpr   duppersons	full_namename_arrgrpgroup_idr   r   	gr_exists	_group_id	_ldap_grpkeyvals                      1./modules/settings/models/cmf_auth_plugin_data.pyprocess_personz CmfAuthPluginData.process_person   s    	 U 	V
 JJ	

  ::##C(+,Ad.>.>.E.E-FG..xx

 0 0 567q9I9I9P9P8QRE##%R ((335{{%%))g)FFv222 2266$PV?WZgimosoo  ZA  ?B  LY  KZ6  [C'*OPVP\P\~  ^@  )A  B  B$[[$$##((+jkokvkvjw)xyKK%%'{{tzz&&++$**W+MG7|a  '',,/fgkgqgqfr-st hf.A.AA$$++003bcibj1kl"(DK {{tyy&&++7+KG7|a  '',,/efjfofoep-qr hf.A.AA$$++003ghngo1pq"(DK{{ ##..$..U.;  '',,/HS|  ~B  ~N  ~N  ~Y  ~Y  }Z  .[  \"
		((;;..T5E5E5P5P.Q  '',,/HU~  @D  @P  @P  @[  @[  \  .]  ^"
		 "" d((#'F KK$K'DJIIK d''??  '',,/OPVx-XY'+$,,779H6...##**84KK$K'DKKKM yy  ))FK~~%%#~~F&& $F994>>#<#<@Z@Z		LT^^LtL"I$??3/x=1$V-=-='/{F$x=1$V->->(0F%x=1$)1!F&zz!!::FL##22 	0C&---##**3/	0  %$!%!5!5  	2H(2&F))--h!F8ST5V59$++h:O:T:T:V5W[hZi5i>B . DE "PQWPXXY Z[[    '',,/]^c]ddf-ghF///##**51	2 &--. 	3Ex78$$(9(9e>O>O>R>RVZVfVfViVi>i||!	!% )I ELL0$(	) !''..u5M%12	3 ))446	F///&&y1?? OO11779 *SS)* 	d#
		D	!    c                 *    t         |          g dz   S )N)r   r
   r	   r>   zauth_plugin.auto_sync)supersave_preload_fields)rR   	__class__s    r`   re   z%CmfAuthPluginData.save_preload_fields   s     w*, 0I I 	Irb   )__name__
__module____qualname__ra   re   __classcell__)rf   s   @r`   r   r      s    f"PI Irb   r   N)cmfr   cmf.includemodules.settings.fieldsr   r    rb   r`   <module>ro      s%      8kI,>> kIrb   