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)
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()
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()
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)
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)
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)
def set_request_as_failed(request): """ Set the request as failed """ request.status = get_status_type(status="failed") request.save()
def close_request(request): """ Close the request and email approval message """ request.status = get_status_type(status="closed") request.save()