Python Odoo继承日历并将公共假日添加到日历视图中
我想继承Odoo11模块“hr.holiday”日历视图,然后将公共假日插入日历 目前,我的公共假期模型如下:Python Odoo继承日历并将公共假日添加到日历视图中,python,python-3.x,odoo,odoo-11,Python,Python 3.x,Odoo,Odoo 11,我想继承Odoo11模块“hr.holiday”日历视图,然后将公共假日插入日历 目前,我的公共假期模型如下: class PublicHoliday(models.Model): _name = 'hr.public.holiday' _description = 'Public Holidays' name = fields.Char(string='Holiday Name', compute="_compute_name", required=True)
class PublicHoliday(models.Model):
_name = 'hr.public.holiday'
_description = 'Public Holidays'
name = fields.Char(string='Holiday Name', compute="_compute_name", required=True)
year = fields.Integer(
"Calendar Year",
required=True,
default=datetime.now().year
)
holiday_ids = fields.One2many('hr.public.holiday.holidays', 'year_id', 'Holidays')
# company_id = fields.Many2one('res.company', 'Company')
class HrPublicHolidayHolidays(models.Model):
_name = 'hr.public.holiday.holidays'
_description = 'Public Holidays Dates'
name = fields.Char('Holiday Name', required=True)
date = fields.Date('Holiday Date', required=True)
date_day = fields.Char('Day')
year_id = fields.Many2one('hr.public.holiday', 'Calendar Year', required=True)
variable = fields.Boolean('Date may change')
上面的代码运行良好,下面是我插入的公共假日列表示例:
现在,我想将列表中的公共假日(如上图)添加到odoo own hr.holiday模块提供的日历视图中,例如2018年8月3日是假日,因此日历将显示2018年8月3日是公共假日,然后在2018年8月3日写入公共假日名称。和日历视图是:
我尝试使用xpath继承并插入假日,代码如下:
<?xml version="1.0" encoding="UTF-8" ?>
<odoo>
<!-- Insert Public Holidays into Leave Calendar-->
<record id="view_holiday_new_calendar_inherit" model="ir.ui.view">
<field name="name">hr.holiday.calendar.inherit</field>
<field name="model">hr.public.holiday.holidays</field>
<field name="inherit_id" ref="hr_holidays.view_holiday_new_calendar" />
<field name="arch" type="xml">
<xpath expr="/calendar" position="after">
<calendar string="Public Holidays" date_start="date" date_stop="date" mode="month" quick_add="False" color="date">
<field name="name"/>
</calendar>
</xpath>
</field>
</record>
hr.holiday.calendar.inherit
公共假日
但这不起作用并抛出错误,我不知道是否有办法将假日插入日历视图。有人能帮我吗?或者告诉我这是可能的还是不可能的,如果不可能,还有其他方法可以实现吗
提前感谢。检查模块如何在v10中实现此功能,您需要查看
hr\u public\u holidays/static/src/js/holidays\u highlighter.js
和hr\u public\u holidays/templates/assets.xml
。请注意,此处hr\u public\u holidays/data/ir\u config\u parameter.xml
预加载默认颜色以在日历视图中高亮显示。请注意,该模块的名称是“hr\U public\u holidays”,而不是v11中的“hr\U holidays\u public”