mirror of
https://github.com/OCA/pms.git
synced 2025-01-29 00:17:45 +02:00
Merge pull request #76 from hootel/pr_color_reservation
pr_color_reservation
This commit is contained in:
@@ -170,10 +170,6 @@ class HotelReservation(models.Model):
|
||||
'confirm': [('readonly', False)],
|
||||
'booking': [('readonly', False)],
|
||||
})
|
||||
reserve_color = fields.Char(compute='_compute_color', string='Color',
|
||||
store=True)
|
||||
reserve_color_text = fields.Char(compute='_compute_color', string='Color',
|
||||
store=True)
|
||||
service_ids = fields.One2many('hotel.service', 'ser_room_line')
|
||||
|
||||
pricelist_id = fields.Many2one('product.pricelist',
|
||||
@@ -284,11 +280,8 @@ class HotelReservation(models.Model):
|
||||
vals.update({'folio_id': folio.id,
|
||||
'reservation_type': vals.get('reservation_type'),
|
||||
'channel_type': vals.get('channel_type')})
|
||||
#~ colors = self._generate_color()
|
||||
vals.update({
|
||||
'last_updated_res': fields.Datetime.now(),
|
||||
#~ 'reserve_color': colors[0],
|
||||
#~ 'reserve_color_text': colors[1],
|
||||
})
|
||||
if 'board_service_id' in vals:
|
||||
board_services = []
|
||||
@@ -629,99 +622,6 @@ class HotelReservation(models.Model):
|
||||
|
||||
self.update({'service_ids': [(6, 0, other_services.ids)] + board_services})
|
||||
|
||||
"""
|
||||
COMPUTE RESERVE COLOR ----------------------------------------------
|
||||
"""
|
||||
|
||||
@api.multi
|
||||
def _generate_color(self):
|
||||
self.ensure_one()
|
||||
now_utc_dt = fields.Datetime.now()
|
||||
|
||||
ir_values_obj = self.env['ir.default']
|
||||
reserv_color = '#FFFFFF'
|
||||
reserv_color_text = '#000000'
|
||||
# FIXME added for migration
|
||||
return ('#4E9DC4', '#000000')
|
||||
|
||||
if self.reservation_type == 'staff':
|
||||
reserv_color = ir_values_obj.get('res.config.settings', 'color_staff')
|
||||
reserv_color_text = ir_values_obj.get(
|
||||
'res.config.settings',
|
||||
'color_letter_staff')
|
||||
elif self.reservation_type == 'out':
|
||||
reserv_color = ir_values_obj.get('res.config.settings', 'color_dontsell')
|
||||
reserv_color_text = ir_values_obj.get(
|
||||
'res.config.settings',
|
||||
'color_letter_dontsell')
|
||||
elif self.to_assign:
|
||||
reserv_color = ir_values_obj.get('res.config.settings', 'color_to_assign')
|
||||
reserv_color_text = ir_values_obj.get(
|
||||
'res.config.settings',
|
||||
'color_letter_to_assign')
|
||||
elif self.state == 'draft':
|
||||
reserv_color = ir_values_obj.get('res.config.settings', 'color_pre_reservation')
|
||||
reserv_color_text = ir_values_obj.get(
|
||||
'res.config.settings',
|
||||
'color_letter_pre_reservation')
|
||||
elif self.state == 'confirm':
|
||||
if self.folio_id.pending_amount == 0:
|
||||
reserv_color = ir_values_obj.get(
|
||||
'res.config.settings', 'color_reservation_pay')
|
||||
reserv_color_text = ir_values_obj.get(
|
||||
'res.config.settings', 'color_letter_reservation_pay')
|
||||
else:
|
||||
reserv_color = ir_values_obj.get(
|
||||
'res.config.settings', 'color_reservation')
|
||||
reserv_color_text = ir_values_obj.get(
|
||||
'res.config.settings', 'color_letter_reservation')
|
||||
elif self.state == 'booking':
|
||||
if self.folio_id.pending_amount == 0:
|
||||
reserv_color = ir_values_obj.get(
|
||||
'res.config.settings', 'color_stay_pay')
|
||||
reserv_color_text = ir_values_obj.get(
|
||||
'res.config.settings', 'color_letter_stay_pay')
|
||||
else:
|
||||
reserv_color = ir_values_obj.get(
|
||||
'res.config.settings', 'color_stay')
|
||||
reserv_color_text = ir_values_obj.get(
|
||||
'res.config.settings', 'color_letter_stay')
|
||||
else:
|
||||
if self.folio_id.pending_amount == 0:
|
||||
reserv_color = ir_values_obj.get(
|
||||
'res.config.settings', 'color_checkout')
|
||||
reserv_color_text = ir_values_obj.get(
|
||||
'res.config.settings', 'color_letter_checkout')
|
||||
else:
|
||||
reserv_color = ir_values_obj.get(
|
||||
'res.config.settings', 'color_payment_pending')
|
||||
reserv_color_text = ir_values_obj.get(
|
||||
'res.config.settings', 'color_letter_payment_pending')
|
||||
return (reserv_color, reserv_color_text)
|
||||
|
||||
@api.depends('state', 'reservation_type', 'folio_id.pending_amount', 'to_assign')
|
||||
def _compute_color(self):
|
||||
_logger.info('_compute_color')
|
||||
for record in self:
|
||||
colors = record._generate_color()
|
||||
record.update({
|
||||
'reserve_color': colors[0],
|
||||
'reserve_color_text': colors[1],
|
||||
})
|
||||
record.folio_id.color = colors[0]
|
||||
|
||||
# hotel_reserv_obj = self.env['hotel.reservation']
|
||||
# if rec.splitted:
|
||||
# master_reservation = rec.parent_reservation or rec
|
||||
# splitted_reservs = hotel_reserv_obj.search([
|
||||
# ('splitted', '=', True),
|
||||
# '|', ('parent_reservation', '=', master_reservation.id),
|
||||
# ('id', '=', master_reservation.id),
|
||||
# ('folio_id', '=', rec.folio_id.id),
|
||||
# ('id', '!=', rec.id),
|
||||
# ])
|
||||
# splitted_reservs.write({'reserve_color': rec.reserve_color})
|
||||
|
||||
"""
|
||||
STATE WORKFLOW -----------------------------------------------------
|
||||
"""
|
||||
|
||||
@@ -13,6 +13,66 @@ _logger = logging.getLogger(__name__)
|
||||
class HotelReservation(models.Model):
|
||||
_inherit = 'hotel.reservation'
|
||||
|
||||
reserve_color = fields.Char(compute='_compute_color', string='Color',
|
||||
store=True)
|
||||
reserve_color_text = fields.Char(compute='_compute_color', string='Color',
|
||||
store=True)
|
||||
|
||||
"""
|
||||
COMPUTE RESERVE COLOR ----------------------------------------------
|
||||
"""
|
||||
|
||||
@api.multi
|
||||
def _generate_color(self):
|
||||
self.ensure_one()
|
||||
|
||||
reserv_color = '#FFFFFF'
|
||||
reserv_color_text = '#000000'
|
||||
user = self.env.user
|
||||
if self.reservation_type == 'staff':
|
||||
reserv_color = user.color_staff
|
||||
reserv_color_text = user.color_letter_staff
|
||||
elif self.reservation_type == 'out':
|
||||
reserv_color = user.color_dontsell
|
||||
reserv_color_text = user.color_letter_dontsell
|
||||
elif self.to_assign:
|
||||
reserv_color = user.color_to_assign
|
||||
reserv_color_text = user.color_letter_to_assign
|
||||
elif self.state == 'draft':
|
||||
reserv_color = user.color_pre_reservation
|
||||
reserv_color_text = user.color_letter_pre_reservation
|
||||
elif self.state == 'confirm':
|
||||
if self.folio_id.pending_amount <= 0:
|
||||
reserv_color = user.color_reservation_pay
|
||||
reserv_color_text = user.color_letter_reservation_pay
|
||||
else:
|
||||
reserv_color = user.color_reservation
|
||||
reserv_color_text = user.color_letter_reservation
|
||||
elif self.state == 'booking':
|
||||
if self.folio_id.pending_amount <= 0:
|
||||
reserv_color = user.color_stay_pay
|
||||
reserv_color_text = user.color_letter_stay_pay
|
||||
else:
|
||||
reserv_color = user.color_stay
|
||||
reserv_color_text = user.color_letter_stay
|
||||
else:
|
||||
if self.folio_id.pending_amount <= 0:
|
||||
reserv_color = user.color_checkout
|
||||
reserv_color_text = user.color_letter_checkout
|
||||
else:
|
||||
reserv_color = user.color_payment_pending
|
||||
reserv_color_text = user.color_letter_payment_pending
|
||||
return (reserv_color, reserv_color_text)
|
||||
|
||||
@api.depends('state', 'reservation_type', 'folio_id.pending_amount', 'to_assign')
|
||||
def _compute_color(self):
|
||||
for record in self:
|
||||
colors = record._generate_color()
|
||||
record.update({
|
||||
'reserve_color': colors[0],
|
||||
'reserve_color_text': colors[1],
|
||||
})
|
||||
|
||||
@api.model
|
||||
def _hcalendar_reservation_data(self, reservations):
|
||||
json_reservations = []
|
||||
|
||||
@@ -81,27 +81,27 @@ class ResUsers(models.Model):
|
||||
'calendar.event.type',
|
||||
string="Deny Calander Event Tags")
|
||||
|
||||
color_pre_reservation = fields.Char('Pre-reservation', default='#A4A4A4')
|
||||
color_reservation = fields.Char('Confirmed Reservation ', default='#4E9DC4')
|
||||
color_reservation_pay = fields.Char('Paid Reservation', default='#66CCFF')
|
||||
color_stay = fields.Char('Checkin', default='#b40606')
|
||||
color_stay_pay = fields.Char('Paid Checkin', default='#54d12b')
|
||||
color_checkout = fields.Char('Checkout', default='#FF0000')
|
||||
color_pre_reservation = fields.Char('Pre-reservation', default='#A09FC9')
|
||||
color_reservation = fields.Char('Confirmed Reservation ', default='#7C7BAD')
|
||||
color_reservation_pay = fields.Char('Paid Reservation', default='#7C7BAD')
|
||||
color_stay = fields.Char('Checkin', default='#FF4040')
|
||||
color_stay_pay = fields.Char('Paid Checkin', default='#82BF07')
|
||||
color_checkout = fields.Char('Checkout', default='#7E7E7E')
|
||||
color_dontsell = fields.Char('Dont Sell', default='#000000')
|
||||
color_staff = fields.Char('Staff', default='#FF9933')
|
||||
color_to_assign = fields.Char('Ota Reservation to Assign', default='#DFFF00')
|
||||
color_payment_pending = fields.Char('Payment Pending', default='#f70f0f')
|
||||
color_staff = fields.Char('Staff', default='#C08686')
|
||||
color_to_assign = fields.Char('Ota Reservation to Assign', default='#ED722E')
|
||||
color_payment_pending = fields.Char('Payment Pending', default='#A24689')
|
||||
|
||||
color_letter_pre_reservation = fields.Char('Letter Pre-reservation', default='#000000')
|
||||
color_letter_reservation = fields.Char('Letter Confirmed Reservation ', default='#000000')
|
||||
color_letter_reservation_pay = fields.Char('Letter Paid Reservation', default='#000000')
|
||||
color_letter_pre_reservation = fields.Char('Letter Pre-reservation', default='#FFFFFF')
|
||||
color_letter_reservation = fields.Char('Letter Confirmed Reservation ', default='#FFFFFF')
|
||||
color_letter_reservation_pay = fields.Char('Letter Paid Reservation', default='#FFFFFF')
|
||||
color_letter_stay = fields.Char('Letter Checkin', default='#FFFFFF')
|
||||
color_letter_stay_pay = fields.Char('Letter Stay Pay', default='#000000')
|
||||
color_letter_stay_pay = fields.Char('Letter Stay Pay', default='#FFFFFF')
|
||||
color_letter_checkout = fields.Char('Letter Checkout', default='#FFFFFF')
|
||||
color_letter_dontsell = fields.Char('Letter Dont Sell', default='#FFFFFF')
|
||||
color_letter_staff = fields.Char('Letter Staff', default='#000000')
|
||||
color_letter_to_assign = fields.Char('Letter Ota to Assign', default='#000000')
|
||||
color_letter_payment_pending = fields.Char('Letter Payment Pending', default='#000000')
|
||||
color_letter_staff = fields.Char('Letter Staff', default='#FFFFFF')
|
||||
color_letter_to_assign = fields.Char('Letter Ota to Assign', default='#FFFFFF')
|
||||
color_letter_payment_pending = fields.Char('Letter Payment Pending', default='#FFFFFF')
|
||||
|
||||
def __init__(self, pool, cr):
|
||||
""" Override of __init__ to add access rights.
|
||||
|
||||
Reference in New Issue
Block a user