def asignarDesasginarPer(self, id_rol, permisos): c_permiso = ControllerPermiso() permisos2 = self.getRol(id_rol).permisos respuesta = [] for p in permisos: perm = c_permiso.getPermiso(p['id']) if not perm in permisos2 and p['dato']: temp = self.asignarPermisos(id_rol, perm.id) if temp == 'Exito': respuesta.append({'error':0,'id':perm.id,'obs':temp}) else: respuesta.append({'error':1,'id':perm.id,'obs':temp}) for p in permisos: if not (p['dato']): perm = c_permiso.getPermiso(p['id']) if perm in permisos2: temp = self.desasignarPermisos(id_rol, perm.id) if temp == 'Exito': respuesta.append({'error':0,'id':perm.id,'obs':temp}) else: respuesta.append({'error':2,'id':perm.id,'obs':temp}) return respuesta
def desasignarPermisos(self,id_rol,id_permiso): c_permiso = ControllerPermiso() rol = self.getRol(id_rol) permiso = c_permiso.getPermiso(id_permiso) if rol != None and permiso != None: rol.permisos.remove(permiso) try: db.session.merge(rol) db.session.commit() except Exception, error: db.session.rollback() return error return 'Exito'