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
|
||||
assignment.device.assigned_state = True
|
||||
assignment.device.acceptor = data['acceptor']
|
||||
assignment.device.terminal = data['terminal']
|
||||
if 'acceptor' and 'terminal' in data.keys():
|
||||
assignment.device.acceptor = data['acceptor']
|
||||
assignment.device.terminal = data['terminal']
|
||||
if not assignment.device.password:
|
||||
assignment.device.password = ''.join(random.choices(string.digits, k=6))
|
||||
assignment.device.save()
|
||||
@@ -238,12 +239,17 @@ class DeviceAssignmentViewSet(SoftDeleteMixin, viewsets.ModelViewSet):
|
||||
|
||||
# after pos device assignment, must set owner
|
||||
# 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(
|
||||
assignment=assignment,
|
||||
device=assignment.device,
|
||||
organization=client_org,
|
||||
default=True,
|
||||
broker=Broker.objects.get(organization_type=client_org.type)
|
||||
broker=broker
|
||||
)
|
||||
|
||||
return Response(serializer.data, status=status.HTTP_201_CREATED)
|
||||
@@ -254,27 +260,36 @@ class DeviceAssignmentViewSet(SoftDeleteMixin, viewsets.ModelViewSet):
|
||||
""" edit assignment """
|
||||
assignment = self.get_object()
|
||||
|
||||
if 'client_data' in request.data.keys():
|
||||
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']})
|
||||
assignment.delete()
|
||||
|
||||
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 Response(serializer.errors, status=status.HTTP_403_FORBIDDEN)
|
||||
re_create_assignment = self.create(request, *args, **kwargs)
|
||||
print(re_create_assignment.data)
|
||||
assignment = self.queryset.get(id=re_create_assignment.data['id'])
|
||||
assignment.organization = pos_models.Organization.objects.get(
|
||||
id=re_create_assignment.data['client']['organization']['id']
|
||||
)
|
||||
assignment.save()
|
||||
# if 'client_data' in request.data.keys():
|
||||
# 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)
|
||||
# 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(
|
||||
methods=['get'],
|
||||
|
||||
Reference in New Issue
Block a user