Archived
Merge branch 'master' of git.neuf.no:dusken
* 'master' of git.neuf.no:dusken: Moves save address into separate function
This commit is contained in:
commit
11f0949337
1 file changed
+20
-16
+20
-16
@@ -96,25 +96,29 @@ class MemberResource(ModelResource):
|
||||
if 'address' in bundle.data and bundle.data['address'] is not None:
|
||||
new_address = bundle.data.get('address')
|
||||
address = bundle.obj.address
|
||||
self._update_address(address, new_address)
|
||||
|
||||
if 'street_address' in new_address:
|
||||
address.street_address = new_address['street_address']
|
||||
if 'city' in new_address:
|
||||
address.city = new_address['city']
|
||||
if 'postal_code' in new_address:
|
||||
address.postal_code = new_address['postal_code']
|
||||
if 'country' in new_address:
|
||||
try:
|
||||
country = Country.objects.get(name=new_address['country'])
|
||||
except Country.DoesNotExist, e:
|
||||
raise ImmediateHttpResponse(HttpForbidden('The country "{}" does not exist.'.format(new_address['country'])))
|
||||
else:
|
||||
address.country = country
|
||||
|
||||
address.save()
|
||||
|
||||
return super(MemberResource, self).obj_update(bundle, request, **kwargs)
|
||||
|
||||
def _update_address(self, address, new_address):
|
||||
if 'street_address' in new_address:
|
||||
address.street_address = new_address['street_address']
|
||||
if 'city' in new_address:
|
||||
address.city = new_address['city']
|
||||
if 'postal_code' in new_address:
|
||||
address.postal_code = new_address['postal_code']
|
||||
if 'country' in new_address:
|
||||
try:
|
||||
country = Country.objects.get(name=new_address['country'])
|
||||
except Country.DoesNotExist, e:
|
||||
raise ImmediateHttpResponse(HttpForbidden(
|
||||
'The country "{}" does not exist.'.format(new_address['country']))
|
||||
)
|
||||
else:
|
||||
address.country = country
|
||||
|
||||
address.save()
|
||||
|
||||
def dehydrate(self, bundle):
|
||||
"""
|
||||
Catches GET requests and adds more data.
|
||||
|
||||
Reference in new issue
Block a user