Add logic for editing default phone/email in base master view
and refactor customer, vendor views to use it
This commit is contained in:
parent
630ffe0cf8
commit
f2a60f683c
3 changed files with 82 additions and 35 deletions
|
@ -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()
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue