
    oi3                     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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.d/d0d1      Z ej                  ej2                  d2d34      Z ej                  ej                  d5d6d7      Z ej                  ej8                  d8d9d:      Z ej                  ej8                  d;d9d:      Z ej                  ej8                  d<d=d:      Z ej                  ej8                  d>d?d:      Z  ej                  ej8                  d@dAd:      Z! ej                  ejD                  dBddCD      Z# ej                  ejD                  dEddCD      Z$ ej                  ej                  dFdGdHdIdJdKdLdCM      Z% ej                  ejL                  dN(      Z' ej                  ejL                  dO(      Z( ej                  ejL                  dP(      Z) ej                  ejL                  dQ(      Z* ej                  ejL                  dR(      Z+ ej                  ejL                  dS(      Z, ej                  ejL                  dT(      Z- ej                  ejL                  dU(      Z. ej                  ejL                  dV(      Z/ ej                  ejL                  dW(      Z0 ej                  ej                  dXdYdZd[d\d]d^      Z1 ej                  ejL                  d_(      Z2 ej                  ejL                  d`da      Z3 ej                  ejL                  db(      Z4 ej                  ejL                  dc(      Z5 ej                  ejL                  dd(      Z6 ej                  ejL                  de(      Z7 ej                  ejL                  df(      Z8 ej                  ejL                  dg(      Z9 ej                  ejL                  dh(      Z: ej                  ej                  di(      Z;e<j                  j                  e<j                  jz                  djddk      Z> ej                  ej2                  dldmn      Z? ej                  ej                  dod      Z@ ej                  ej                  dpd      ZA ej                  ej                  ddqdrds t      ZC ej                  ej                  dudvdwx      ZE ej                  ej                  dy(      ZF ej                  ej                  dzdrd{      ZGy|)}CmfAuthLdapPluginauthu4   Внешние системы авторизацииALDAPdeny)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)r9   choicesuI   Запретить пользователям локальный входF)r9   defaultzBase DNu   Корневой узел LDAP, с которого начинается поиск пользователей и групп. Пример: ou=users,dc=example,dc=com.)r9   commentu8   Дополнительный DN ПользователяuF  Это значение используется в дополнение к базовому DN при поиске и загрузке пользователей. Если значение не указано, поиск поддерева начнется с базового DN. Например: ou=group,ou=name; ou=classu,   Дополнительный DN Группыu7  Это значение используется в дополнение к базовому DN при поиске и загрузке групп. Если значение не указано, поиск поддерева начнется с базового DN.Например: ou=users,ou=admins; ou=guestue   Блокировать пользователя при удалении из всех LDAP групп)r@   r9   u   Домен для логина)r9   u8   Дополнительное DN пользователяu   Добавляется к базовому DN для ограничения объема при поиске пользователей.u,   Дополнительные DN группыux   Добавляется к базовому DN для ограничения объема при поиске групп.u   Разрешения LDAPu    Только для чтенияuJ   Только для чтения, с локальными группамиu   Чтение/Запись)readonlyreadonly_and_localread_and_writeu   Пользователиauth_plugin)r9   backrefu0   Включить вложенные группыu   Если включено, группы могут содержать в себе другие группы. Включение этой опции может привести к снижению производительности.)r9   rA   r@   uS   Интервал синхронизации изменений (в минутах)   )r9   r@   r:   uG   Интервал полной синхронизации (в днях)u?   Время ожидания чтения (в секундах)x   u3   Тайм-аут поиска (в секундах)<   u;   Тайм-аут соединения (в секундах)
   u8   Время последней синхронизации)r9   rB   	log_leveluE   Время последней полной синхронизацииu   Статусopenu   Созданu+   Запущена синхронизацияu-   Синхронизация завершенаu'   Ошибка синхронизации)rM   in_progressclosederror)r9   r@   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   Имя хоста)r9   visiblerB   CmfAuthPluginDatau   RAW данные)r8   r9   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   )leftr9   r8   r@   u    Маппинг полей (JSON) uT   {"Название аттрибута в AD":"Название поля в EvaTeam"})r9   r@   placeholderu0   Не удалять домен из логинаuZ   Синхронизировать пользователей только из группы)r9   r8   r:   N)H__name__
__module____qualname__	ui_moduleui_namecode_prefixacl_default_user_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.   r/   r0   r1   r2   r3   r4   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%     wE

,, wErc   