Fix
This commit is contained in:
parent
0c9d361423
commit
d66c7b202e
74
booking.py
74
booking.py
|
@ -1080,13 +1080,6 @@ class BookingStatementLine(ModelSQL):
|
|||
statement_line = fields.Many2One('account.statement.line', 'Statement Line',
|
||||
ondelete='RESTRICT', required=True)
|
||||
|
||||
# @classmethod
|
||||
# def set_voucher_origin(cls, voucher_id, booking_id):
|
||||
# cls.create([{
|
||||
# 'voucher': voucher_id,
|
||||
# 'booking': booking_id,
|
||||
# }])
|
||||
|
||||
|
||||
class BookingForecastStart(ModelView):
|
||||
'Booking Forecast Start'
|
||||
|
@ -1384,7 +1377,6 @@ class UpdateHolderStart(ModelView):
|
|||
phone = fields.Char('Phone')
|
||||
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')
|
||||
|
||||
|
@ -1394,7 +1386,6 @@ class UpdateHolderStart(ModelView):
|
|||
('department', '=', Eval('subdivision'))
|
||||
])
|
||||
address = fields.Char('Address')
|
||||
|
||||
type_document = fields.Selection(TYPE_DOCUMENT, 'Tipo de Documento',
|
||||
required=True)
|
||||
id_number = fields.Char('Id Number', required=True)
|
||||
|
@ -1415,6 +1406,37 @@ class UpdateHolderStart(ModelView):
|
|||
customer_type_document = fields.Selection(TYPE_DOCUMENT, 'Tipo de Documento Cliente')
|
||||
main_guest = fields.Boolean('Main Guest')
|
||||
|
||||
@fields.depends('id_number','name', 'sex', 'email', 'mobile',
|
||||
'visa_number', 'visa_date', 'address', 'birthday', 'nationality')
|
||||
def on_change_id_number(self):
|
||||
if self.id_number:
|
||||
Party = Pool().get('party.party')
|
||||
parties = Party.search([
|
||||
('id_number', '=', self.id_number)
|
||||
])
|
||||
if parties:
|
||||
|
||||
address = ''
|
||||
country = None
|
||||
subdivision = None
|
||||
party = parties[0]
|
||||
if party.addresses:
|
||||
_address = party.addresses[0]
|
||||
address = _address.street
|
||||
country = _address.country_code and _address.country_code.id
|
||||
subdivision = _address.department_code and _address.department_code.id
|
||||
self.name = party.name
|
||||
self.sex = party.sex
|
||||
self.email = party.email
|
||||
self.mobile = party.mobile
|
||||
self.visa_number = party.visa_number
|
||||
self.visa_date = party.visa_date
|
||||
self.birthday = party.birthday
|
||||
self.nationality = party.nationality and party.nationality.id
|
||||
self.country = country
|
||||
self.subdivision = subdivision
|
||||
self.address = address
|
||||
|
||||
|
||||
class UpdateHolder(Wizard):
|
||||
'Update Holder'
|
||||
|
@ -1506,19 +1528,25 @@ class UpdateHolder(Wizard):
|
|||
address['city_code'] = city_code
|
||||
address['department_code'] = subdivision_code
|
||||
address['street'] = street
|
||||
party = None
|
||||
if not booking.party:
|
||||
edit = False
|
||||
parties = Party.search([
|
||||
('id_number', '=', _party.id_number),
|
||||
])
|
||||
if parties:
|
||||
raise UserError('Este cliente ya existe!')
|
||||
|
||||
self._set_cms('create', rec, _party.email, _party.mobile, _party.phone)
|
||||
rec['addresses'] = [('create', [address])]
|
||||
if not parties:
|
||||
self._set_cms('create', rec, _party.email, _party.mobile, _party.phone)
|
||||
rec['addresses'] = [('create', [address])]
|
||||
# raise UserError('Este cliente ya existe!')
|
||||
else:
|
||||
party = parties[0]
|
||||
edit = True
|
||||
else:
|
||||
if booking.party.addresses:
|
||||
Address.write(list(booking.party.addresses), address)
|
||||
party = booking.party
|
||||
|
||||
if party:
|
||||
if party.addresses:
|
||||
Address.write(list(party.addresses), address)
|
||||
else:
|
||||
Address.create([address])
|
||||
cms_add = {}
|
||||
|
@ -1526,8 +1554,8 @@ class UpdateHolder(Wizard):
|
|||
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 party.contact_mechanisms:
|
||||
for cm in party.contact_mechanisms:
|
||||
if cm.type == 'mobile' and _party.mobile:
|
||||
cm.value = cms_add.pop('mobile')
|
||||
elif cm.type == 'phone' and _party.phone:
|
||||
|
@ -1539,7 +1567,7 @@ class UpdateHolder(Wizard):
|
|||
for (key, value) in cms_add.items():
|
||||
if not value:
|
||||
continue
|
||||
cm = CM(party=booking.party.id, type=key, value=value)
|
||||
cm = CM(party=party.id, type=key, value=value)
|
||||
cm.save()
|
||||
else:
|
||||
self._set_cms('create', rec, _party.email, _party.mobile, _party.phone)
|
||||
|
@ -1572,12 +1600,14 @@ class UpdateHolder(Wizard):
|
|||
)
|
||||
party, = Party.create([rec_])
|
||||
if edit:
|
||||
Party.write([booking.party], rec)
|
||||
party = booking.party
|
||||
Party.write([party], rec)
|
||||
if not booking.party:
|
||||
booking.party = party.id
|
||||
else:
|
||||
party, = Party.create([rec])
|
||||
Booking.write([booking], {'party': party.id})
|
||||
booking.save()
|
||||
|
||||
booking.save()
|
||||
if _party.type_document != '31':
|
||||
for folio in booking.lines:
|
||||
if not folio.main_guest:
|
||||
|
|
|
@ -3,16 +3,14 @@
|
|||
this repository contains the full copyright notices and license terms. -->
|
||||
<form>
|
||||
<group colspan="4" col="8" id="general_info" string="General Info">
|
||||
<!-- <label name="main_guest"/>
|
||||
<field name="main_guest"/> -->
|
||||
<label name="name"/>
|
||||
<field name="name"/>
|
||||
<label name="nationality"/>
|
||||
<field name="nationality" widget="selection"/>
|
||||
<label name="type_document"/>
|
||||
<field name="type_document"/>
|
||||
<label name="id_number"/>
|
||||
<field name="id_number"/>
|
||||
<label name="name"/>
|
||||
<field name="name"/>
|
||||
<label name="nationality"/>
|
||||
<field name="nationality" widget="selection"/>
|
||||
<label name="email"/>
|
||||
<field name="email"/>
|
||||
<label name="mobile"/>
|
||||
|
|
Loading…
Reference in New Issue