66
66
user=path_to('users/{0}'.format(user_id)),
67
67
self_link=path_to('members/{0}'.format(member_id)),
68
delivery_mode=member.delivery_mode,
70
71
def _get_collection(self, request):
141
142
if self._member is None:
142
143
return http.not_found()
144
values = Validator(address=unicode)(request)
147
delivery_mode=enum_validator(DeliveryMode),
148
_optional=('address', 'delivery_mode'))(request)
145
149
except ValueError as error:
146
150
return http.bad_request([], str(error))
147
assert len(values) == 1, 'Unexpected values'
148
email = values['address']
149
address = getUtility(IUserManager).get_address(email)
151
return http.bad_request([], b'Address not registered')
153
self._member.address = address
154
except (MembershipError, UnverifiedAddressError) as error:
155
return http.bad_request([], str(error))
151
if 'address' in values:
152
email = values['address']
153
address = getUtility(IUserManager).get_address(email)
155
return http.bad_request([], b'Address not registered')
157
self._member.address = address
158
except (MembershipError, UnverifiedAddressError) as error:
159
return http.bad_request([], str(error))
160
if 'delivery_mode' in values:
161
self._member.preferences.delivery_mode = values['delivery_mode']
156
162
return no_content()