edit device assignment bug fix - v1
This commit is contained in:
@@ -224,8 +224,9 @@ class DeviceAssignmentViewSet(SoftDeleteMixin, viewsets.ModelViewSet):
|
|||||||
|
|
||||||
# set device status to assigned
|
# set device status to assigned
|
||||||
assignment.device.assigned_state = True
|
assignment.device.assigned_state = True
|
||||||
assignment.device.acceptor = data['acceptor']
|
if 'acceptor' and 'terminal' in data.keys():
|
||||||
assignment.device.terminal = data['terminal']
|
assignment.device.acceptor = data['acceptor']
|
||||||
|
assignment.device.terminal = data['terminal']
|
||||||
if not assignment.device.password:
|
if not assignment.device.password:
|
||||||
assignment.device.password = ''.join(random.choices(string.digits, k=6))
|
assignment.device.password = ''.join(random.choices(string.digits, k=6))
|
||||||
assignment.device.save()
|
assignment.device.save()
|
||||||
@@ -238,12 +239,17 @@ class DeviceAssignmentViewSet(SoftDeleteMixin, viewsets.ModelViewSet):
|
|||||||
|
|
||||||
# after pos device assignment, must set owner
|
# after pos device assignment, must set owner
|
||||||
# as default stakeholder
|
# as default stakeholder
|
||||||
|
broker = Broker.objects.filter(organization_type=client_org.type)
|
||||||
|
if broker.exists():
|
||||||
|
broker = broker.first()
|
||||||
|
else:
|
||||||
|
broker = None
|
||||||
pos_models.StakeHolders.objects.create(
|
pos_models.StakeHolders.objects.create(
|
||||||
assignment=assignment,
|
assignment=assignment,
|
||||||
device=assignment.device,
|
device=assignment.device,
|
||||||
organization=client_org,
|
organization=client_org,
|
||||||
default=True,
|
default=True,
|
||||||
broker=Broker.objects.get(organization_type=client_org.type)
|
broker=broker
|
||||||
)
|
)
|
||||||
|
|
||||||
return Response(serializer.data, status=status.HTTP_201_CREATED)
|
return Response(serializer.data, status=status.HTTP_201_CREATED)
|
||||||
@@ -254,27 +260,36 @@ class DeviceAssignmentViewSet(SoftDeleteMixin, viewsets.ModelViewSet):
|
|||||||
""" edit assignment """
|
""" edit assignment """
|
||||||
assignment = self.get_object()
|
assignment = self.get_object()
|
||||||
|
|
||||||
if 'client_data' in request.data.keys():
|
assignment.delete()
|
||||||
client = CustomOperations().custom_update(
|
|
||||||
request=request,
|
|
||||||
view=POSClientViewSet(),
|
|
||||||
data_key='client_data',
|
|
||||||
obj_id=request.data['client_data']['id']
|
|
||||||
)
|
|
||||||
request.data.update({'client': client['id']})
|
|
||||||
|
|
||||||
serializer = self.serializer_class(data=request.data, instance=assignment, partial=True)
|
re_create_assignment = self.create(request, *args, **kwargs)
|
||||||
if serializer.is_valid():
|
print(re_create_assignment.data)
|
||||||
assignment = serializer.save()
|
assignment = self.queryset.get(id=re_create_assignment.data['id'])
|
||||||
|
assignment.organization = pos_models.Organization.objects.get(
|
||||||
if assignment.client.organization:
|
id=re_create_assignment.data['client']['organization']['id']
|
||||||
# update default stake holder for device (assignment)
|
)
|
||||||
stake_holder = assignment.stake_holders.filter(default=True).first()
|
assignment.save()
|
||||||
stake_holder.organization = assignment.client.organization
|
# if 'client_data' in request.data.keys():
|
||||||
stake_holder.save()
|
# client = CustomOperations().custom_update(
|
||||||
|
# request=request,
|
||||||
return Response(serializer.data, status=status.HTTP_200_OK)
|
# view=POSClientViewSet(),
|
||||||
return Response(serializer.errors, status=status.HTTP_403_FORBIDDEN)
|
# data_key='client_data',
|
||||||
|
# obj_id=request.data['client_data']['id']
|
||||||
|
# )
|
||||||
|
# request.data.update({'client': client['id']})
|
||||||
|
#
|
||||||
|
# serializer = self.serializer_class(data=request.data, instance=assignment, partial=True)
|
||||||
|
# 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 re_create_assignment
|
||||||
|
|
||||||
@action(
|
@action(
|
||||||
methods=['get'],
|
methods=['get'],
|
||||||
|
|||||||
Reference in New Issue
Block a user