
    =i4                     X    d dl mZ d dl  G d de j                  j                        Zy)    )fields)*c            
          e Zd ZdZdZdZdZdZg ddg dd	d
g dd	dg dd	dg dd	dg dd	gdZ e	j                  e	j                  dddd      Z e	j                  e	j                  dddd      Z e	j                  e	j                  dd      Z e	j                  e	j"                  dd !      Z e	j                  e	j"                  d"d#!      Z e	j                  e	j"                  d$d%!      Z e	j                  e	j                  dd&'      Z e	j                  e	j"                  d()      Z e	j                  e	j"                  d*d+!      Z e	j                  e	j"                  d,d-!      Z e	j                  e	j                  d.d/d0d1d2      Z e	j                  e	j4                  d3d45      Z e	j                  e	j                  d6d7d8      Z e	j                  e	j:                  d9d:d;      Z e	j                  e	j:                  d<d:d;      Z e	j                  e	j:                  d=d>d;      Z  e	j                  e	j:                  d?d@d;      Z! e	j                  e	j:                  dAdBd;      Z" e	j                  e	jF                  dCddDE      Z$ e	j                  e	jF                  dFddDE      Z% e	j                  e	j                  dGdHdIdJdKdLdMdDN      Z& e	j                  e	jN                  dO)      Z( e	j                  e	jN                  dP)      Z) e	j                  e	jN                  dQ)      Z* e	j                  e	jN                  dR)      Z+ e	j                  e	jN                  dS)      Z, e	j                  e	jN                  dT)      Z- e	j                  e	jN                  dU)      Z. e	j                  e	jN                  dV)      Z/ e	j                  e	jN                  dW)      Z0 e	j                  e	jN                  dX)      Z1 e	j                  e	j                  dYdZd[d\d]d^d_      Z2 e	j                  e	jN                  d`)      Z3 e	j                  e	jN                  dadb      Z4 e	j                  e	jN                  dc)      Z5 e	j                  e	jN                  dd)      Z6 e	j                  e	jN                  de)      Z7 e	j                  e	jN                  df)      Z8 e	j                  e	jN                  dg)      Z9 e	j                  e	jN                  dh)      Z: e	j                  e	jN                  di)      Z; e	j                  e	j                  dj)      Z<e=j                  j                  e=j                  j|                  dkddl      Z? e	j                  e	j4                  dmdno      Z@ e	j                  e	j                  dpd      ZA e	j                  e	j                  dqd      ZB e	j                  e	j                  ddrdsdt u      ZD e	j                  e	j                  dvdwdxy      ZF e	j                  e	j                  dz)      ZG e	j                  e	j                  d{dsd|      ZHy})~CmfAuthLdapPluginauthu4   Внешние системы авторизацииALDAPdenyreadonly)namedirectory_typebase_dndomain_main)r   r   r   r   disable_base_auth	sync_datesync_status	auto_syncadditional_user_dnadditional_group_dnblock_users_without_groupsuv   link:settings/global:Важно! Нужно отключить локальный вход пользователей.)r   r   u/   Дополнительные настройки)sync_intervalsync_all_intervalenable_subgroupsread_timeoutsearch_timeoutconnection_timeoutdebugdefault_groupsmapping_fieldsdont_delete_domain
sync_groupuI   Параметры настройки схемы пользователя)user_object_classuser_object_class_filteruser_disabled_filteruser_full_name_attruser_display_name_attruser_name_attruser_last_name_attruser_email_attruser_password_attruser_password_cryptuser_uid_attruser_employee_number_attru0   Настройки групповой схемы)group_object_classgroup_object_class_filtergroup_name_attrgroup_desc_attrgroup_uid_attru?   Параметры настройки схемы участия)group_users_attruser_groups_attruse_user_groups_attr)ui_list_fieldsui_group_fields	CmfPluginu!   Настройки доступаT)modelcaptionnullablelinkableu   ТипzMicrosoft Active DirectoryOpenLDAP)adldap)r:   choicesuI   Запретить пользователям локальный входF)r:   defaultzBase DNu   Корневой узел LDAP, с которого начинается поиск пользователей и групп. Пример: ou=users,dc=example,dc=com.)r:   commentu8   Дополнительный DN ПользователяuF  Это значение используется в дополнение к базовому DN при поиске и загрузке пользователей. Если значение не указано, поиск поддерева начнется с базового DN. Например: ou=group,ou=name; ou=classu,   Дополнительный DN Группыu7  Это значение используется в дополнение к базовому DN при поиске и загрузке групп. Если значение не указано, поиск поддерева начнется с базового DN.Например: ou=users,ou=admins; ou=guestue   Блокировать пользователя при удалении из всех LDAP групп)rA   r:   u   Домен для логина)r:   u8   Дополнительное DN пользователяu   Добавляется к базовому DN для ограничения объема при поиске пользователей.u,   Дополнительные DN группыux   Добавляется к базовому DN для ограничения объема при поиске групп.u   Разрешения LDAPu    Только для чтенияuJ   Только для чтения, с локальными группамиu   Чтение/Запись)r
   readonly_and_localread_and_writeu   Пользователиauth_plugin)r:   backrefu0   Включить вложенные группыu   Если включено, группы могут содержать в себе другие группы. Включение этой опции может привести к снижению производительности.)r:   rB   rA   uS   Интервал синхронизации изменений (в минутах)   )r:   rA   r;   uG   Интервал полной синхронизации (в днях)u?   Время ожидания чтения (в секундах)x   u3   Тайм-аут поиска (в секундах)<   u;   Тайм-аут соединения (в секундах)
   u8   Время последней синхронизации)r:   r
   	log_leveluE   Время последней полной синхронизацииu   Статусopenu   Созданu+   Запущена синхронизацияu-   Синхронизация завершенаu'   Ошибка синхронизации)rM   in_progressclosederror)r:   rA   r@   rL   u2   Класс объекта пользователяu>   Фильтр пользовательских объектовu>   Фильтр отключенных пользователейu6   Атрибут «Логин пользователя»u:   Атрибут «RDN имени пользователя»u2   Атрибут «Имя пользователя»u:   Атрибут «Фамилия пользователя»u?   Атрибут «Полное имя пользователя»uM   Атрибут «Электронная почта пользователя»u8   Атрибут «Пароль пользователя»u:   Шифрование пароля пользователяDES	PLAINTEXTSHAMD5SSHA)des	plaintextshamd5sshauC   Атрибут «Уникальный ID пользователя»u"   Атрибут «Employee Number»EmployeeNumberu(   Класс Группы Объектовu*   Фильтр объектов группыu&   Атрибут «Имя группы»u0   Атрибут «Описание группы»u7   Атрибут «Уникальный ID группы»u(   Атрибут Членов Группыu:   Атрибут «Участие пользователя»uC   Используйте атрибут «Членов Группы»u   Имя хоста)r:   visibler
   CmfAuthPluginDatau   RAW данные)r9   r:   u7   Автоматическая синхронизацияu%   Debug для техподдержкиu   Назначить группыCmfPersonGroupc                  @    t         j                  j                         gS )N)modelsr^   
user_group     1./modules/settings/fields/cmf_auth_ldap_plugin.py<lambda>zCmfAuthLdapPlugin.<lambda>   s    6K`K`KkKkKmJn rc   )leftr:   r9   rA   u    Маппинг полей (JSON) uT   {"Название аттрибута в AD":"Название поля в EvaTeam"})r:   rA   placeholderu0   Не удалять домен из логинаuZ   Синхронизировать пользователей только из группы)r:   r9   r;   N)I__name__
__module____qualname__	ui_moduleui_namecode_prefixacl_default_user_policyacl_default_ib_admin_policyui_formr   FieldCmfRelationplugin	CmfChoicer   CmfBoolr   
CmfStr4096r   r   r   r   r   user_dngroup_dnmode
CmfBackrefusersr   CmfIntr   r   r   r   r   CmfDateTimer   sync_all_dater   CmfStrr"   r#   r$   r%   user_rdn_attrr'   r(   r&   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   cmfCmfStr64org_nameauth_plugin_datar   r   CmfM2Mr   CmfTextr   r    r!   rb   rc   rd   r   r      s   IDGK$",
  $ J" d$ K	 Z{E
MG^ V\\&,, +5XcgrvxF "V\\&"2"2HUqT^O` aN %V^^  >I  SX  Yfll6,,i Ju vG &f&7&7A{/]^ '&,,v'8'8Bp0`a ".y" V\\&++5UVFfll6,,6p $noGv||F--7e %_`H6<<((2M  eG eq`{X} ~D FLL**4NXefE $v||FNN<n-k,02 !FLL  9N  XY  di  jM$V]]  =F  PQ  \a  b6<<7x  CF  QV  WL!V\\&--9nxz  FK  LN%fmm=z  EG  RW  XV//9s  C  OQ  RI FLL!3!3  >E  PT  `b  cM&,,v//QWDA:	b
 K %V]]<pq+v||FMM  DD   E'6<<?  A&&,,v}}>vw FLL8tuM!V\\&--9mnN&&,,v}}>z{)V\\&--  BC  D"fll6==  ;J  KO%fmm=wx&&,,v'7'7A}7<=H7<7<8>	0@A !FLL8}~M ,V]]Dh  sC  !D &fmm=gh ,V]]Dp q"fll6==:bcO"fll6==:lmO!V\\&--9rsN $v||FMM;ef#v||FMM;wx'6<<  AF  Gzz

 3 3=PZ^imnH#v||F$5$5=PZlmV^^5nx}~IFLL1XbghE!V\\&--dDe(8BnpN!V\\&..:\fh  wM  NN%fnn>pqf00 'C$4tEJrc   r   N)r   r   cmf.includer`   	CmfEntityr   rb   rc   rd   <module>r      s%     xE

,, xErc   