[TMP][FIX] run create direct folio

This commit is contained in:
Dario Lodeiros
2018-10-23 13:48:23 +02:00
parent 9401fbe918
commit 0a233d4c82
2 changed files with 20 additions and 12 deletions

View File

@@ -321,16 +321,17 @@ class HotelFolio(models.Model):
).next_by_code('sale.order') or _('New')
else:
vals['name'] = self.env['ir.sequence'].next_by_code('hotel.folio') or _('New')
# Makes sure partner_invoice_id' and 'pricelist_id' are defined
lfields = ('partner_invoice_id', 'partner_shipping_id', 'pricelist_id')
#~ if any(f not in vals for f in lfields):
#~ partner = self.env['res.partner'].browse(vals.get('partner_id'))
#~ addr = partner.address_get(['delivery', 'invoice'])
if any(f not in vals for f in lfields):
partner = self.env['res.partner'].browse(vals.get('partner_id'))
addr = partner.address_get(['delivery', 'invoice'])
#~ vals['partner_invoice_id'] = vals.setdefault('partner_invoice_id', addr['invoice'])
#~ vals['pricelist_id'] = vals.setdefault(
#~ 'pricelist_id',
#~ partner.property_product_pricelist and partner.property_product_pricelist.id)
vals['pricelist_id'] = vals.setdefault(
'pricelist_id',
partner.property_product_pricelist and partner.property_product_pricelist.id)
result = super(HotelFolio, self).create(vals)
return result
@@ -353,7 +354,10 @@ class HotelFolio(models.Model):
addr = self.partner_id.address_get(['invoice'])
#TEMP:
values = { 'user_id': self.partner_id.user_id.id or self.env.uid }
values = { 'user_id': self.partner_id.user_id.id or self.env.uid,
'pricelist_id':self.partner_id.property_product_pricelist and \
self.partner_id.property_product_pricelist.id or \
self.env['ir.default'].sudo().get('res.config.settings', 'parity_pricelist_id')}
#~ values = {
#~ 'pricelist_id': self.partner_id.property_product_pricelist and \
#~ self.partner_id.property_product_pricelist.id or False,

View File

@@ -334,11 +334,15 @@ class HotelReservation(models.Model):
def _prepare_add_missing_fields(self, values):
""" Deduce missing required fields from the onchange """
res = {}
onchange_fields = ['room_id', 'pricelist_id', 'reservation_type', 'currency_id']
if values.get('partner_id') and values.get('room_type_id') and \
any(f not in values for f in onchange_fields):
onchange_fields = ['room_id', 'reservation_type', 'currency_id']
if values.get('partner_id') and values.get('room_type_id'):
line = self.new(values)
line.onchange_room_id()
if any(f not in values for f in onchange_fields):
line.onchange_room_id()
if 'name' not in values:
line.onchange_compute_reservation_description()
if 'pricelist_id' not in values:
line.onchange_partner_id()
for field in onchange_fields:
if field not in values:
res[field] = line._fields[field].convert_to_write(line[field], line)
@@ -353,7 +357,7 @@ class HotelReservation(models.Model):
if checkin and checkout and room_type:
room_chosen = self.env['hotel.room.type'].check_availability_room(checkin, checkout, room_type)[0]
res.update({
'room_id': room_chosen
'room_id': room_chosen.id
})
return res