This commit is contained in:
oscar alvarez 2022-03-25 17:37:55 -05:00
parent 8e3f11a33c
commit 72549a6e2f
2 changed files with 32 additions and 13 deletions

View File

@ -1319,21 +1319,25 @@ class UpdateHolderStart(ModelView):
'Update Holder Start'
__name__ = 'hotel.update_holder.start'
name = fields.Char('Name', required=True)
nationality = fields.Many2One('party.nationality', 'Nationality')
sex = fields.Selection([
('', ''),
('male', 'Male'),
('female', 'Female'),
], 'Sex', required=True)
mobile = fields.Char('Mobile', required=True)
], 'Sex')
email = fields.Char('Email', required=True)
mobile = fields.Char('Mobile')
phone = fields.Char('Phone')
email = fields.Char('Email')
birthday = fields.Date('Birthday')
nationality = fields.Many2One('party.nationality', 'Nationality')
origin_country = fields.Many2One('party.country_code', 'Origin Country')
target_country = fields.Many2One('party.country_code', 'Target Country')
country = fields.Many2One('party.country_code', 'Country')
city = fields.Many2One('party.city_code', 'City')
subdivision = fields.Many2One('party.department_code', 'Subdivision')
city = fields.Many2One('party.city_code', 'City', domain=[
('department', '=', Eval('subdivision'))
])
address = fields.Char('Address')
type_document = fields.Selection(TYPE_DOCUMENT, 'Tipo de Documento',
@ -1392,6 +1396,7 @@ class UpdateHolder(Wizard):
if address:
res['country'] = address.country_code.id if address.country_code else None
res['city'] = address.city_code.id if address.city_code else None
res['subdivision'] = address.department_code.id if address.department_code else None
return res
def _set_cms(self, action, rec, email, mobile=None, phone=None):
@ -1412,6 +1417,7 @@ class UpdateHolder(Wizard):
Folio = pool.get('hotel.folio')
Party = pool.get('party.party')
Address = pool.get('party.address')
CM = pool.get('party.contact_mechanism')
active_id = Transaction().context.get('active_id', False)
edit = True
booking = Booking(active_id)
@ -1431,10 +1437,12 @@ class UpdateHolder(Wizard):
}
country_code = _party.country.id if _party.country else None
city_code = _party.city.id if _party.city else None
subdivision_code = _party.subdivision.id if _party.subdivision else None
street = _party.address.upper() if _party.address else ''
address = {}
address['country_code'] = country_code
address['city_code'] = city_code
address['department_code'] = subdivision_code
address['street'] = street
if not booking.party:
edit = False
@ -1451,15 +1459,24 @@ class UpdateHolder(Wizard):
Address.write(list(booking.party.addresses), address)
else:
Address.create([address])
cms_add = {}
if _party.mobile:
cms_add['mobile'] = _party.mobile
cms_add['phone'] = _party.phone
cms_add['email'] = _party.email
if booking.party.contact_mechanisms:
for cm in booking.party.contact_mechanisms:
if cm.type == 'mobile':
cm.value = _party.mobile
if cm.type == 'phone':
cm.value = _party.phone
if cm.type == 'email':
cm.value = _party.email
if cm.type == 'mobile' and _party.mobile:
cm.value = cms_add.pop('mobile')
elif cm.type == 'phone' and _party.phone:
cm.value = cms_add.pop('phone')
elif cm.type == 'email' and _party.email:
cm.value = cms_add.pop('email')
cm.save()
if cms_add:
for (key, value) in cms_add.items():
cm = CM(party=booking.party.id, type=key, value=value)
cm.save()
else:
self._set_cms('create', rec, _party.email, _party.mobile, _party.phone)

View File

@ -11,14 +11,14 @@ this repository contains the full copyright notices and license terms. -->
<field name="type_document"/>
<label name="id_number"/>
<field name="id_number"/>
<label name="sex"/>
<field name="sex"/>
<label name="email"/>
<field name="email"/>
<label name="mobile"/>
<field name="mobile"/>
<label name="phone"/>
<field name="phone"/>
<label name="sex"/>
<field name="sex"/>
<label name="birthday"/>
<field name="birthday"/>
</group>
@ -31,6 +31,8 @@ this repository contains the full copyright notices and license terms. -->
<group colspan="4" col="6" id="address_information" string="Address Info">
<label name="country"/>
<field name="country"/>
<label name="subdivision"/>
<field name="subdivision"/>
<label name="city"/>
<field name="city"/>
<label name="address"/>