Odoo14日历应用添加计划活动点击SCHEDULE按钮不显示在chatter如何解决
问题原因
- 模型定义存在语法笔误:
_inherit列表中\mail.activity.mixin前多了冗余的反斜杠,会导致mail.activity.mixin继承失效,活动相关的底层逻辑无法正常触发。 - 视图中
activity_ids字段缺失专属渲染组件:Odoo的待办计划活动依赖mail_activity这个专用widget渲染,你替换原有chatter结构时删掉了该字段的widget属性,未完成的计划活动无法正常渲染;而已完成的活动会自动生成消息记录走message_ids字段渲染,所以点击标记完成类按钮可以正常显示内容。
修复方案
第一步:修正模型代码
移除继承项前多余的反斜杠即可:
class MyMixedInCalendar(models.Model): _name = 'calendar.event' _inherit = ['calendar.event','mail.activity.mixin','mail.thread'] full_name = fields.Char()
第二步:修正视图代码
给activity_ids字段加上widget="mail_activity"属性,保证待办活动正常渲染,也可以补充重载配置提升稳定性:
<record id ="calender_form_inherit" model ="ir.ui.view"> <field name ="name">calendar.event</field> <field name ="model">calendar.event</field> <field name="inherit_id" ref="calendar.view_calendar_event_form"/> <field name="arch" type="xml"> <div class="oe_chatter" position="replace"> <div class="oe_chatter"> <field name="message_follower_ids"/> <field name="message_ids" /> <field name="activity_ids" widget="mail_activity" options="{'always_reload': True}"/> </div> </div> </field> </record>
修改完成后升级对应模块即可生效。
内容的提问来源于stack exchange,提问作者Neural
相关产品推荐
相关产品推荐

