From ee02fc15fcc8d8242131792cb45913d3f172b3c7 Mon Sep 17 00:00:00 2001 From: Christopher Rogos Date: Thu, 28 Mar 2024 13:39:41 +0000 Subject: [PATCH] [MIG] web_calendar_slot_duration: Migration to 17.0 --- web_calendar_slot_duration/README.rst | 16 +++++++++--- web_calendar_slot_duration/__manifest__.py | 3 ++- .../demo/scheduled_actions.xml | 8 ++++++ web_calendar_slot_duration/i18n/it.po | 14 ----------- .../i18n/web_calendar_slot_duration.pot | 2 +- .../readme/CONFIGURE.md | 6 ++++- web_calendar_slot_duration/readme/USAGE.md | 2 ++ .../static/description/calendar_result.png | Bin 0 -> 2582 bytes .../static/description/edit_action.png | Bin 0 -> 15385 bytes .../static/description/index.html | 11 ++++++--- .../src/js/calendar_common_renderer.esm.js | 23 +++++++----------- .../static/src/js/calendar_model.esm.js | 4 +-- 12 files changed, 49 insertions(+), 40 deletions(-) create mode 100644 web_calendar_slot_duration/demo/scheduled_actions.xml create mode 100644 web_calendar_slot_duration/static/description/calendar_result.png create mode 100644 web_calendar_slot_duration/static/description/edit_action.png diff --git a/web_calendar_slot_duration/README.rst b/web_calendar_slot_duration/README.rst index 75028bd8f..69ec4e029 100644 --- a/web_calendar_slot_duration/README.rst +++ b/web_calendar_slot_duration/README.rst @@ -7,7 +7,7 @@ Calendar slot duration !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - !! source digest: sha256:1274b3dddbcd34bf1401a1f208b67af94f47a47121fa32b120acbc37c84a63be + !! source digest: sha256:2be0b00f67ed141f98a951795ae0ba21a2912b90c42a00ed2ce136cee2def017 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! .. |badge1| image:: https://img.shields.io/badge/maturity-Production%2FStable-green.png @@ -43,8 +43,8 @@ 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): +that your window action includes a context similar to this (example is +the default value): :: @@ -53,12 +53,22 @@ default value): It can be added in actions defined on python or as ``ir.actions.act_window`` records. +|edit action settings| + +|result| + +.. |edit action settings| image:: https://raw.githubusercontent.com/OCA/web/17.0/web_calendar_slot_duration/static/description/edit_action.png +.. |result| image:: https://raw.githubusercontent.com/OCA/web/17.0/web_calendar_slot_duration/static/description/calendar_result.png + Usage ===== To use this module, you need to install some other addon that uses it, as it doesn't provide any end-user functionality. +As demo data, this module modifies the "Scheduled Actions" calendar to +have slots of 10 minutes as feature demonstration. + Known issues / Roadmap ====================== diff --git a/web_calendar_slot_duration/__manifest__.py b/web_calendar_slot_duration/__manifest__.py index dabd14f98..e8be09ae6 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": "16.0.1.0.1", + "version": "17.0.1.0.0", "development_status": "Production/Stable", "category": "Extra Tools", "website": "https://github.com/OCA/web", @@ -18,5 +18,6 @@ "web_calendar_slot_duration/static/src/js/calendar_model.esm.js", ] }, + "data": ["demo/scheduled_actions.xml"], "depends": ["web"], } diff --git a/web_calendar_slot_duration/demo/scheduled_actions.xml b/web_calendar_slot_duration/demo/scheduled_actions.xml new file mode 100644 index 000000000..1570adc25 --- /dev/null +++ b/web_calendar_slot_duration/demo/scheduled_actions.xml @@ -0,0 +1,8 @@ + + + + {'search_default_all': 1, "calendar_slot_duration": "00:10:00"} + + diff --git a/web_calendar_slot_duration/i18n/it.po b/web_calendar_slot_duration/i18n/it.po index 73388557f..e69de29bb 100644 --- a/web_calendar_slot_duration/i18n/it.po +++ b/web_calendar_slot_duration/i18n/it.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 16.0\n" -"Report-Msgid-Bugs-To: \n" -"Last-Translator: Automatically generated\n" -"Language-Team: none\n" -"Language: it\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 78d58d53f..716a0702d 100644 --- a/web_calendar_slot_duration/i18n/web_calendar_slot_duration.pot +++ b/web_calendar_slot_duration/i18n/web_calendar_slot_duration.pot @@ -3,7 +3,7 @@ # msgid "" msgstr "" -"Project-Id-Version: Odoo Server 16.0\n" +"Project-Id-Version: Odoo Server 17.0\n" "Report-Msgid-Bugs-To: \n" "Last-Translator: \n" "Language-Team: \n" diff --git a/web_calendar_slot_duration/readme/CONFIGURE.md b/web_calendar_slot_duration/readme/CONFIGURE.md index 0ab98f2d8..05195bff0 100644 --- a/web_calendar_slot_duration/readme/CONFIGURE.md +++ b/web_calendar_slot_duration/readme/CONFIGURE.md @@ -1,10 +1,14 @@ 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 +that your window 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. + +![edit action settings](../static/description/edit_action.png) + +![result](../static/description/calendar_result.png) diff --git a/web_calendar_slot_duration/readme/USAGE.md b/web_calendar_slot_duration/readme/USAGE.md index ad35d5dad..698cd24be 100644 --- a/web_calendar_slot_duration/readme/USAGE.md +++ b/web_calendar_slot_duration/readme/USAGE.md @@ -1,2 +1,4 @@ To use this module, you need to install some other addon that uses it, as it doesn't provide any end-user functionality. + +As demo data, this module modifies the "Scheduled Actions" calendar to have slots of 10 minutes as feature demonstration. \ No newline at end of file diff --git a/web_calendar_slot_duration/static/description/calendar_result.png b/web_calendar_slot_duration/static/description/calendar_result.png new file mode 100644 index 0000000000000000000000000000000000000000..0f651aef8ae9192876229fa7586ee541e507afa3 GIT binary patch literal 2582 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 literal 0 HcmV?d00001 diff --git a/web_calendar_slot_duration/static/description/edit_action.png b/web_calendar_slot_duration/static/description/edit_action.png new file mode 100644 index 0000000000000000000000000000000000000000..d2fb48a41fa7965340443d80f6d12538ec339a66 GIT binary patch literal 15385 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 V+RX%q|M_fCLrv#N>7$py{~PIP=CJ?( literal 0 HcmV?d00001 diff --git a/web_calendar_slot_duration/static/description/index.html b/web_calendar_slot_duration/static/description/index.html index be58b5cc4..52f7624a9 100644 --- a/web_calendar_slot_duration/static/description/index.html +++ b/web_calendar_slot_duration/static/description/index.html @@ -1,4 +1,3 @@ - @@ -367,7 +366,7 @@ ul.auto-toc { !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -!! source digest: sha256:1274b3dddbcd34bf1401a1f208b67af94f47a47121fa32b120acbc37c84a63be +!! source digest: sha256:2be0b00f67ed141f98a951795ae0ba21a2912b90c42a00ed2ce136cee2def017 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->

Production/Stable License: LGPL-3 OCA/web Translate me on Weblate Try me on Runboat

This module extends the functionality of backend calendars to support @@ -392,18 +391,22 @@ regarding event duration and snapping.

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):

+that your window 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.

+

edit action settings

+

result

Usage

To use this module, you need to install some other addon that uses it, as it doesn’t provide any end-user functionality.

+

As demo data, this module modifies the “Scheduled Actions” calendar to +have slots of 10 minutes as feature demonstration.

Known issues / Roadmap

diff --git a/web_calendar_slot_duration/static/src/js/calendar_common_renderer.esm.js b/web_calendar_slot_duration/static/src/js/calendar_common_renderer.esm.js index acbff978d..e0999ec0f 100644 --- a/web_calendar_slot_duration/static/src/js/calendar_common_renderer.esm.js +++ b/web_calendar_slot_duration/static/src/js/calendar_common_renderer.esm.js @@ -5,17 +5,12 @@ import {CalendarCommonRenderer} from "@web/views/calendar/calendar_common/calendar_common_renderer"; import {patch} from "@web/core/utils/patch"; -patch( - CalendarCommonRenderer.prototype, - "WebCalendarSlotDurationCalendarCommonRenderer", - { - get options() { - const options = this._super(...arguments); - if (this.env.searchModel.context.calendar_slot_duration) { - options.slotDuration = - this.env.searchModel.context.calendar_slot_duration; - } - return options; - }, - } -); +patch(CalendarCommonRenderer.prototype, { + get options() { + const options = super.options; + if (this.env.searchModel.context.calendar_slot_duration) { + options.slotDuration = this.env.searchModel.context.calendar_slot_duration; + } + return options; + }, +}); diff --git a/web_calendar_slot_duration/static/src/js/calendar_model.esm.js b/web_calendar_slot_duration/static/src/js/calendar_model.esm.js index 7acbbbaa0..a3ae80266 100644 --- a/web_calendar_slot_duration/static/src/js/calendar_model.esm.js +++ b/web_calendar_slot_duration/static/src/js/calendar_model.esm.js @@ -6,7 +6,7 @@ import {CalendarModel} from "@web/views/calendar/calendar_model"; import {patch} from "@web/core/utils/patch"; -patch(CalendarModel.prototype, "WebCalendarSlotDurationCalendarModel", { +patch(CalendarModel.prototype, { buildRawRecord(partialRecord, options = {}) { if ( !partialRecord.end && @@ -20,6 +20,6 @@ patch(CalendarModel.prototype, "WebCalendarSlotDurationCalendarModel", { const durationFloat = hours + minutes / 60 + seconds / 3600; partialRecord.end = partialRecord.start.plus({hours: durationFloat}); } - return this._super(partialRecord, options); + return super.buildRawRecord(partialRecord, options); }, });