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:
Robert Kolner committed 2013-09-11 19:51:41 +02:00
commit 11f0949337
1 file changed
+20 -16
+20 -16
View File
@@ -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.