From 04b19f47d5030c48ed9256854d7e4deededc92e9 Mon Sep 17 00:00:00 2001
From: Jairo Llopis
Date: Wed, 24 Feb 2021 10:55:30 +0000
Subject: [PATCH 01/15] [ADD] web_calendar_slot_duration: customizable calendar
slots timespan
This module extends the functionality of backend calendars to support custom
slot durations and to allow you to provide more specific UX regarding event
duration and snapping.
@Tecnativa TT28201
[UPD] Update web_calendar_slot_duration.pot
[UPD] README.rst
---
web_calendar_slot_duration/README.rst | 102 ++++
web_calendar_slot_duration/__init__.py | 0
web_calendar_slot_duration/__manifest__.py | 19 +
.../i18n/web_calendar_slot_duration.pot | 14 +
.../readme/CONFIGURE.rst | 9 +
.../readme/DESCRIPTION.rst | 3 +
web_calendar_slot_duration/readme/ROADMAP.rst | 1 +
web_calendar_slot_duration/readme/USAGE.rst | 2 +
.../static/description/icon.png | Bin 0 -> 9455 bytes
.../static/description/index.html | 441 ++++++++++++++++++
.../static/src/js/calendar_model.js | 22 +
.../templates/assets.xml | 13 +
12 files changed, 626 insertions(+)
create mode 100644 web_calendar_slot_duration/README.rst
create mode 100644 web_calendar_slot_duration/__init__.py
create mode 100644 web_calendar_slot_duration/__manifest__.py
create mode 100644 web_calendar_slot_duration/i18n/web_calendar_slot_duration.pot
create mode 100644 web_calendar_slot_duration/readme/CONFIGURE.rst
create mode 100644 web_calendar_slot_duration/readme/DESCRIPTION.rst
create mode 100644 web_calendar_slot_duration/readme/ROADMAP.rst
create mode 100644 web_calendar_slot_duration/readme/USAGE.rst
create mode 100644 web_calendar_slot_duration/static/description/icon.png
create mode 100644 web_calendar_slot_duration/static/description/index.html
create mode 100644 web_calendar_slot_duration/static/src/js/calendar_model.js
create mode 100644 web_calendar_slot_duration/templates/assets.xml
diff --git a/web_calendar_slot_duration/README.rst b/web_calendar_slot_duration/README.rst
new file mode 100644
index 000000000..c0e8e686d
--- /dev/null
+++ b/web_calendar_slot_duration/README.rst
@@ -0,0 +1,102 @@
+======================
+Calendar slot duration
+======================
+
+.. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+ !! This file is generated by oca-gen-addon-readme !!
+ !! changes will be overwritten. !!
+ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+
+.. |badge1| image:: https://img.shields.io/badge/maturity-Production%2FStable-green.png
+ :target: https://odoo-community.org/page/development-status
+ :alt: Production/Stable
+.. |badge2| image:: https://img.shields.io/badge/licence-LGPL--3-blue.png
+ :target: http://www.gnu.org/licenses/lgpl-3.0-standalone.html
+ :alt: License: LGPL-3
+.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fweb-lightgray.png?logo=github
+ :target: https://github.com/OCA/web/tree/12.0/web_calendar_slot_duration
+ :alt: OCA/web
+.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
+ :target: https://translation.odoo-community.org/projects/web-12-0/web-12-0-web_calendar_slot_duration
+ :alt: Translate me on Weblate
+.. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png
+ :target: https://runbot.odoo-community.org/runbot/162/12.0
+ :alt: Try me on Runbot
+
+|badge1| |badge2| |badge3| |badge4| |badge5|
+
+This module extends the functionality of backend calendars to support custom
+slot durations and to allow you to provide more specific UX regarding event
+duration and snapping.
+
+**Table of contents**
+
+.. contents::
+ :local:
+
+Configuration
+=============
+
+This documentation is for developers.
+
+If you want to configure your calendar view's snap duration, make sure that you
+action includes a context similar to this (example is the default value)::
+
+ {"calendar_slot_duration": "00:30:00"}
+
+It can be added in actions defined on python or as ``ir.actions.act_window``
+records.
+
+Usage
+=====
+
+To use this module, you need to install some other addon that uses it, as it
+doesn't provide any end-user functionality.
+
+Known issues / Roadmap
+======================
+
+* Drop module if/when https://github.com/odoo/odoo/pull/66739 is merged.
+
+Bug Tracker
+===========
+
+Bugs are tracked on `GitHub 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
+`feedback `_.
+
+Do not contact contributors directly about support or help with technical issues.
+
+Credits
+=======
+
+Authors
+~~~~~~~
+
+* Tecnativa
+
+Maintainers
+~~~~~~~~~~~
+
+This module is maintained by the OCA.
+
+.. image:: https://odoo-community.org/logo.png
+ :alt: Odoo Community Association
+ :target: https://odoo-community.org
+
+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.
+
+.. |maintainer-Yajo| image:: https://github.com/Yajo.png?size=40px
+ :target: https://github.com/Yajo
+ :alt: Yajo
+
+Current `maintainer `__:
+
+|maintainer-Yajo|
+
+This module is part of the `OCA/web `_ project on GitHub.
+
+You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
diff --git a/web_calendar_slot_duration/__init__.py b/web_calendar_slot_duration/__init__.py
new file mode 100644
index 000000000..e69de29bb
diff --git a/web_calendar_slot_duration/__manifest__.py b/web_calendar_slot_duration/__manifest__.py
new file mode 100644
index 000000000..40d1ca107
--- /dev/null
+++ b/web_calendar_slot_duration/__manifest__.py
@@ -0,0 +1,19 @@
+# Copyright 2021 Tecnativa - Jairo Llopis
+# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl).
+{
+ "name": "Calendar slot duration",
+ "summary": "Customizable calendar slot durations",
+ "version": "12.0.1.0.0",
+ "development_status": "Production/Stable",
+ "category": "Extra Tools",
+ "website": "https://github.com/OCA/web",
+ "author": "Tecnativa, Odoo Community Association (OCA)",
+ "maintainers": ["Yajo"],
+ "license": "LGPL-3",
+ "application": False,
+ "installable": True,
+ "depends": ["web"],
+ "data": [
+ "templates/assets.xml",
+ ],
+}
diff --git a/web_calendar_slot_duration/i18n/web_calendar_slot_duration.pot b/web_calendar_slot_duration/i18n/web_calendar_slot_duration.pot
new file mode 100644
index 000000000..d2e396f15
--- /dev/null
+++ b/web_calendar_slot_duration/i18n/web_calendar_slot_duration.pot
@@ -0,0 +1,14 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Odoo Server 12.0\n"
+"Report-Msgid-Bugs-To: \n"
+"Last-Translator: <>\n"
+"Language-Team: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Plural-Forms: \n"
+
diff --git a/web_calendar_slot_duration/readme/CONFIGURE.rst b/web_calendar_slot_duration/readme/CONFIGURE.rst
new file mode 100644
index 000000000..987abe5b9
--- /dev/null
+++ b/web_calendar_slot_duration/readme/CONFIGURE.rst
@@ -0,0 +1,9 @@
+This documentation is for developers.
+
+If you want to configure your calendar view's snap duration, make sure that you
+action includes a context similar to this (example is the default value)::
+
+ {"calendar_slot_duration": "00:30:00"}
+
+It can be added in actions defined on python or as ``ir.actions.act_window``
+records.
diff --git a/web_calendar_slot_duration/readme/DESCRIPTION.rst b/web_calendar_slot_duration/readme/DESCRIPTION.rst
new file mode 100644
index 000000000..e0bcd7739
--- /dev/null
+++ b/web_calendar_slot_duration/readme/DESCRIPTION.rst
@@ -0,0 +1,3 @@
+This module extends the functionality of backend calendars to support custom
+slot durations and to allow you to provide more specific UX regarding event
+duration and snapping.
diff --git a/web_calendar_slot_duration/readme/ROADMAP.rst b/web_calendar_slot_duration/readme/ROADMAP.rst
new file mode 100644
index 000000000..da9d2d706
--- /dev/null
+++ b/web_calendar_slot_duration/readme/ROADMAP.rst
@@ -0,0 +1 @@
+* Drop module if/when https://github.com/odoo/odoo/pull/66739 is merged.
diff --git a/web_calendar_slot_duration/readme/USAGE.rst b/web_calendar_slot_duration/readme/USAGE.rst
new file mode 100644
index 000000000..f8d0bc646
--- /dev/null
+++ b/web_calendar_slot_duration/readme/USAGE.rst
@@ -0,0 +1,2 @@
+To use this module, you need to install some other addon that uses it, as it
+doesn't provide any end-user functionality.
diff --git a/web_calendar_slot_duration/static/description/icon.png b/web_calendar_slot_duration/static/description/icon.png
new file mode 100644
index 0000000000000000000000000000000000000000..3a0328b516c4980e8e44cdb63fd945757ddd132d
GIT binary patch
literal 9455
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
z
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
Xviia!U7SGha1wx#SCgwmn*{w2TRX*I
literal 0
HcmV?d00001
diff --git a/web_calendar_slot_duration/static/description/index.html b/web_calendar_slot_duration/static/description/index.html
new file mode 100644
index 000000000..458ab9fef
--- /dev/null
+++ b/web_calendar_slot_duration/static/description/index.html
@@ -0,0 +1,441 @@
+
+
+
+
+
+
+Calendar slot duration
+
+
+
+
+
Calendar slot duration
+
+
+

+
This module extends the functionality of backend calendars to support custom
+slot durations and to allow you to provide more specific UX regarding event
+duration and snapping.
+
Table of contents
+
+
+
+
This documentation is for developers.
+
If you want to configure your calendar viewΓÇÖs snap duration, make sure that you
+action includes a context similar to this (example is the default value):
+
+{"calendar_slot_duration": "00:30:00"}
+
+
It can be added in actions defined on python or as ir.actions.act_window
+records.
+
+
+
+
To use this module, you need to install some other addon that uses it, as it
+doesnΓÇÖt provide any end-user functionality.
+
+
+
+
+
Bugs are tracked on GitHub 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
+feedback.
+
Do not contact contributors directly about support or help with technical issues.
+
+
+
+
+
+
+
This module is maintained by the OCA.
+

+
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.
+
Current maintainer:
+

+
This module is part of the OCA/web project on GitHub.
+
You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
+
+
+
+
+
diff --git a/web_calendar_slot_duration/static/src/js/calendar_model.js b/web_calendar_slot_duration/static/src/js/calendar_model.js
new file mode 100644
index 000000000..e4fd434a3
--- /dev/null
+++ b/web_calendar_slot_duration/static/src/js/calendar_model.js
@@ -0,0 +1,22 @@
+/* Copyright 2021 Tecnativa - Jairo Llopis
+ * License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl). */
+
+odoo.define("web_calendar_slot_duration.CalendarModel", function (require) {
+ "use strict";
+
+ var CalendarModel = require("web.CalendarModel");
+
+ CalendarModel.include({
+ /**
+ * @override
+ */
+ _getFullCalendarOptions: function () {
+ var result = this._super.call(this, arguments);
+ result.slotDuration =
+ this.data.context.calendar_slot_duration ||
+ result.slotDuration ||
+ "00:30:00";
+ return result;
+ },
+ });
+});
diff --git a/web_calendar_slot_duration/templates/assets.xml b/web_calendar_slot_duration/templates/assets.xml
new file mode 100644
index 000000000..74b6b5cd8
--- /dev/null
+++ b/web_calendar_slot_duration/templates/assets.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
From 723cce4f75e380f42079be4edead418d4eea5a57 Mon Sep 17 00:00:00 2001
From: Marcel Savegnago
Date: Mon, 15 Mar 2021 03:51:02 +0000
Subject: [PATCH 02/15] Added translation using Weblate (Portuguese (Brazil))
---
web_calendar_slot_duration/i18n/pt_BR.po | 14 ++++++++++++++
1 file changed, 14 insertions(+)
create mode 100644 web_calendar_slot_duration/i18n/pt_BR.po
diff --git a/web_calendar_slot_duration/i18n/pt_BR.po b/web_calendar_slot_duration/i18n/pt_BR.po
new file mode 100644
index 000000000..7971f5f93
--- /dev/null
+++ b/web_calendar_slot_duration/i18n/pt_BR.po
@@ -0,0 +1,14 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Odoo Server 12.0\n"
+"Report-Msgid-Bugs-To: \n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"Language: pt_BR\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Plural-Forms: nplurals=2; plural=n > 1;\n"
From 34dc247132bd20a4b6ec547f7c20149b1455069f Mon Sep 17 00:00:00 2001
From: Maria Sparenberg
Date: Tue, 6 Apr 2021 06:52:03 +0000
Subject: [PATCH 03/15] Added translation using Weblate (German)
---
web_calendar_slot_duration/i18n/de.po | 14 ++++++++++++++
1 file changed, 14 insertions(+)
create mode 100644 web_calendar_slot_duration/i18n/de.po
diff --git a/web_calendar_slot_duration/i18n/de.po b/web_calendar_slot_duration/i18n/de.po
new file mode 100644
index 000000000..d675667da
--- /dev/null
+++ b/web_calendar_slot_duration/i18n/de.po
@@ -0,0 +1,14 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Odoo Server 12.0\n"
+"Report-Msgid-Bugs-To: \n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"Language: de\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
From 8daeba4e73b89096c36f26a7e0bc5ed26db6ccf9 Mon Sep 17 00:00:00 2001
From: Jairo Llopis
Date: Tue, 13 Jul 2021 12:15:26 +0100
Subject: [PATCH 04/15] [MIG] web_calendar_slot_duration: migration to 13.0
Most normal migration ever.
@Tecnativa TT30987
[UPD] Update web_calendar_slot_duration.pot
[UPD] README.rst
Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.
Translation: web-13.0/web-13.0-web_calendar_slot_duration
Translate-URL: https://translation.odoo-community.org/projects/web-13-0/web-13-0-web_calendar_slot_duration/
---
web_calendar_slot_duration/README.rst | 10 +++++-----
web_calendar_slot_duration/__manifest__.py | 6 ++----
web_calendar_slot_duration/i18n/de.po | 14 --------------
.../i18n/web_calendar_slot_duration.pot | 5 ++---
.../static/description/index.html | 6 +++---
.../static/src/js/calendar_model.js | 4 ++--
web_calendar_slot_duration/templates/assets.xml | 8 +++++---
7 files changed, 19 insertions(+), 34 deletions(-)
diff --git a/web_calendar_slot_duration/README.rst b/web_calendar_slot_duration/README.rst
index c0e8e686d..0aed5acbe 100644
--- a/web_calendar_slot_duration/README.rst
+++ b/web_calendar_slot_duration/README.rst
@@ -14,13 +14,13 @@ Calendar slot duration
:target: http://www.gnu.org/licenses/lgpl-3.0-standalone.html
:alt: License: LGPL-3
.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fweb-lightgray.png?logo=github
- :target: https://github.com/OCA/web/tree/12.0/web_calendar_slot_duration
+ :target: https://github.com/OCA/web/tree/13.0/web_calendar_slot_duration
:alt: OCA/web
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
- :target: https://translation.odoo-community.org/projects/web-12-0/web-12-0-web_calendar_slot_duration
+ :target: https://translation.odoo-community.org/projects/web-13-0/web-13-0-web_calendar_slot_duration
:alt: Translate me on Weblate
.. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png
- :target: https://runbot.odoo-community.org/runbot/162/12.0
+ :target: https://runbot.odoo-community.org/runbot/162/13.0
:alt: Try me on Runbot
|badge1| |badge2| |badge3| |badge4| |badge5|
@@ -64,7 +64,7 @@ Bug Tracker
Bugs are tracked on `GitHub 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
-`feedback `_.
+`feedback `_.
Do not contact contributors directly about support or help with technical issues.
@@ -97,6 +97,6 @@ Current `maintainer `__:
|maintainer-Yajo|
-This module is part of the `OCA/web `_ project on GitHub.
+This module is part of the `OCA/web `_ project on GitHub.
You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
diff --git a/web_calendar_slot_duration/__manifest__.py b/web_calendar_slot_duration/__manifest__.py
index 40d1ca107..4fa0686e6 100644
--- a/web_calendar_slot_duration/__manifest__.py
+++ b/web_calendar_slot_duration/__manifest__.py
@@ -3,7 +3,7 @@
{
"name": "Calendar slot duration",
"summary": "Customizable calendar slot durations",
- "version": "12.0.1.0.0",
+ "version": "13.0.1.0.0",
"development_status": "Production/Stable",
"category": "Extra Tools",
"website": "https://github.com/OCA/web",
@@ -13,7 +13,5 @@
"application": False,
"installable": True,
"depends": ["web"],
- "data": [
- "templates/assets.xml",
- ],
+ "data": ["templates/assets.xml"],
}
diff --git a/web_calendar_slot_duration/i18n/de.po b/web_calendar_slot_duration/i18n/de.po
index d675667da..e69de29bb 100644
--- a/web_calendar_slot_duration/i18n/de.po
+++ b/web_calendar_slot_duration/i18n/de.po
@@ -1,14 +0,0 @@
-# Translation of Odoo Server.
-# This file contains the translation of the following modules:
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: Odoo Server 12.0\n"
-"Report-Msgid-Bugs-To: \n"
-"Last-Translator: Automatically generated\n"
-"Language-Team: none\n"
-"Language: de\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: \n"
-"Plural-Forms: nplurals=2; plural=n != 1;\n"
diff --git a/web_calendar_slot_duration/i18n/web_calendar_slot_duration.pot b/web_calendar_slot_duration/i18n/web_calendar_slot_duration.pot
index d2e396f15..cc93d01ee 100644
--- a/web_calendar_slot_duration/i18n/web_calendar_slot_duration.pot
+++ b/web_calendar_slot_duration/i18n/web_calendar_slot_duration.pot
@@ -3,12 +3,11 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: Odoo Server 12.0\n"
+"Project-Id-Version: Odoo Server 13.0\n"
"Report-Msgid-Bugs-To: \n"
-"Last-Translator: <>\n"
+"Last-Translator: \n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: \n"
-
diff --git a/web_calendar_slot_duration/static/description/index.html b/web_calendar_slot_duration/static/description/index.html
index 458ab9fef..2e2b0a1df 100644
--- a/web_calendar_slot_duration/static/description/index.html
+++ b/web_calendar_slot_duration/static/description/index.html
@@ -367,7 +367,7 @@ ul.auto-toc {
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
-

+

This module extends the functionality of backend calendars to support custom
slot durations and to allow you to provide more specific UX regarding event
duration and snapping.
@@ -412,7 +412,7 @@ doesnΓÇÖt provide any end-user functionality.
Bugs are tracked on GitHub 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
-feedback.
+feedback.
Do not contact contributors directly about support or help with technical issues.
@@ -432,7 +432,7 @@ mission is to support the collaborative development of Odoo features and
promote its widespread use.
Current maintainer:

-
This module is part of the OCA/web project on GitHub.
+
This module is part of the OCA/web project on GitHub.
You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
diff --git a/web_calendar_slot_duration/static/src/js/calendar_model.js b/web_calendar_slot_duration/static/src/js/calendar_model.js
index e4fd434a3..3f4105fb4 100644
--- a/web_calendar_slot_duration/static/src/js/calendar_model.js
+++ b/web_calendar_slot_duration/static/src/js/calendar_model.js
@@ -1,7 +1,7 @@
/* Copyright 2021 Tecnativa - Jairo Llopis
* License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl). */
-odoo.define("web_calendar_slot_duration.CalendarModel", function (require) {
+odoo.define("web_calendar_slot_duration.CalendarModel", function(require) {
"use strict";
var CalendarModel = require("web.CalendarModel");
@@ -10,7 +10,7 @@ odoo.define("web_calendar_slot_duration.CalendarModel", function (require) {
/**
* @override
*/
- _getFullCalendarOptions: function () {
+ _getFullCalendarOptions: function() {
var result = this._super.call(this, arguments);
result.slotDuration =
this.data.context.calendar_slot_duration ||
diff --git a/web_calendar_slot_duration/templates/assets.xml b/web_calendar_slot_duration/templates/assets.xml
index 74b6b5cd8..e68c17fc2 100644
--- a/web_calendar_slot_duration/templates/assets.xml
+++ b/web_calendar_slot_duration/templates/assets.xml
@@ -1,12 +1,14 @@
-
+
-
-
+
From 4b15ecfa1229b93f659336a833ef6a8977859938 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?V=C3=ADctor=20Mart=C3=ADnez?=
Date: Wed, 5 Jan 2022 09:13:30 +0100
Subject: [PATCH 05/15] [IMP] web_calendar_slot_duration: black, isort,
prettier
---
web_calendar_slot_duration/static/src/js/calendar_model.js | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/web_calendar_slot_duration/static/src/js/calendar_model.js b/web_calendar_slot_duration/static/src/js/calendar_model.js
index 3f4105fb4..e4fd434a3 100644
--- a/web_calendar_slot_duration/static/src/js/calendar_model.js
+++ b/web_calendar_slot_duration/static/src/js/calendar_model.js
@@ -1,7 +1,7 @@
/* Copyright 2021 Tecnativa - Jairo Llopis
* License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl). */
-odoo.define("web_calendar_slot_duration.CalendarModel", function(require) {
+odoo.define("web_calendar_slot_duration.CalendarModel", function (require) {
"use strict";
var CalendarModel = require("web.CalendarModel");
@@ -10,7 +10,7 @@ odoo.define("web_calendar_slot_duration.CalendarModel", function(require) {
/**
* @override
*/
- _getFullCalendarOptions: function() {
+ _getFullCalendarOptions: function () {
var result = this._super.call(this, arguments);
result.slotDuration =
this.data.context.calendar_slot_duration ||
From 8660e44744f590500e7b769c970f26001b5e3090 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?V=C3=ADctor=20Mart=C3=ADnez?=
Date: Wed, 5 Jan 2022 09:15:43 +0100
Subject: [PATCH 06/15] [MIG] web_calendar_slot_duration: Migration to 14.0
---
web_calendar_slot_duration/README.rst | 10 +++++-----
web_calendar_slot_duration/__manifest__.py | 2 +-
.../static/description/index.html | 8 ++++----
3 files changed, 10 insertions(+), 10 deletions(-)
diff --git a/web_calendar_slot_duration/README.rst b/web_calendar_slot_duration/README.rst
index 0aed5acbe..80cd3e83b 100644
--- a/web_calendar_slot_duration/README.rst
+++ b/web_calendar_slot_duration/README.rst
@@ -14,13 +14,13 @@ Calendar slot duration
:target: http://www.gnu.org/licenses/lgpl-3.0-standalone.html
:alt: License: LGPL-3
.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fweb-lightgray.png?logo=github
- :target: https://github.com/OCA/web/tree/13.0/web_calendar_slot_duration
+ :target: https://github.com/OCA/web/tree/14.0/web_calendar_slot_duration
:alt: OCA/web
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
- :target: https://translation.odoo-community.org/projects/web-13-0/web-13-0-web_calendar_slot_duration
+ :target: https://translation.odoo-community.org/projects/web-14-0/web-14-0-web_calendar_slot_duration
:alt: Translate me on Weblate
.. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png
- :target: https://runbot.odoo-community.org/runbot/162/13.0
+ :target: https://runbot.odoo-community.org/runbot/162/14.0
:alt: Try me on Runbot
|badge1| |badge2| |badge3| |badge4| |badge5|
@@ -64,7 +64,7 @@ Bug Tracker
Bugs are tracked on `GitHub 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
-`feedback `_.
+`feedback `_.
Do not contact contributors directly about support or help with technical issues.
@@ -97,6 +97,6 @@ Current `maintainer `__:
|maintainer-Yajo|
-This module is part of the `OCA/web `_ project on GitHub.
+This module is part of the `OCA/web `_ project on GitHub.
You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
diff --git a/web_calendar_slot_duration/__manifest__.py b/web_calendar_slot_duration/__manifest__.py
index 4fa0686e6..f1cf996d4 100644
--- a/web_calendar_slot_duration/__manifest__.py
+++ b/web_calendar_slot_duration/__manifest__.py
@@ -3,7 +3,7 @@
{
"name": "Calendar slot duration",
"summary": "Customizable calendar slot durations",
- "version": "13.0.1.0.0",
+ "version": "14.0.1.0.0",
"development_status": "Production/Stable",
"category": "Extra Tools",
"website": "https://github.com/OCA/web",
diff --git a/web_calendar_slot_duration/static/description/index.html b/web_calendar_slot_duration/static/description/index.html
index 2e2b0a1df..004d0e2e1 100644
--- a/web_calendar_slot_duration/static/description/index.html
+++ b/web_calendar_slot_duration/static/description/index.html
@@ -3,7 +3,7 @@
-
+
Calendar slot duration