def setUp(self):
     self.status = get_status_type()
     self.message = "Quota admin message"
     self.request = "Quota x"
     self.blank_request = QuotaRequest(
         admin_message=self.message, request=self.request,
         status=self.status)
 def setUp(self):
     self.status = get_status_type()
     self.message = "Allocation admin message"
     self.request = "Allocation of size x"
     self.blank_request = AllocationRequest(
         admin_message=self.message, request=self.request,
         status=self.status)
 def setUp(self):
     self.status = get_status_type()
     self.message = "Resource admin message"
     self.request = "Resource of size x"
     self.blank_request = ResourceRequest(admin_message=self.message,
                                          request=self.request,
                                          status=self.status)
 def setUp(self):
     self.status = get_status_type()
     self.message = "Resource admin message"
     self.request = "Resource of size x"
     self.blank_request = ResourceRequest(
         admin_message=self.message, request=self.request,
         status=self.status)
Exemple #5
0
def set_quota_request_failed(err, identifier):
    """
    Set the quota request as failed if
    Marks the quota request ask
    """
    request = QuotaRequest.objects.get(id=identifier)
    request.status = get_status_type(status="failed")
    request.save()
Exemple #6
0
def set_resource_request_failed(err, identifier):
    """
    Set the quota request as failed if
    Marks the quota request ask
    """
    request = ResourceRequest.objects.get(id=identifier)
    request.status = get_status_type(status="failed")
    request.save()
Exemple #7
0
def close_quota_request(res, identifier):
    """
    Close the request and email approval message
    """
    instance = QuotaRequest.objects.get(id=identifier)
    instance.status = get_status_type(status="closed")
    instance.save()
    send_approved_quota_email(user=instance.created_by,
                              request=instance.request,
                              reason=instance.admin_message)
Exemple #8
0
def close_resource_request(res, identifier):
    """
    Close the request and email approval message
    """
    instance = ResourceRequest.objects.get(id=identifier)
    instance.status = get_status_type(status="closed")
    instance.save()
    send_approved_resource_email(user=instance.created_by,
                                 request=instance.request,
                                 reason=instance.admin_message)
Exemple #9
0
class ResourceRequestSerializer(serializers.HyperlinkedModelSerializer):
    uuid = serializers.CharField(read_only=True)
    url = UUIDHyperlinkedIdentityField(
        view_name='api:v2:resourcerequest-detail', )
    created_by = UserSummarySerializer(read_only=True)
    status = ModelRelatedField(
        default=lambda: get_status_type(status="pending"),
        serializer_class=StatusTypeSummarySerializer,
        queryset=StatusType.objects.all(),
        lookup_field='id')

    class Meta:
        model = ResourceRequest
        fields = ('id', 'uuid', 'url', 'request', 'description', 'status',
                  'created_by', 'admin_message', 'start_date')
    def post(self, request, provider_uuid, identity_uuid):
        """
        Creates a new AllocationRequest for a specific identity
        """
        try:
            identity = Identity.objects.get(uuid=identity_uuid)
            membership = IdentityMembership.objects.get(identity=identity)
        except Identity.DoesNotExist:
            return failure_response(status.HTTP_400_BAD_REQUEST,
                                    "Identity not found.")
        except IdentityMembership.DoesNotExist:
            return failure_response(status.HTTP_400_BAD_REQUEST,
                                    "IdentityMembership not found.")

        # Determine if the user is a member of the identity
        if not membership.is_member(request.user):
            return Response(status=status.HTTP_403_FORBIDDEN)

        # Only allow 1 active request at a time
        if AllocationRequest.is_active(membership):
            return failure_response(
                status.HTTP_400_BAD_REQUEST,
                "An existing allocation request is already open.")

        data = request.DATA
        status_type = get_status_type()

        new_allocation = AllocationRequest(membership=membership,
                                           created_by=request.user,
                                           status=status_type)

        serializer = AllocationRequestSerializer(new_allocation,
                                                 data=data,
                                                 partial=True)

        if serializer.is_valid():
            serializer.save()
            return Response(serializer.data, status=status.HTTP_201_CREATED)

        return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
    def post(self, request, provider_uuid, identity_uuid):
        """
        Creates a new AllocationRequest for a specific identity
        """
        try:
            identity = Identity.objects.get(uuid=identity_uuid)
            membership = IdentityMembership.objects.get(identity=identity)
        except Identity.DoesNotExist:
            return failure_response(status.HTTP_400_BAD_REQUEST,
                                    "Identity not found.")
        except IdentityMembership.DoesNotExist:
            return failure_response(status.HTTP_400_BAD_REQUEST,
                                    "IdentityMembership not found.")

        # Determine if the user is a member of the identity
        if not membership.is_member(request.user):
            return Response(status=status.HTTP_403_FORBIDDEN)

        # Only allow 1 active request at a time
        if AllocationRequest.is_active(membership):
            return failure_response(
                status.HTTP_400_BAD_REQUEST,
                "An existing allocation request is already open.")

        data = request.DATA
        status_type = get_status_type()

        new_allocation = AllocationRequest(
            membership=membership, created_by=request.user, status=status_type)

        serializer = AllocationRequestSerializer(new_allocation,
                                                 data=data, partial=True)

        if serializer.is_valid():
            serializer.save()
            return Response(serializer.data, status=status.HTTP_201_CREATED)

        return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
Exemple #12
0
def set_request_as_failed(request):
    """
    Set the request as failed
    """
    request.status = get_status_type(status="failed")
    request.save()
Exemple #13
0
def close_request(request):
    """
    Close the request and email approval message
    """
    request.status = get_status_type(status="closed")
    request.save()
Exemple #14
0
def set_request_as_failed(request):
    """
    Set the request as failed
    """
    request.status = get_status_type(status="failed")
    request.save()
Exemple #15
0
def close_request(request):
    """
    Close the request and email approval message
    """
    request.status = get_status_type(status="closed")
    request.save()