Add logic for editing default phone/email in base master view

and refactor customer, vendor views to use it
This commit is contained in:
Lance Edgar 2018-02-22 12:27:08 -06:00
parent 630ffe0cf8
commit f2a60f683c
3 changed files with 82 additions and 35 deletions

View file

@ -2233,6 +2233,32 @@ class MasterView(View):
obj = form.schema.objectify(data, context=form.model_instance)
return obj
def objectify_contact(self, contact, data):
if 'default_email' in data:
address = data['default_email']
if contact.emails:
if address:
email = contact.emails[0]
email.address = address
else:
contact.emails.pop(0)
elif address:
contact.add_email_address(address)
if 'default_phone' in data:
number = data['default_phone']
if contact.phones:
if number:
phone = contact.phones[0]
phone.number = number
else:
contact.phones.pop(0)
elif number:
contact.add_phone_number(number)
return contact
def save_form(self, form):
form.save()