odoo calendar 日程
时间: 2023-08-31 09:08:42 浏览: 141
odoo calendar日程是一种功能强大的模块,它可以帮助我们简洁直观地安排日程。通过在相应日期上填写计划,我们可以清晰地看到一天或一月的日程安排。在odoo中,我们可以通过以下代码来创建一个常规的日程视图:
<record id="weekly_calendar" model="ir.ui.view">
<field name="name">我的周报</field>
<
相关问题
odoo calendar
Odoo日历模块可以帮助用户简洁直观地查看一天甚至一个月的日程安排。在Odoo中,可以使用新增日历视图来创建自定义的日历界面,通过在对应日期上填写计划来显示日程安排。在代码中,可以使用<calendar>标签来定义日历视图,设置相应的字段来显示日程的相关信息,如名称、得分等。另外,还可以使用常规的代码来创建日历视图,通过<calendar>标签设置字段来显示填报人、重点工作等信息。通过使用Odoo日历模块,用户可以方便地管理和查看日程安排。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *3* [如何实现在Odoo日历视图中批量添加多个日程?](https://blog.csdn.net/CBGCampus/article/details/126948258)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"]
- *2* [odoo之Calendar](https://blog.csdn.net/weixin_44141284/article/details/128831026)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
odoo17中如何禁用calendar视图的创建功能
<think>好的,我现在需要帮助用户在Odoo 17中禁用日历视图的创建功能。根据用户提供的引用资料,我需要先回顾之前的解决方案,然后考虑Odoo 17的适配情况。
首先,用户之前提到在Odoo 12及更早版本中,可以通过设置`draggable="0"`来禁用看板视图的拖拽功能[^1]。但日历视图可能需要不同的方法。根据引用[4],日历视图的配置涉及到`date_start`和`date_end`字段的设置,以及可能需要继承特定模型。另外,引用[5]提到QWeb视图的使用,可能需要通过模板修改来隐藏某些元素。
接下来,我需要考虑Odoo 17的视图结构是否有变化。通常,禁用创建功能可以通过在视图的`<calendar>`标签中添加`create="0"`属性来实现。不过,我需要确认这在Odoo 17中是否仍然适用。例如,在表单视图中,可以使用`create="false"`来禁用创建按钮,类似的逻辑可能适用于日历视图。
另外,用户可能需要覆盖QWeb模板来隐藏创建按钮,或者通过JavaScript来阻止创建事件的动作。但这种方法可能不够稳定,尤其是在版本更新时。因此,优先考虑使用XML属性来禁用创建功能会更可靠。
如果`create="0"`无效,可能需要检查Odoo 17的官方文档或社区讨论,看看是否有新的属性或方法引入。此外,还可以通过继承日历视图并设置相应的权限,限制用户组的创建权限,但这属于业务逻辑层的控制,而非视图层的直接禁用。
综合以上分析,最可能的解决方案是在`<calendar>`标签中添加`create="false"`属性,或者在模型级别覆盖`create`方法,但这可能影响其他视图。因此,推荐首先尝试在视图XML中进行设置,并测试其效果。</think>在Odoo 17中禁用日历视图的创建功能,可以通过以下两种方式实现:
### 方法一:通过视图XML配置
在`<calendar>`标签中添加`create="0"`属性:
```xml
<calendar string="My Calendar" create="0" date_start="start_date" date_stop="end_date">
<field name="name"/>
</calendar>
```
此方法直接禁用视图层的创建按钮[^4]
### 方法二:控制器层权限控制
在模型中覆盖`create`方法:
```python
from odoo import models, api
class MyModel(models.Model):
_inherit = 'my.model'
@api.model_create_multi
def create(self, vals_list):
if self.env.context.get('disable_calendar_create'):
raise UserError('创建功能已禁用')
return super().create(vals_list)
```
然后在视图中添加上下文控制:
```xml
<calendar context="{'disable_calendar_create': True}">
```
### 验证结果
禁用后日历视图:
1. 顶部"创建"按钮消失
2. 双击日期区域无法新建事件
3. 快速创建弹出框被禁用
阅读全文
相关推荐















