def create_groups_permissions(groups_permissions, pool_id, user): """Creates permissions to access for pools""" group_adm = { 'group': 1, 'read': True, 'write': True, 'delete': True, 'change_config': True, } _create_group_permission(group_adm, pool_id) if groups_permissions: for group_permission in groups_permissions: if group_permission['group'] != 1: _create_group_permission(group_permission, pool_id) else: for group in UsuarioGrupo.list_by_user_id(user.id): group_id = int(group.ugrupo.id) if group_id != 1: _create_group_permission( { 'group': group_id, 'read': True, 'write': True, 'delete': True, 'change_config': True, }, pool_id)
def handle_get(self, request, user, *args, **kwargs): """Trata as requisições de GET para listar Usuarios. URLs: usuario/get/$ """ try: if not has_perm(user, AdminPermission.USER_ADMINISTRATION, AdminPermission.READ_OPERATION): return self.not_authorized() list_groups = [] user_groups_list = [] map_list = [] for user in Usuario.objects.all(): user_map = dict() user_map['id'] = user.id user_map['user'] = user.user user_map['nome'] = user.nome user_map['ativo'] = user.ativo user_map['email'] = user.email groups = None groups = UsuarioGrupo.list_by_user_id(user.id) if groups is not None and len(groups) > 0: for group in groups: user_groups_list.append( UGrupo.get_by_pk(group.ugrupo_id)) for user_group in user_groups_list: list_groups.append(user_group.nome) if (len(list_groups) > 3): user_map['is_more'] = True else: user_map['is_more'] = False user_map['grupos'] = list_groups if len(list_groups) > 0 else [ None ] list_groups = [] user_groups_list = [] map_list.append(user_map) return self.response(dumps_networkapi({'usuario': map_list})) except UserNotAuthorizedError: return self.not_authorized() except (UsuarioError, GrupoError): return self.response_error(1)
def handle_get(self, request, user, *args, **kwargs): """Trata as requisições de GET para listar Usuarios. URLs: usuario/get/$ """ try: if not has_perm(user, AdminPermission.USER_ADMINISTRATION, AdminPermission.READ_OPERATION): return self.not_authorized() list_groups = [] user_groups_list = [] map_list = [] for user in Usuario.objects.all(): user_map = dict() user_map['id'] = user.id user_map['user'] = user.user user_map['nome'] = user.nome user_map['ativo'] = user.ativo user_map['email'] = user.email groups = None groups = UsuarioGrupo.list_by_user_id(user.id) if groups is not None and len(groups) > 0: for group in groups: user_groups_list.append( UGrupo.get_by_pk(group.ugrupo_id)) for user_group in user_groups_list: list_groups.append(user_group.nome) if (len(list_groups) > 3): user_map['is_more'] = True else: user_map['is_more'] = False user_map['grupos'] = list_groups if len( list_groups) > 0 else [None] list_groups = [] user_groups_list = [] map_list.append(user_map) return self.response(dumps_networkapi({'usuario': map_list})) except UserNotAuthorizedError: return self.not_authorized() except (UsuarioError, GrupoError): return self.response_error(1)
def get_groups(users_permissions): groups = list() for user_permission in users_permissions: for group in UsuarioGrupo.list_by_user_id(user_permission['user']): group_id = int(group.ugrupo.id) if group_id != 1: groups.append({ 'user_group': group_id, 'read': user_permission['read'], 'write': user_permission['write'], 'delete': user_permission['delete'], 'change_config': user_permission['change_config'], }) return groups
def update_groups_permissions(groups_permissions, vip_id, user, replace_permissions=False): """Creates permissions to access for vips""" # groups default if not groups_permissions: for group in UsuarioGrupo.list_by_user_id(user.id): group_id = int(group.ugrupo.id) if group_id != 1: groups_permissions.append({ 'group': group_id, 'read': True, 'write': True, 'delete': True, 'change_config': True, }) groups_perms = models.VipRequestGroupPermission.objects.filter( vip_request=vip_id) groups_permissions_idx = [gp['group'] for gp in groups_permissions] groups_perm_idx = [gp.user_group_id for gp in groups_perms] for group_perm in groups_perms: # change or delete group != 1(ADM) if group_perm.user_group_id != 1: # update perms if group_perm.user_group_id in groups_permissions_idx: idx = groups_permissions_idx.index(group_perm.user_group_id) _update_group_permission(groups_permissions[idx], group_perm.id) # delete perms elif replace_permissions is True: models.VipRequestGroupPermission.objects.filter( id=group_perm.id).delete() for group_permission in groups_permissions: # change or delete group != 1(ADM) if group_permission['group'] != 1: # insert perms if group_permission['group'] not in groups_perm_idx: _create_group_permission(group_permission, vip_id)