예제 #1
0
파일: tests.py 프로젝트: PES-Q1314/API
 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))
예제 #2
0
 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
예제 #3
0
 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
예제 #4
0
 def read_detail(self, object_list, bundle):
     return es_admin(bundle.request.user) or resolver_usuario(bundle.obj.denunciante) == bundle.request.user
예제 #5
0
파일: models.py 프로젝트: PES-Q1314/API
 def save(self, *args, **kwargs):
     if resolver_usuario(self.modelo) == resolver_usuario(self.suscriptor):
         raise Suscripcion.MismoUsuario
     super().save(*args, **kwargs)
예제 #6
0
 def read_detail(self, object_list, bundle):
     return es_admin(bundle.request.user) or (resolver_usuario(bundle.obj.modelo) == bundle.request.user)