o
    Ch                     @   sD   d dl mZ d dlmZ d dlmZ d dlmZ G dd deZdS )    )settings)BaseCommand)get_user_model)rolesc                   @   s<   e Zd ZeeddZde ZdZdd Zdd Z	d	d
 Z
dS )CommandROLEPERMISSIONS_MODULEzroles.pyzESynchronize auth Groups and Permissions with UserRoles defined in %s.z1.0.0c                 C   s   | j S )N)version)self r
   /var/www/html/myvaluetrips/my_value_trip_new/venv/lib/python3.10/site-packages/rolepermissions/management/commands/sync_roles.pyget_version   s   zCommand.get_versionc                 C   s,   |j dddddd |j ddddd	d d S )
Nz--reset_user_permissions
store_truereset_user_permissionsFz`Re-assign all User roles -- resets user Permissions to defaults defined by role(s) !! CAUTION !!)actiondestdefaulthelpz--all_permissionsall_permissionszHCreate all new permissions instead of only permissions with default true)add_argument)r	   parserr
   r
   r   add_arguments   s   
zCommand.add_argumentsc                 O   s   t j D ]&}| \}}|r| jd|j| f  |ddr'|	  q|
  q|ddrY| jd t j D ]}t j|d}t j|d |D ]	}t j||d qNq>d S d S )NzCreated Group: %s from Role: %sr   Fr   zAResetting permissions for ALL Users to defaults defined by roles.)user)r   role)r   RolesManager	get_rolesget_or_create_groupstdoutwritenameget_namegetget_all_permissionsget_default_true_permissionsr   objectsallget_user_rolesclear_rolesassign_role)r	   argsoptionsr   groupcreatedr   
user_rolesr
   r
   r   handle    s"   

zCommand.handleN)__name__
__module____qualname__getattrr   r   r   r   r   r   r-   r
   r
   r
   r   r      s    r   N)	django.confr   django.core.management.baser   django.contrib.authr   rolepermissionsr   r   r
   r
   r
   r   <module>   s
    