o
    Ch                     @   s   d dl mZ d dlmZmZ d dlmZ d dlmZ d dl	m
Z
 d dlmZ eeddZe ZG d	d
 d
eZG dd deeZer^zeje W n	 e
yT   Y nw ejee dS dS )    )settings)adminauth)Group)	UserAdmin)NotRegistered)rolesROLEPERMISSIONS_REGISTER_ADMINFc                       s    e Zd ZdZ fddZ  ZS )RolePermissionsUserAdminMixinz) Must be mixed in with an UserAdmin classc              	      s   t jj|jjd}tdd t|D }tt	| 
|||| tdd |j D }|| D ]"}ztjj|d}	|j|	 W n
 tjyK   Y nw t|| q0|| D ]}
zt||
 W qW tjyk   Y qWw d S )N)pkc                 s   s    | ]}|  V  qd S N)get_name).0r r   g/var/www/html/myvaluetrips/my_value_trip_new/venv/lib/python3.10/site-packages/rolepermissions/admin.py	<genexpr>   s    z=RolePermissionsUserAdminMixin.save_related.<locals>.<genexpr>c                 s   s    | ]}|j V  qd S r   name)r   gr   r   r   r      s    r   )	UserModelobjectsgetinstancer   setr   get_user_rolessuperr
   save_relatedgroupsallr   addDoesNotExistremove_roleassign_roleRoleDoesNotExist)selfrequestformformsetschangeuserold_user_rolesnew_user_groups	role_namegroup
group_name	__class__r   r   r      s&   z*RolePermissionsUserAdminMixin.save_related)__name__
__module____qualname____doc__r   __classcell__r   r   r0   r   r
      s    r
   c                   @   s   e Zd ZdS )RolePermissionsUserAdminN)r2   r3   r4   r   r   r   r   r7   $   s    r7   N)django.confr   django.contribr   r   django.contrib.auth.modelsr   django.contrib.auth.adminr   django.contrib.admin.sitesr   rolepermissionsr   getattrr	   get_user_modelr   objectr
   r7   site
unregisterregisterr   r   r   r   <module>   s$    