Skip to content
This repository has been archived by the owner on Feb 1, 2024. It is now read-only.

Commit

Permalink
Use save instead of update when changing FacilityClaim
Browse files Browse the repository at this point in the history
Using `QuerySet.update()` bypasses `django-simple-history`, which we do not
want.
  • Loading branch information
jwalgran committed Jul 10, 2019
1 parent 5ee1630 commit db35741
Showing 1 changed file with 26 additions and 32 deletions.
58 changes: 26 additions & 32 deletions src/django/api/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -2029,44 +2029,38 @@ def get_claimed_details(self, request, pk=None):
.objects \
.get(pk=parent_company_data['id'])

FacilityClaim.objects.filter(pk=pk).update(
facility_description=request.data.get('facility_description'),
facility_name=request.data.get('facility_name'),
facility_address=request.data.get('facility_address'),
facility_phone_number=request.data
.get('facility_phone_number'),
facility_phone_number_publicly_visible=request.data
.get('facility_phone_number_publicly_visible'),
facility_website=request.data.get('facility_website'),
facility_minimum_order_quantity=request.data
.get('facility_minimum_order_quantity'),
facility_average_lead_time=request.data
.get('facility_average_lead_time'),
parent_company=parent_company,
point_of_contact_person_name=request.data
.get('point_of_contact_person_name'),
point_of_contact_email=request.data
.get('point_of_contact_email'),
point_of_contact_publicly_visible=request.data
.get('point_of_contact_publicly_visible'),
office_official_name=request.data
.get('office_official_name'),
office_address=request.data.get('office_address'),
office_country_code=request.data.get('office_country_code'),
office_phone_number=request.data.get('office_phone_number'),
office_info_publicly_visible=request.data
.get('office_info_publicly_visible')
claim.parent_company = parent_company

field_names = (
'facility_description',
'facility_name',
'facility_address',
'facility_phone_number',
'facility_phone_number_publicly_visible',
'facility_website',
'facility_minimum_order_quantity',
'facility_average_lead_time',
'point_of_contact_person_name',
'point_of_contact_email',
'point_of_contact_publicly_visible',
'office_official_name',
'office_address',
'office_country_code',
'office_phone_number',
'office_info_publicly_visible',
)

updated_claim = FacilityClaim.objects.get(pk=pk)
for field_name in field_names:
setattr(claim, field_name, request.data.get(field_name))

claim.save()

try:
send_claim_update_notice_to_list_contributors(request,
updated_claim)
send_claim_update_notice_to_list_contributors(request, claim)
except Exception:
_report_facility_claim_email_error_to_rollbar(updated_claim)
_report_facility_claim_email_error_to_rollbar(claim)

response_data = ApprovedFacilityClaimSerializer(updated_claim).data
response_data = ApprovedFacilityClaimSerializer(claim).data
return Response(response_data)
except FacilityClaim.DoesNotExist:
raise NotFound()
Expand Down

0 comments on commit db35741

Please sign in to comment.