提供类似日历模型的(只读).ics URL
项目描述
此模块允许管理员基于任意模型上的任意选择配置iCalendars。
用户可以通过在其个人资料表中启用它们来选择性地订阅它们。
这对于将Odoo数据暴露给类似Nextcloud的日历应用程序非常有用。
目录
配置
要配置此模块,您需要
转到设置/技术/iCalendars
创建一个iCalendar,填写您想要公开的模型,以及可能限制记录的域。您可以使用user变量来限制使用iCalendar的用户相关的内容
仅允许用户访问iCalendar。使用“自动允许”使iCalendar对所有用户可用
请参阅以下示例以开始
示例
简单示例,对于模型calendar.event,您将填写record.allday和record.start_date或record.start作为DTSTART,以及record.allday和record.stop_date或record.stop作为DTEND。
高级示例,对于模型calendar.event,您将在代码中使用calendar = record._get_ics_file()。
高级示例,对于模型 hr.leave,您可以使用以下代码和 [("employee_id.user_id", "=", user.id)] 在 domain 中导出个人休假。这稍微复杂一些,因为 Odoo 处理休假的开始和结束时间的方式,您可能希望额外添加一天,因为大多数客户将结束日期视为非包含日期。
confirmed = ("validate", "validate1")
if record.request_unit_half or record.request_unit_hours:
event = {
"dtstart": event["dtstart"].date(),
"dtend": event["dtend"].date() + timedelta(days=1),
}
else:
event = {
"dtstart": record.date_from,
"dtend": record.date_to,
}
event["summary"] = record.name
event["status"] = "CONFIRMED" if record.state in confirmed else "TENTATIVE"
高级示例,对于模型 mail.activity,您可以使用以下代码和 [("user_id", "=", user.id)] 和 domain 导出所有用户活动。
todo = {
"summary": record.display_name,
"due": record.date_deadline,
"description": html2plaintext(record.note) if record.note else ""
}
用法
要使用此模块,您需要
转到您的个人资料表单
在 日历 选项卡中点击列表中的任何一个日历上的 启用
将 URL 复制到您使用的应用程序
已知问题/路线图
支持所有 https://datatracker.ietf.org/doc/html/rfc5545#section-3.8
允许用户定义自己的日历
错误追踪器
错误跟踪在 GitHub Issues 上。如果在那里找不到您的问题报告,请检查。如果是您首先发现的,请通过提供详细和受欢迎的 反馈 来帮助我们解决问题。
请不要直接联系贡献者以获取支持或技术问题的帮助。
鸣谢
贡献者
Holger Brunn <mail@hunki-enterprises.com> (https://hunki-enterprises.com)
Florian Kantelberg <florian.kantelberg@initos.com> (https://www.initos.com)
维护者
此模块由 OCA 维护。
OCA,或 Odoo 社区协会,是一个非营利组织,其使命是支持 Odoo 功能的协作开发并促进其广泛使用。
当前 维护者
此模块是 GitHub 上的 OCA/server-backend 项目的组成部分。
欢迎您贡献力量。有关如何贡献的信息,请访问 https://odoo-community.org/page/Contribute。
项目详情
odoo_addon_base_ical-15.0.1.0.0.3-py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 337e28ee94f6d22609f573d1ce2dbb80c4f0f0fbe282133035d1fed238ba5c8f |
|
MD5 | 303ca9aa5d6c1a7d7f874737fc580d6e |
|
BLAKE2b-256 | 836ad0156ed28b0521d0f398db88fa00dfc1bd746989b27a9a87590c87a9e497 |