make default stake holder when creating assignment
This commit is contained in:
@@ -182,13 +182,14 @@ class DeviceAssignmentViewSet(viewsets.ModelViewSet):
|
||||
|
||||
if client.exists():
|
||||
request.data.update({'client': client.first().id})
|
||||
else:
|
||||
client = CustomOperations().custom_create(
|
||||
request=request,
|
||||
view=POSClientViewSet(),
|
||||
data=request.data['client_data']
|
||||
)
|
||||
request.data.update({'client': client['id']})
|
||||
|
||||
# create client
|
||||
client = CustomOperations().custom_create(
|
||||
request=request,
|
||||
view=POSClientViewSet(),
|
||||
data=request.data['client_data']
|
||||
)
|
||||
request.data.update({'client': client['id']})
|
||||
|
||||
# create assignment
|
||||
serializer = self.serializer_class(data=request.data)
|
||||
@@ -204,6 +205,15 @@ class DeviceAssignmentViewSet(viewsets.ModelViewSet):
|
||||
assignment.client.organization.has_pos = True
|
||||
assignment.client.organization.save()
|
||||
|
||||
# after pos device assignment, must set owner
|
||||
# as default stake holder
|
||||
pos_models.StakeHolders.objects.create(
|
||||
assignment=assignment,
|
||||
device=assignment.device,
|
||||
organization=assignment.client.organization,
|
||||
default=True
|
||||
)
|
||||
|
||||
return Response(serializer.data, status=status.HTTP_201_CREATED)
|
||||
return Response(serializer.errors, status=status.HTTP_403_FORBIDDEN)
|
||||
|
||||
@@ -225,6 +235,12 @@ class DeviceAssignmentViewSet(viewsets.ModelViewSet):
|
||||
if serializer.is_valid():
|
||||
assignment = serializer.save()
|
||||
|
||||
if assignment.client.organization:
|
||||
# update default stake holder for device (assignment)
|
||||
stake_holder = assignment.stake_holders.filter(default=True).first()
|
||||
stake_holder.organization = assignment.client.organization
|
||||
stake_holder.save()
|
||||
|
||||
return Response(serializer.data, status=status.HTTP_200_OK)
|
||||
return Response(serializer.errors, status=status.HTTP_403_FORBIDDEN)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user