def test_resolver_usuario(self): # Creamos una congelación de una oferta y otra de un perfil, para comprobar que # el usuario se resuelve bien a partir del modelo self.assertTrue( isinstance(resolver_usuario(Congelacion.objects.create(modelo=self.of, motivo='.').modelo), SystemUser)) self.assertTrue( isinstance(resolver_usuario(Congelacion.objects.create(modelo=self.empr, motivo='.').modelo), SystemUser))
def read_list(self, object_list, bundle): # El administrador puede ver cualquier denuncia. Un denunciante puede ver solo las que ha emitido if es_admin(bundle.request.user): return object_list else: allowed = [] for obj in object_list: if resolver_usuario(bundle.obj.denunciante) == bundle.request.user: allowed.append(obj) return allowed
def read_list(self, object_list, bundle): # Un administrador puede ver todas las congelaciones; Un usuario solo las que le afectan if es_admin(bundle.request.user): return object_list else: allowed = [] for obj in object_list: if (resolver_usuario(bundle.obj.modelo) == bundle.request.user): allowed.append(obj) return allowed
def read_detail(self, object_list, bundle): return es_admin(bundle.request.user) or resolver_usuario(bundle.obj.denunciante) == bundle.request.user
def save(self, *args, **kwargs): if resolver_usuario(self.modelo) == resolver_usuario(self.suscriptor): raise Suscripcion.MismoUsuario super().save(*args, **kwargs)
def read_detail(self, object_list, bundle): return es_admin(bundle.request.user) or (resolver_usuario(bundle.obj.modelo) == bundle.request.user)