コード例 #1
0
ファイル: resources.py プロジェクト: PES-Q1314/API
 def meter_en_la_lista_negra(self, request, motivo):
     if not es_admin(request.user):
         raise ImmediateHttpResponse(HttpUnauthorized())
     try:
         modelo = self._meta.object_class.objects.get(pk=request.api['pk'])
         ElementoDeLaListaNegra.objects.create(modelo=modelo, motivo=motivo)
         return self.create_response(request, {}, HttpOK)
     except Exception:
         raise ImmediateHttpResponse(HttpBadRequest())
コード例 #2
0
ファイル: resources.py プロジェクト: PES-Q1314/API
 def quitar_de_la_lista_negra(self, request, motivo):
     if not es_admin(request.user):
         raise ImmediateHttpResponse(HttpUnauthorized())
     try:
         modelo = self._meta.object_class.objects.get(pk=request.api['pk'])
         modelo.entrada_en_la_lista_negra.all().delete()
         return self.create_response(request, {}, HttpOK)
     except Exception:
         raise ImmediateHttpResponse(HttpBadRequest())
コード例 #3
0
ファイル: resources.py プロジェクト: PES-Q1314/API
 def descartar_denuncias(self, request):
     if not es_admin(request.user):
         raise ImmediateHttpResponse(HttpUnauthorized())
     try:
         modelo = self._meta.object_class.objects.get(pk=request.api['pk'])
         modelo.denuncias.filter(estado='pendiente').update(estado='desestimada')
         return self.create_response(request, {}, HttpOK)
     except Exception:
         raise ImmediateHttpResponse(HttpBadRequest())
コード例 #4
0
ファイル: authorizations.py プロジェクト: PES-Q1314/API
 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
コード例 #5
0
ファイル: authorizations.py プロジェクト: PES-Q1314/API
 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
コード例 #6
0
ファイル: authorizations.py プロジェクト: PES-Q1314/API
 def update_detail(self, object_list, bundle):
     # Solo los administradores pueden modificar denuncias (para cambiar el estado)
     return es_admin(bundle.request.user)
コード例 #7
0
ファイル: authorizations.py プロジェクト: PES-Q1314/API
 def read_detail(self, object_list, bundle):
     return es_admin(bundle.request.user) or resolver_usuario(bundle.obj.denunciante) == bundle.request.user
コード例 #8
0
ファイル: authorizations.py プロジェクト: PES-Q1314/API
 def read_list(self, object_list, bundle):
     if es_admin(bundle.request.user):
         return object_list
     else:
         raise Unauthorized()
コード例 #9
0
ファイル: authorizations.py プロジェクト: PES-Q1314/API
 def delete_detail(self, object_list, bundle):
     return es_admin(bundle.request.user)
コード例 #10
0
ファイル: authorizations.py プロジェクト: PES-Q1314/API
 def delete_list(self, object_list, bundle):
     return object_list if es_admin(bundle.request.user) else []
コード例 #11
0
ファイル: authorizations.py プロジェクト: PES-Q1314/API
 def update_detail(self, object_list, bundle):
     # Solo los administradores pueden modificar el estado de las congelaciones
     return es_admin(bundle.request.user)
コード例 #12
0
ファイル: authorizations.py プロジェクト: PES-Q1314/API
 def create_list(self, object_list, bundle):
     # Solo los administradores pueden crear congelaciones
     if es_admin(bundle.request.user):
         return object_list
     else:
         raise Unauthorized()
コード例 #13
0
ファイル: authorizations.py プロジェクト: PES-Q1314/API
 def read_detail(self, object_list, bundle):
     return es_admin(bundle.request.user) or (resolver_usuario(bundle.obj.modelo) == bundle.request.user)
コード例 #14
0
ファイル: resources.py プロジェクト: PES-Q1314/API
    def rechazar(self, request):
        if not es_admin(request.user):
            raise ImmediateHttpResponse(HttpUnauthorized())

        self._meta.object_class.objects.get(pk=request.api['pk']).rechazar()
        return self.create_response(request, {}, HttpOK)