[BOT] post-merge updates

This commit is contained in:
OCA-git-bot
2024-05-06 15:18:30 +00:00
parent a98536f52f
commit ad01df913d
5 changed files with 71 additions and 48 deletions

View File

@@ -28,6 +28,7 @@ addon | version | maintainers | summary
[base_external_dbsource_sqlite](base_external_dbsource_sqlite/) | 15.0.1.0.0 | | External Database Source - SQLite
[base_external_system](base_external_system/) | 15.0.1.0.0 | | Data models allowing for connection to external systems.
[base_global_discount](base_global_discount/) | 15.0.1.0.0 | | Base Global Discount
[base_ical](base_ical/) | 15.0.1.0.0 | [![hbrunn](https://github.com/hbrunn.png?size=30px)](https://github.com/hbrunn) | Provide (readonly) .ics URLs to calendar-like models
[base_import_match](base_import_match/) | 15.0.1.0.1 | | Try to avoid duplicates before importing
[base_user_role](base_user_role/) | 15.0.0.4.1 | [![sebalix](https://github.com/sebalix.png?size=30px)](https://github.com/sebalix) [![jcdrubay](https://github.com/jcdrubay.png?size=30px)](https://github.com/jcdrubay) [![novawish](https://github.com/novawish.png?size=30px)](https://github.com/novawish) | User roles

View File

@@ -2,10 +2,13 @@
Readonly publishing of calendars
================================
.. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
..
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! source digest: sha256:fcc362c6ec99b15b1310731ed8fe11a12ee242565f3b449ad387f663683ae54d
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
.. |badge1| image:: https://img.shields.io/badge/maturity-Alpha-red.png
:target: https://odoo-community.org/page/development-status
@@ -20,10 +23,10 @@ Readonly publishing of calendars
:target: https://translation.odoo-community.org/projects/server-backend-15-0/server-backend-15-0-base_ical
:alt: Translate me on Weblate
.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png
:target: https://runboat.odoo-community.org/webui/builds.html?repo=OCA/server-backend&target_branch=15.0
:target: https://runboat.odoo-community.org/builds?repo=OCA/server-backend&target_branch=15.0
:alt: Try me on Runboat
|badge1| |badge2| |badge3| |badge4| |badge5|
|badge1| |badge2| |badge3| |badge4| |badge5|
This module allows administrators to configure iCalendars based on an arbitrary selection on arbitrary models.
@@ -107,7 +110,7 @@ Bug Tracker
Bugs are tracked on `GitHub Issues <https://github.com/OCA/server-backend/issues>`_.
In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us smashing it by providing a detailed and welcomed
If you spotted it first, help us to smash it by providing a detailed and welcomed
`feedback <https://github.com/OCA/server-backend/issues/new?body=module:%20base_ical%0Aversion:%2015.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.
Do not contact contributors directly about support or help with technical issues.

View File

@@ -1,20 +1,19 @@
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="generator" content="Docutils: http://docutils.sourceforge.net/" />
<meta name="generator" content="Docutils: https://docutils.sourceforge.io/" />
<title>Readonly publishing of calendars</title>
<style type="text/css">
/*
:Author: David Goodger (goodger@python.org)
:Id: $Id: html4css1.css 7952 2016-07-26 18:15:59Z milde $
:Id: $Id: html4css1.css 8954 2022-01-20 10:10:25Z milde $
:Copyright: This stylesheet has been placed in the public domain.
Default cascading style sheet for the HTML output of Docutils.
See http://docutils.sf.net/docs/howto/html-stylesheets.html for how to
See https://docutils.sourceforge.io/docs/howto/html-stylesheets.html for how to
customize this style sheet.
*/
@@ -367,9 +366,9 @@ ul.auto-toc {
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! source digest: sha256:08b4b5a2737a01f894ac4e4e5382694dcd87bf6e5ac5bb46ca91df22d8d8e51a
!! source digest: sha256:fcc362c6ec99b15b1310731ed8fe11a12ee242565f3b449ad387f663683ae54d
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
<p><a class="reference external" href="https://odoo-community.org/page/development-status"><img alt="Alpha" src="https://img.shields.io/badge/maturity-Alpha-red.png" /></a> <a class="reference external" href="http://www.gnu.org/licenses/agpl-3.0-standalone.html"><img alt="License: AGPL-3" src="https://img.shields.io/badge/licence-AGPL--3-blue.png" /></a> <a class="reference external" href="https://github.com/OCA/server-backend/tree/15.0/base_ical"><img alt="OCA/server-backend" src="https://img.shields.io/badge/github-OCA%2Fserver--backend-lightgray.png?logo=github" /></a> <a class="reference external" href="https://translation.odoo-community.org/projects/server-backend-15-0/server-backend-15-0-base_ical"><img alt="Translate me on Weblate" src="https://img.shields.io/badge/weblate-Translate%20me-F47D42.png" /></a> <a class="reference external" href="https://runboat.odoo-community.org/builds?repo=OCA/server-backend&amp;target_branch=15.0"><img alt="Try me on Runboat" src="https://img.shields.io/badge/runboat-Try%20me-875A7B.png" /></a></p>
<p><a class="reference external image-reference" href="https://odoo-community.org/page/development-status"><img alt="Alpha" src="https://img.shields.io/badge/maturity-Alpha-red.png" /></a> <a class="reference external image-reference" href="http://www.gnu.org/licenses/agpl-3.0-standalone.html"><img alt="License: AGPL-3" src="https://img.shields.io/badge/licence-AGPL--3-blue.png" /></a> <a class="reference external image-reference" href="https://github.com/OCA/server-backend/tree/15.0/base_ical"><img alt="OCA/server-backend" src="https://img.shields.io/badge/github-OCA%2Fserver--backend-lightgray.png?logo=github" /></a> <a class="reference external image-reference" href="https://translation.odoo-community.org/projects/server-backend-15-0/server-backend-15-0-base_ical"><img alt="Translate me on Weblate" src="https://img.shields.io/badge/weblate-Translate%20me-F47D42.png" /></a> <a class="reference external image-reference" href="https://runboat.odoo-community.org/builds?repo=OCA/server-backend&amp;target_branch=15.0"><img alt="Try me on Runboat" src="https://img.shields.io/badge/runboat-Try%20me-875A7B.png" /></a></p>
<p>This module allows administrators to configure iCalendars based on an arbitrary selection on arbitrary models.</p>
<p>Users can selectively subscribe to them by enabling them in their profile form.</p>
<p>This is useful for exposing Odoo data to calendaring application like Nextcloud.</p>
@@ -382,37 +381,63 @@ Only for development or testing purpose, do not use in production.
<p><strong>Table of contents</strong></p>
<div class="contents local topic" id="contents">
<ul class="simple">
<li><a class="reference internal" href="#configuration" id="id1">Configuration</a></li>
<li><a class="reference internal" href="#usage" id="id2">Usage</a></li>
<li><a class="reference internal" href="#known-issues-roadmap" id="id3">Known issues / Roadmap</a></li>
<li><a class="reference internal" href="#bug-tracker" id="id4">Bug Tracker</a></li>
<li><a class="reference internal" href="#credits" id="id5">Credits</a><ul>
<li><a class="reference internal" href="#authors" id="id6">Authors</a></li>
<li><a class="reference internal" href="#contributors" id="id7">Contributors</a></li>
<li><a class="reference internal" href="#other-credits" id="id8">Other credits</a></li>
<li><a class="reference internal" href="#maintainers" id="id9">Maintainers</a></li>
<li><a class="reference internal" href="#configuration" id="toc-entry-1">Configuration</a><ul>
<li><a class="reference internal" href="#examples" id="toc-entry-2">Examples</a></li>
</ul>
</li>
<li><a class="reference internal" href="#usage" id="toc-entry-3">Usage</a></li>
<li><a class="reference internal" href="#known-issues-roadmap" id="toc-entry-4">Known issues / Roadmap</a></li>
<li><a class="reference internal" href="#bug-tracker" id="toc-entry-5">Bug Tracker</a></li>
<li><a class="reference internal" href="#credits" id="toc-entry-6">Credits</a><ul>
<li><a class="reference internal" href="#authors" id="toc-entry-7">Authors</a></li>
<li><a class="reference internal" href="#contributors" id="toc-entry-8">Contributors</a></li>
<li><a class="reference internal" href="#maintainers" id="toc-entry-9">Maintainers</a></li>
</ul>
</li>
</ul>
</div>
<div class="section" id="configuration">
<h1><a class="toc-backref" href="#id1">Configuration</a></h1>
<h1><a class="toc-backref" href="#toc-entry-1">Configuration</a></h1>
<p>To configure this module, you need to:</p>
<ol class="arabic">
<li><p class="first">Go to Settings/Technical/iCalendars</p>
</li>
<li><p class="first">Create a calendar, fill in the model you want to expose and possibly a domain to restrict records. You can use the <tt class="docutils literal">user</tt> variable to restrict things relative to the user using the calendar</p>
</li>
<li><p class="first">A few iCalendar-fields have defaults that should work for any model, youll have to fill in expressions manually though for the start and end date of the records.</p>
<p>For example, for model <tt class="docutils literal">calendar.event</tt>, youd fill in <tt class="docutils literal">record.allday and record.start_date or record.start</tt> as <cite>DTSTART</cite> and <tt class="docutils literal">record.allday and record.stop_date or record.stop</tt> as <cite>DTEND</cite>.</p>
<p>For model <tt class="docutils literal">hr.leave</tt>, youd write <tt class="docutils literal">(record.request_unit_half or record.request_unit_hours) and record.date_from or record.date_from.date()</tt> for <cite>DTSTART</cite> and <tt class="docutils literal">(record.request_unit_half or record.request_unit_hours) and record.date_to or (record.date_to.date() + timedelta(days=1))</tt> for <cite>DTEND</cite> - this is a bit more complex because of the way Odoo handles the begin and end times of leaves, and youll want the extra day as most clients interpret the end date as non-inclusive.</p>
</li>
<li><p class="first">Existing calendars are available for users in the tab <cite>Calendars</cite> of their profile form, where they can enable them to obtain a link they can paste into whatever client they are going to use</p>
</li>
<ol class="arabic simple">
<li>Go to Settings/Technical/iCalendars</li>
<li>Create a iCalendar, fill in the model you want to expose and possibly a domain to restrict records. You can use the <tt class="docutils literal">user</tt> variable to restrict things relative to the user using the iCalendar</li>
<li>A iCalendar is only available to the allowed users. Use the <cite>Allow automatically</cite> to make the iCalendar available to all users</li>
<li>See the examples below for a start</li>
</ol>
<div class="section" id="examples">
<h2><a class="toc-backref" href="#toc-entry-2">Examples</a></h2>
<p>Simple example, for model <tt class="docutils literal">calendar.event</tt>, youd fill in <tt class="docutils literal">record.allday and record.start_date or record.start</tt> as <cite>DTSTART</cite> and <tt class="docutils literal">record.allday and record.stop_date or record.stop</tt> as <cite>DTEND</cite>.</p>
<p>Advanced example, for model <tt class="docutils literal">calendar.event</tt>, youd use <tt class="docutils literal">calendar = record._get_ics_file()</tt> in the code.</p>
<p>Advanced example, for model <tt class="docutils literal">hr.leave</tt>, you can use the following code and <tt class="docutils literal"><span class="pre">[(&quot;employee_id.user_id&quot;,</span> <span class="pre">&quot;=&quot;,</span> user.id)]</tt> in the <cite>domain</cite> to export the own time offs. This is a bit more complex because of the way Odoo handles the begin and end times of leaves, and youll want the extra day as most clients interpret the end date as non-inclusive.:</p>
<pre class="code python literal-block">
<span class="n">confirmed</span> <span class="o">=</span> <span class="p">(</span><span class="s2">&quot;validate&quot;</span><span class="p">,</span> <span class="s2">&quot;validate1&quot;</span><span class="p">)</span><span class="w">
</span><span class="k">if</span> <span class="n">record</span><span class="o">.</span><span class="n">request_unit_half</span> <span class="ow">or</span> <span class="n">record</span><span class="o">.</span><span class="n">request_unit_hours</span><span class="p">:</span><span class="w">
</span> <span class="n">event</span> <span class="o">=</span> <span class="p">{</span><span class="w">
</span> <span class="s2">&quot;dtstart&quot;</span><span class="p">:</span> <span class="n">event</span><span class="p">[</span><span class="s2">&quot;dtstart&quot;</span><span class="p">]</span><span class="o">.</span><span class="n">date</span><span class="p">(),</span><span class="w">
</span> <span class="s2">&quot;dtend&quot;</span><span class="p">:</span> <span class="n">event</span><span class="p">[</span><span class="s2">&quot;dtend&quot;</span><span class="p">]</span><span class="o">.</span><span class="n">date</span><span class="p">()</span> <span class="o">+</span> <span class="n">timedelta</span><span class="p">(</span><span class="n">days</span><span class="o">=</span><span class="mi">1</span><span class="p">),</span><span class="w">
</span> <span class="p">}</span><span class="w">
</span><span class="k">else</span><span class="p">:</span><span class="w">
</span> <span class="n">event</span> <span class="o">=</span> <span class="p">{</span><span class="w">
</span> <span class="s2">&quot;dtstart&quot;</span><span class="p">:</span> <span class="n">record</span><span class="o">.</span><span class="n">date_from</span><span class="p">,</span><span class="w">
</span> <span class="s2">&quot;dtend&quot;</span><span class="p">:</span> <span class="n">record</span><span class="o">.</span><span class="n">date_to</span><span class="p">,</span><span class="w">
</span> <span class="p">}</span><span class="w">
</span><span class="n">event</span><span class="p">[</span><span class="s2">&quot;summary&quot;</span><span class="p">]</span> <span class="o">=</span> <span class="n">record</span><span class="o">.</span><span class="n">name</span><span class="w">
</span><span class="n">event</span><span class="p">[</span><span class="s2">&quot;status&quot;</span><span class="p">]</span> <span class="o">=</span> <span class="s2">&quot;CONFIRMED&quot;</span> <span class="k">if</span> <span class="n">record</span><span class="o">.</span><span class="n">state</span> <span class="ow">in</span> <span class="n">confirmed</span> <span class="k">else</span> <span class="s2">&quot;TENTATIVE&quot;</span>
</pre>
<p>Advanced example, for model <tt class="docutils literal">mail.activity</tt>, you can use the following code and <tt class="docutils literal"><span class="pre">[(&quot;user_id&quot;,</span> <span class="pre">&quot;=&quot;,</span> user.id)]</tt> and <cite>domain</cite> to export all user activities.</p>
<pre class="code python literal-block">
<span class="n">todo</span> <span class="o">=</span> <span class="p">{</span><span class="w">
</span> <span class="s2">&quot;summary&quot;</span><span class="p">:</span> <span class="n">record</span><span class="o">.</span><span class="n">display_name</span><span class="p">,</span><span class="w">
</span> <span class="s2">&quot;due&quot;</span><span class="p">:</span> <span class="n">record</span><span class="o">.</span><span class="n">date_deadline</span><span class="p">,</span><span class="w">
</span> <span class="s2">&quot;description&quot;</span><span class="p">:</span> <span class="n">html2plaintext</span><span class="p">(</span><span class="n">record</span><span class="o">.</span><span class="n">note</span><span class="p">)</span> <span class="k">if</span> <span class="n">record</span><span class="o">.</span><span class="n">note</span> <span class="k">else</span> <span class="s2">&quot;&quot;</span><span class="w">
</span><span class="p">}</span>
</pre>
</div>
</div>
<div class="section" id="usage">
<h1><a class="toc-backref" href="#id2">Usage</a></h1>
<h1><a class="toc-backref" href="#toc-entry-3">Usage</a></h1>
<p>To use this module, you need to:</p>
<ol class="arabic simple">
<li>Go to your profile form</li>
@@ -421,14 +446,14 @@ Only for development or testing purpose, do not use in production.
</ol>
</div>
<div class="section" id="known-issues-roadmap">
<h1><a class="toc-backref" href="#id3">Known issues / Roadmap</a></h1>
<h1><a class="toc-backref" href="#toc-entry-4">Known issues / Roadmap</a></h1>
<ul class="simple">
<li>support all of <a class="reference external" href="https://datatracker.ietf.org/doc/html/rfc5545#section-3.8">https://datatracker.ietf.org/doc/html/rfc5545#section-3.8</a></li>
<li>allow users to define their own calendars</li>
</ul>
</div>
<div class="section" id="bug-tracker">
<h1><a class="toc-backref" href="#id4">Bug Tracker</a></h1>
<h1><a class="toc-backref" href="#toc-entry-5">Bug Tracker</a></h1>
<p>Bugs are tracked on <a class="reference external" href="https://github.com/OCA/server-backend/issues">GitHub Issues</a>.
In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us to smash it by providing a detailed and welcomed
@@ -436,36 +461,29 @@ If you spotted it first, help us to smash it by providing a detailed and welcome
<p>Do not contact contributors directly about support or help with technical issues.</p>
</div>
<div class="section" id="credits">
<h1><a class="toc-backref" href="#id5">Credits</a></h1>
<h1><a class="toc-backref" href="#toc-entry-6">Credits</a></h1>
<div class="section" id="authors">
<h2><a class="toc-backref" href="#id6">Authors</a></h2>
<h2><a class="toc-backref" href="#toc-entry-7">Authors</a></h2>
<ul class="simple">
<li>Hunki Enterprises BV</li>
</ul>
</div>
<div class="section" id="contributors">
<h2><a class="toc-backref" href="#id7">Contributors</a></h2>
<h2><a class="toc-backref" href="#toc-entry-8">Contributors</a></h2>
<ul class="simple">
<li>Holger Brunn &lt;<a class="reference external" href="mailto:mail&#64;hunki-enterprises.com">mail&#64;hunki-enterprises.com</a>&gt; (<a class="reference external" href="https://hunki-enterprises.com">https://hunki-enterprises.com</a>)</li>
</ul>
</div>
<div class="section" id="other-credits">
<h2><a class="toc-backref" href="#id8">Other credits</a></h2>
<p>The development of this module has been financially supported by:</p>
<ul class="simple">
<li>Company 1 name</li>
<li>Company 2 name</li>
<li>Florian Kantelberg &lt;<a class="reference external" href="mailto:florian.kantelberg&#64;initos.com">florian.kantelberg&#64;initos.com</a>&gt; (<a class="reference external" href="https://www.initos.com">https://www.initos.com</a>)</li>
</ul>
</div>
<div class="section" id="maintainers">
<h2><a class="toc-backref" href="#id9">Maintainers</a></h2>
<h2><a class="toc-backref" href="#toc-entry-9">Maintainers</a></h2>
<p>This module is maintained by the OCA.</p>
<a class="reference external image-reference" href="https://odoo-community.org"><img alt="Odoo Community Association" src="https://odoo-community.org/logo.png" /></a>
<p>OCA, or the Odoo Community Association, is a nonprofit organization whose
mission is to support the collaborative development of Odoo features and
promote its widespread use.</p>
<p>Current <a class="reference external" href="https://odoo-community.org/page/maintainer-role">maintainer</a>:</p>
<p><a class="reference external" href="https://github.com/hbrunn"><img alt="hbrunn" src="https://github.com/hbrunn.png?size=40px" /></a></p>
<p><a class="reference external image-reference" href="https://github.com/hbrunn"><img alt="hbrunn" src="https://github.com/hbrunn.png?size=40px" /></a></p>
<p>This module is part of the <a class="reference external" href="https://github.com/OCA/server-backend/tree/15.0/base_ical">OCA/server-backend</a> project on GitHub.</p>
<p>You are welcome to contribute. To learn how please visit <a class="reference external" href="https://odoo-community.org/page/Contribute">https://odoo-community.org/page/Contribute</a>.</p>
</div>

View File

@@ -1 +1 @@
15.0.20230703.0
15.0.20240506.0

View File

@@ -15,6 +15,7 @@ setuptools.setup(
'odoo-addon-base_external_dbsource_sqlite>=15.0dev,<15.1dev',
'odoo-addon-base_external_system>=15.0dev,<15.1dev',
'odoo-addon-base_global_discount>=15.0dev,<15.1dev',
'odoo-addon-base_ical>=15.0dev,<15.1dev',
'odoo-addon-base_import_match>=15.0dev,<15.1dev',
'odoo-addon-base_user_role>=15.0dev,<15.1dev',
],