
    ]Ne                     v    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                   N    e Zd ZdZej
                  j                  d        Zd Zy)SyncAccountsViewz/sync_accountsc                    	 t         j                  t        j                        }|j	                  d      s| j                  |      S t        t        j                  |d         }|j	                  dg       }|j	                  di       } ||i |}t        j                  |      S # t        $ r:}t        j                  |       | j                  dt        |            cY d}~S d}~ww xY w)uB   
        Прокси вызова методов CmfAuth
        methodargskwargsi  N)jsonloadsrequestdatagetold_syncgetattrmodelsCmfAuthcmfutil
dumps_json	Exceptionlogging	exception_errorstr)selfr   r	   method_argsmethod_kwargsresultes          %./modules/auth/views/sync_accounts.pypostzSyncAccountsView.post   s    
	,::gll+D88H%}}T**V^^T(^<F((62.K HHXr2M[:M:F%%f-- 	,a ;;sCF++	,s%   AB% AB% %	C(./C#C(#C(c           	         |d   }	 |d   D ]  }t        |d         j                         }t        j                  j	                  |      }|st        dj                  ||             ^|j                  j                  ri |_        g |j                  |<   |d   rJt        dj                  ||             |j                  |= d|j                  _	        |j                          |d	   D ]_  }||j                  |   v rt        d
j                  |||             |j                  |   j                  |       d|j                  _	        a t        j                  d|        t        j                  d|j                          |j                          t        j                  d|j                           	 t!                y# t        $ r}t!        |       Y d}~yd}~ww xY w)u[   
        Старая синхронизация для совместимости
        org_namepersonslogin)r&   uM   SYNC_ACCOUNTS Не найден акк {} (о запросу от eva-app {})cmf_deleteduF   SYNC_ACCOUNTS Пользователь {} удален из eva-app {}Trg_member_ofuX   SYNC_ACCOUNTS Добавляем пользователю {} права {} в eva-app {}zperson_dict=zuser.groups=zuser.scope=NzAccounts sync failzAccounts sync successfully)r   lowerr   r   r   printformatgroupsis_null
is_changedsaveappendgdebugscoper   r   )r   r   r$   person_dictr&   user
group_namer    s           r!   r   zSyncAccountsView.old_sync    s    
# 	(#I 4K01779~~)))6ippqv  yA  B  C;;&&"$DK(*H%}-biijoqyz{H--1DKK*IIK"-n"= 2J!T[[%:: ryyz  BL  NV  WXKK)00<-1DKK*2 ,{m45,t{{m45		+djj\2394@ 	+	  	(!'	(s   F4G 	G%G  G%N)	__name__
__module____qualname____url__cmfviewsactionr"   r        r!   r   r   
   s(    GYY, ,$',r?   r   )shlex	cmf.viewsr;   cmf.data_providers.baser   cmf.includemodules.auth.views.responser   r<   BaseViewr   r>   r?   r!   <module>rF      s,      1  5=,syy))= =,r?   