[IMP] Moved calendar settings to res.users model (#56)

* [IMP] Moved calendar settings to res.users model

* [IMP] Added default colours
This commit is contained in:
QS5ELkMu
2018-11-10 17:32:05 +01:00
committed by GitHub
parent c06f1db8db
commit 8850cc90f5
9 changed files with 149 additions and 206 deletions

View File

@@ -22,7 +22,6 @@
'data': [
'views/general.xml',
'views/actions.xml',
'views/res_config_views.xml',
'views/inherited_res_users_views.xml',
'views/inherited_hotel_room_type_views.xml',
'views/inherited_hotel_room_views.xml',

View File

@@ -1,18 +1,17 @@
# Copyright 2018 Alexandre Díaz <dev@redneboa.es>
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
from . import inherited_hotel_reservation
from . import inherited_product_pricelist_item
from . import inherited_res_users
from . import bus_hotel_calendar
from . import room_pricelist_cached
from . import hotel_calendar_management
from . import res_config
from . import inherited_hotel_reservation
from . import inherited_product_pricelist_item
from . import inherited_res_users
from . import inherited_hotel_room
from . import inherited_hotel_room_type
from . import inherited_hotel_room_type_restriction_item
from . import inherited_hotel_room_type_availability
from . import inherited_product_pricelist
from . import inherited_hotel_folio
from . import inherited_ir_default
from . import inherited_ir_actions_act_window_view
from . import inherited_ir_ui_view
from . import ir_default
from . import ir_actions_act_window_view
from . import ir_ui_view

View File

@@ -80,3 +80,112 @@ class ResUsers(models.Model):
npms_denied_events_tags = fields.Many2many(
'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_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_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_stay = fields.Char('Letter Checkin', default='#FFFFFF')
color_letter_stay_pay = fields.Char('Letter Stay Pay', default='#000000')
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')
def __init__(self, pool, cr):
""" Override of __init__ to add access rights.
Access rights are disabled by default, but allowed on some specific
fields defined in self.SELF_{READ/WRITE}ABLE_FIELDS.
"""
super(ResUsers, self).__init__(pool, cr)
# duplicate list to avoid modifying the original reference
type(self).SELF_WRITEABLE_FIELDS = list(self.SELF_WRITEABLE_FIELDS)
type(self).SELF_WRITEABLE_FIELDS.extend([
'pms_divide_rooms_by_capacity',
'pms_end_day_week',
'pms_end_day_week_offset',
'pms_type_move',
'pms_default_num_days',
'pms_show_notifications',
'pms_show_pricelist',
'pms_show_availability',
'pms_show_num_rooms',
'pms_allowed_events_tags',
'pms_denied_events_tags',
'npms_end_day_week',
'npms_end_day_week_offset',
'npms_default_num_days',
'npms_allowed_events_tags',
'npms_denied_events_tags',
'color_pre_reservation',
'color_reservation',
'color_reservation_pay',
'color_stay',
'color_stay_pay',
'color_checkout',
'color_dontsell',
'color_staff',
'color_to_assign',
'color_payment_pending',
'color_letter_pre_reservation',
'color_letter_reservation',
'color_letter_reservation_pay',
'color_letter_stay',
'color_letter_stay_pay',
'color_letter_checkout',
'color_letter_dontsell',
'color_letter_staff',
'color_letter_to_assign',
'color_letter_payment_pending',
])
# duplicate list to avoid modifying the original reference
type(self).SELF_READABLE_FIELDS = list(self.SELF_READABLE_FIELDS)
type(self).SELF_READABLE_FIELDS.extend([
'pms_divide_rooms_by_capacity',
'pms_end_day_week',
'pms_end_day_week_offset',
'pms_type_move',
'pms_default_num_days',
'pms_show_notifications',
'pms_show_pricelist',
'pms_show_availability',
'pms_show_num_rooms',
'pms_allowed_events_tags',
'pms_denied_events_tags',
'npms_end_day_week',
'npms_end_day_week_offset',
'npms_default_num_days',
'npms_allowed_events_tags',
'npms_denied_events_tags',
'color_pre_reservation',
'color_reservation',
'color_reservation_pay',
'color_stay',
'color_stay_pay',
'color_checkout',
'color_dontsell',
'color_staff',
'color_to_assign',
'color_payment_pending',
'color_letter_pre_reservation',
'color_letter_reservation',
'color_letter_reservation_pay',
'color_letter_stay',
'color_letter_stay_pay',
'color_letter_checkout',
'color_letter_dontsell',
'color_letter_staff',
'color_letter_to_assign',
'color_letter_payment_pending',
])

View File

@@ -1,165 +0,0 @@
# Copyright 2018 Alexandre Díaz <dev@redneboa.es>
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
from odoo import models, fields, api
class HotelConfiguration(models.TransientModel):
_inherit = 'res.config.settings'
color_pre_reservation = fields.Char('Pre-reservation')
color_reservation = fields.Char('Confirmed Reservation')
color_reservation_pay = fields.Char('Paid Reservation')
color_stay = fields.Char('Checkin')
color_stay_pay = fields.Char('Paid Checkin')
color_checkout = fields.Char('Checkout')
color_dontsell = fields.Char('Dont Sell')
color_staff = fields.Char('Staff')
color_to_assign = fields.Char('Ota Reservation to Assign')
color_payment_pending = fields.Char('Letter Payment Pending')
color_letter_pre_reservation = fields.Char('Letter Pre-reservation')
color_letter_reservation = fields.Char('Letter Confirmed Reservation')
color_letter_reservation_pay = fields.Char('Letter Paid Reservation')
color_letter_stay = fields.Char('Letter Checkin')
color_letter_stay_pay = fields.Char('Letter Stay Pay')
color_letter_checkout = fields.Char('Letter Checkout')
color_letter_dontsell = fields.Char('Letter Dont Sell')
color_letter_staff = fields.Char('Letter Staff')
color_letter_to_assign = fields.Char('Letter Ota to Assign')
color_letter_payment_pending = fields.Char('Letter Payment Pending')
@api.multi
def set_values(self):
super(HotelConfiguration, self).set_values()
self.env['ir.default'].sudo().set(
'res.config.settings',
'color_pre_reservation', self.color_pre_reservation)
self.env['ir.default'].sudo().set(
'res.config.settings',
'color_reservation', self.color_reservation)
self.env['ir.default'].sudo().set(
'res.config.settings',
'color_reservation_pay', self.color_reservation_pay)
self.env['ir.default'].sudo().set(
'res.config.settings', 'color_stay', self.color_stay)
self.env['ir.default'].sudo().set(
'res.config.settings', 'color_stay_pay', self.color_stay_pay)
self.env['ir.default'].sudo().set(
'res.config.settings', 'color_checkout', self.color_checkout)
self.env['ir.default'].sudo().set(
'res.config.settings', 'color_dontsell', self.color_dontsell)
self.env['ir.default'].sudo().set(
'res.config.settings', 'color_staff', self.color_staff)
self.env['ir.default'].sudo().set(
'res.config.settings', 'color_to_assign', self.color_to_assign)
self.env['ir.default'].sudo().set(
'res.config.settings',
'color_payment_pending', self.color_payment_pending)
self.env['ir.default'].sudo().set(
'res.config.settings',
'color_letter_pre_reservation', self.color_letter_pre_reservation)
self.env['ir.default'].sudo().set(
'res.config.settings',
'color_letter_reservation', self.color_letter_reservation)
self.env['ir.default'].sudo().set(
'res.config.settings',
'color_letter_reservation_pay', self.color_letter_reservation_pay)
self.env['ir.default'].sudo().set(
'res.config.settings', 'color_letter_stay', self.color_letter_stay)
self.env['ir.default'].sudo().set(
'res.config.settings', 'color_letter_stay_pay', self.color_letter_stay_pay)
self.env['ir.default'].sudo().set(
'res.config.settings', 'color_letter_checkout', self.color_letter_checkout)
self.env['ir.default'].sudo().set(
'res.config.settings', 'color_letter_dontsell', self.color_letter_dontsell)
self.env['ir.default'].sudo().set(
'res.config.settings', 'color_letter_staff', self.color_letter_staff)
self.env['ir.default'].sudo().set(
'res.config.settings', 'color_letter_to_assign', self.color_letter_to_assign)
self.env['ir.default'].sudo().set(
'res.config.settings',
'color_letter_payment_pending', self.color_letter_payment_pending)
self.env['ir.default'].sudo().set(
'res.config.settings',
'default_arrival_hour', self.default_arrival_hour)
@api.model
def get_values(self):
res = super(HotelConfiguration, self).get_values()
# ONLY FOR v11. DO NOT FORWARD-PORT
color_pre_reservation = self.env['ir.default'].sudo().get(
'res.config.settings',
'color_pre_reservation', self.color_pre_reservation)
color_reservation = self.env['ir.default'].sudo().get(
'res.config.settings',
'color_reservation', self.color_reservation)
color_reservation_pay = self.env['ir.default'].sudo().get(
'res.config.settings',
'color_reservation_pay', self.color_reservation_pay)
color_stay = self.env['ir.default'].sudo().get(
'res.config.settings', 'color_stay', self.color_stay)
color_stay_pay = self.env['ir.default'].sudo().get(
'res.config.settings', 'color_stay_pay', self.color_stay_pay)
color_checkout = self.env['ir.default'].sudo().get(
'res.config.settings', 'color_checkout', self.color_checkout)
color_dontsell = self.env['ir.default'].sudo().get(
'res.config.settings', 'color_dontsell', self.color_dontsell)
color_staff = self.env['ir.default'].sudo().get(
'res.config.settings', 'color_staff', self.color_staff)
color_to_assign = self.env['ir.default'].sudo().get(
'res.config.settings', 'color_to_assign', self.color_to_assign)
color_payment_pending = self.env['ir.default'].sudo().get(
'res.config.settings',
'color_payment_pending', self.color_payment_pending)
color_letter_pre_reservation = self.env['ir.default'].sudo().get(
'res.config.settings',
'color_letter_pre_reservation', self.color_letter_pre_reservation)
color_letter_reservation = self.env['ir.default'].sudo().get(
'res.config.settings',
'color_letter_reservation', self.color_letter_reservation)
color_letter_reservation_pay = self.env['ir.default'].sudo().get(
'res.config.settings',
'color_letter_reservation_pay', self.color_letter_reservation_pay)
color_letter_stay = self.env['ir.default'].sudo().get(
'res.config.settings', 'color_letter_stay', self.color_letter_stay)
color_letter_stay_pay = self.env['ir.default'].sudo().get(
'res.config.settings', 'color_letter_stay_pay',
self.color_letter_stay_pay)
color_letter_checkout = self.env['ir.default'].sudo().get(
'res.config.settings', 'color_letter_checkout',
self.color_letter_checkout)
color_letter_dontsell = self.env['ir.default'].sudo().get(
'res.config.settings', 'color_letter_dontsell',
self.color_letter_dontsell)
color_letter_staff = self.env['ir.default'].sudo().get(
'res.config.settings', 'color_letter_staff',
self.color_letter_staff)
color_letter_to_assign = self.env['ir.default'].sudo().get(
'res.config.settings', 'color_letter_to_assign',
self.color_letter_to_assign)
color_letter_payment_pending = self.env['ir.default'].sudo().get(
'res.config.settings',
'color_letter_payment_pending', self.color_letter_payment_pending)
res.update(
color_pre_reservation=color_pre_reservation,
color_reservation=color_reservation,
color_reservation_pay=color_reservation_pay,
color_stay=color_stay,
color_stay_pay=color_stay_pay,
color_checkout=color_checkout,
color_dontsell=color_dontsell,
color_staff=color_staff,
color_to_assign=color_to_assign,
color_payment_pending=color_payment_pending,
color_letter_pre_reservation=color_letter_pre_reservation,
color_letter_reservation=color_letter_reservation,
color_letter_reservation_pay=color_letter_reservation_pay,
color_letter_stay=color_letter_stay,
color_letter_stay_pay=color_letter_stay_pay,
color_letter_checkout=color_letter_checkout,
color_letter_dontsell=color_letter_dontsell,
color_letter_staff=color_letter_staff,
color_letter_to_assign=color_letter_to_assign,
color_letter_payment_pending=color_letter_payment_pending,
)
return res

View File

@@ -36,6 +36,40 @@
<field name="npms_denied_events_tags" widget="many2many_tags" />
</group>
</group>
<group string="Reservation States Colours" name="reservation_colors" colspan="8">
<group>
<group colspan="4">
<field name="color_pre_reservation" widget="color" />
<field name="color_reservation" widget="color" />
<field name="color_reservation_pay" widget="color" />
<field name="color_stay" widget="color" />
<field name="color_stay_pay" widget="color" />
</group>
<group colspan="4">
<field name="color_checkout" widget="color" />
<field name="color_dontsell" widget="color" />
<field name="color_staff" widget="color" />
<field name="color_to_assign" widget="color" />
<field name="color_payment_pending" widget="color" />
</group>
</group>
<group>
<group colspan="4">
<field name="color_letter_pre_reservation" widget="color" />
<field name="color_letter_reservation" widget="color" />
<field name="color_letter_reservation_pay" widget="color" />
<field name="color_letter_stay" widget="color" />
<field name="color_letter_stay_pay" widget="color" />
</group>
<group colspan="4">
<field name="color_letter_checkout" widget="color" />
<field name="color_letter_dontsell" widget="color" />
<field name="color_letter_staff" widget="color" />
<field name="color_letter_to_assign" widget="color" />
<field name="color_letter_payment_pending" widget="color" />
</group>
</group>
</group>
</xpath>
</field>
</record>

View File

@@ -1,33 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<!-- Calendar Settings -->
<record id="hotel_config_settings_view_form" model="ir.ui.view">
<field name="name">res.config.settings.view.form.inherit.hotel</field>
<field name="model">res.config.settings</field>
<field name="priority" eval="80"/>
<field name="inherit_id" ref="base.res_config_settings_view_form"/>
<field name="arch" type="xml">
<xpath expr="//div[@data-key='hotel']" position="inside">
<h2>Calendar colors</h2>
<div class="row mt16 o_settings_container">
<div class="col-xs-12 col-md-6 o_setting_box">
<field name="color_pre_reservation" required="True" widget="color"/><field name="color_letter_pre_reservation" required="True" widget="color" />
<field name="color_reservation" required="True" widget="color"/><field name="color_letter_reservation" required="True" widget="color" />
<field name="color_reservation_pay" required="True" widget="color"/><field name="color_letter_reservation_pay" required="True" widget="color" />
<field name="color_stay" required="True" widget="color"/><field name="color_letter_stay" required="True" widget="color" />
<field name="color_stay_pay" required="True" widget="color"/><field name="color_letter_stay_pay" required="True" widget="color" />
</div>
<div class="col-xs-12 col-md-6 o_setting_box">
<field name="color_checkout" required="True" widget="color"/><field name="color_letter_checkout" required="True" widget="color" />
<field name="color_dontsell" required="True" widget="color"/><field name="color_letter_dontsell" required="True" widget="color" />
<field name="color_staff" required="True" widget="color"/><field name="color_letter_staff" required="True" widget="color" />
<field name="color_to_assign" required="True" widget="color"/><field name="color_letter_to_assign" required="True" widget="color" />
<field name="color_payment_pending" required="True" widget="color"/><field name="color_letter_payment_pending" required="True" widget="color" />
</div>
</div>
</xpath>
</field>
</record>
</odoo>