diff --git a/hotel/models/hotel_reservation.py b/hotel/models/hotel_reservation.py index 8d7b3e7b6..8aae087c3 100644 --- a/hotel/models/hotel_reservation.py +++ b/hotel/models/hotel_reservation.py @@ -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 ----------------------------------------------------- """ diff --git a/hotel_calendar/models/inherited_hotel_reservation.py b/hotel_calendar/models/inherited_hotel_reservation.py index 68ad6dccf..e84a8f5ac 100644 --- a/hotel_calendar/models/inherited_hotel_reservation.py +++ b/hotel_calendar/models/inherited_hotel_reservation.py @@ -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 = [] diff --git a/hotel_calendar/models/inherited_res_users.py b/hotel_calendar/models/inherited_res_users.py index 078c51ab0..7d675a464 100644 --- a/hotel_calendar/models/inherited_res_users.py +++ b/hotel_calendar/models/inherited_res_users.py @@ -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.