odoo之Calendar

唐法
2023-12-01

概念

日历视图将记录显示为每日、每周、每月或每年日历中的事件
(默认情况下,日历视图将以当前日期(今天)为中心。您可以将特定的初始日期传递给操作的上下文,以便将日历的初始焦点设置在该日期周围的时间段(参见模式)上(要使用的上下文键initial_date))

属性

它们的根元素是<calendar>。日历视图上的可用属性是:

  • date_start(必填)
    保存事件开始日期的记录字段的名称

  • date_stop
    保存事件结束日期的记录字段的名称(如果提供date_stop)记录可以直接在日历中移动(通过拖放)

  • date_delay
    替代date_stop,提供事件的持续时间而不是结束日期(单位:天)

  • color
    用于颜色分割的记录字段的名称。相同颜色段中的记录在日历中被分配为相同的突出显示颜色,颜色是半随机分配的。在侧边栏中显示可见记录的display_name/头像

  • form_view_id
    视图在用户创建或编辑事件时打开。请注意,如果未设置此属性,日历视图将回退到当前操作中表单视图的id(如果有)

  • event_open_popup
    如果选项event_open_popup设置为true,则日历视图将在FormViewDialog中打开事件(或记录)。否则,它将在新的表单视图中打开事件(do_action)

  • quick_add
    在单击时启用快速事件创建:仅向用户询问名称(此值保存到的字段可以通过rec_name控制),并尝试仅使用该名称和单击的事件时间创建新事件。如果快速创建失败,则返回完整窗体对话框

  • create_name_field
    保存记录文本表示的记录字段的名称,这在通过“快速创建”机制创建记录时使用

  • all_day
    记录上的布尔字段名称,指示相应事件是否被标记为一天(持续时间无关紧要)

  • mode
    加载日历时的默认显示模式。可能的属性是:日、周、月、年

  • scales
    要提供的以逗号分隔的比例列表。默认情况下,所有比例都可用。有关可能的比例值,请参阅模式。

  • create, delete
    允许通过将相应属性设置为false来禁用视图中的相应操作

  • <field>
    声明要聚合或在看板逻辑中使用的字段。如果该字段仅显示在日历卡片中。

    字段可以有额外的属性

    • invisible
      使用“True”隐藏卡片中的值
    • avatar_field
      仅适用于 x2many字段,以显示头像而不是卡片中的display_name
    • write_model and write_field and filter_field
      您可以添加过滤器并将结果保存在定义的模型中,过滤器添加在侧边栏中。filter_field是可选的,允许您指定保存过滤器状态的字段
    • filters and color
      使用“True”在侧边栏的过滤器中添加此字段。您可以指定用于为复选框着色的颜色字段

案例

使用Odoo看板视图中的model

新增日历视图

 <record model="ir.ui.view" id="positions_view_calendar" >
     <field name="name">positions.calendar</field>
     <field name="model">test_demo.comics</field>
     <field name="arch" type="xml">
         <calendar string="动漫" date_start="release_date" mode="year">
             <field name="name"/>
             <field name="score"/>
             <field name="total"/>
         </calendar>
     </field>
 </record>

在显示视图的action中,引入calendar

<record id="act_comics_view" model="ir.actions.act_window">
    <field name="name">comics</field>
    <field name="res_model">test_demo.comics</field>
    <field name="view_mode">tree,kanban,calendar,form</field>
</record>
 类似资料: