Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Odoo继承日历并将公共假日添加到日历视图中_Python_Python 3.x_Odoo_Odoo 11 - Fatal编程技术网

Python Odoo继承日历并将公共假日添加到日历视图中

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)

我想继承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)
    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”