From 0a67f6c85d0159f71cfc3b22cce9b314cdaf178c Mon Sep 17 00:00:00 2001 From: Victor Champonnois Date: Mon, 5 Aug 2024 17:53:22 +0200 Subject: [PATCH 01/12] [ADD] event_track_multi_speaker --- event_track_multi_speaker/README.rst | 86 ++++ event_track_multi_speaker/__init__.py | 4 + event_track_multi_speaker/__manifest__.py | 27 ++ event_track_multi_speaker/models/__init__.py | 3 + event_track_multi_speaker/models/event.py | 19 + .../models/event_track.py | 13 + .../models/event_track_speaker.py | 38 ++ .../readme/CONTRIBUTORS.rst | 3 + .../readme/DESCRIPTION.rst | 1 + .../security/ir.model.access.csv | 2 + .../static/description/index.html | 425 ++++++++++++++++++ .../views/event_event.xml | 31 ++ .../views/event_track.xml | 22 + .../views/event_track_speaker.xml | 49 ++ event_track_multi_speaker/views/menuitems.xml | 16 + .../odoo/addons/event_track_multi_speaker | 1 + setup/event_track_multi_speaker/setup.py | 6 + 17 files changed, 746 insertions(+) create mode 100644 event_track_multi_speaker/README.rst create mode 100644 event_track_multi_speaker/__init__.py create mode 100644 event_track_multi_speaker/__manifest__.py create mode 100644 event_track_multi_speaker/models/__init__.py create mode 100644 event_track_multi_speaker/models/event.py create mode 100644 event_track_multi_speaker/models/event_track.py create mode 100644 event_track_multi_speaker/models/event_track_speaker.py create mode 100644 event_track_multi_speaker/readme/CONTRIBUTORS.rst create mode 100644 event_track_multi_speaker/readme/DESCRIPTION.rst create mode 100644 event_track_multi_speaker/security/ir.model.access.csv create mode 100644 event_track_multi_speaker/static/description/index.html create mode 100644 event_track_multi_speaker/views/event_event.xml create mode 100644 event_track_multi_speaker/views/event_track.xml create mode 100644 event_track_multi_speaker/views/event_track_speaker.xml create mode 100644 event_track_multi_speaker/views/menuitems.xml create mode 120000 setup/event_track_multi_speaker/odoo/addons/event_track_multi_speaker create mode 100644 setup/event_track_multi_speaker/setup.py diff --git a/event_track_multi_speaker/README.rst b/event_track_multi_speaker/README.rst new file mode 100644 index 000000000..0b7b84c48 --- /dev/null +++ b/event_track_multi_speaker/README.rst @@ -0,0 +1,86 @@ +========================= +Event Track Multi Speaker +========================= + +.. + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! This file is generated by oca-gen-addon-readme !! + !! changes will be overwritten. !! + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! source digest: sha256:b68a380bf957a04f6f20f29ec5d8d1c62121548ca3853a7735dc98e82229043a + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png + :target: https://odoo-community.org/page/development-status + :alt: Beta +.. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png + :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html + :alt: License: AGPL-3 +.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fevent-lightgray.png?logo=github + :target: https://github.com/OCA/event/tree/16.0/event_track_multi_speaker + :alt: OCA/event +.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png + :target: https://translation.odoo-community.org/projects/event-16-0/event-16-0-event_track_multi_speaker + :alt: Translate me on Weblate +.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png + :target: https://runboat.odoo-community.org/builds?repo=OCA/event&target_branch=16.0 + :alt: Try me on Runboat + +|badge1| |badge2| |badge3| |badge4| |badge5| + +Allow for several speaker on event tracks + +**Table of contents** + +.. contents:: + :local: + +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 to smash it by providing a detailed and welcomed +`feedback `_. + +Do not contact contributors directly about support or help with technical issues. + +Credits +======= + +Authors +~~~~~~~ + +* Coop IT Easy SC + +Contributors +~~~~~~~~~~~~ + +* `Coop IT Easy SC `_: + + * Victor Champonnois + +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-victor-champonnois| image:: https://github.com/victor-champonnois.png?size=40px + :target: https://github.com/victor-champonnois + :alt: victor-champonnois + +Current `maintainer `__: + +|maintainer-victor-champonnois| + +This module is part of the `OCA/event `_ project on GitHub. + +You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/event_track_multi_speaker/__init__.py b/event_track_multi_speaker/__init__.py new file mode 100644 index 000000000..7fbcfccdd --- /dev/null +++ b/event_track_multi_speaker/__init__.py @@ -0,0 +1,4 @@ +# SPDX-FileCopyrightText: 2024 Coop IT Easy SC +# +# SPDX-License-Identifier: AGPL-3.0-or-later +from . import models diff --git a/event_track_multi_speaker/__manifest__.py b/event_track_multi_speaker/__manifest__.py new file mode 100644 index 000000000..b98cf7ef3 --- /dev/null +++ b/event_track_multi_speaker/__manifest__.py @@ -0,0 +1,27 @@ +# SPDX-FileCopyrightText: 2024 Coop IT Easy SC +# +# SPDX-License-Identifier: AGPL-3.0-or-later + +{ + "name": "Event Track Multi Speaker", + "summary": """ + Allow for several speaker on event tracks""", + "version": "16.0.1.0.0", + "category": "Uncategorized", + "website": "https://github.com/OCA/event", + "author": "Coop IT Easy SC, Odoo Community Association (OCA)", + "maintainers": ["victor-champonnois"], + "license": "AGPL-3", + "application": False, + "depends": ["website_event_track"], + "excludes": [], + "data": [ + "security/ir.model.access.csv", + "views/event_track.xml", + "views/event_track_speaker.xml", + "views/event_event.xml", + "views/menuitems.xml", + ], + "demo": [], + "qweb": [], +} diff --git a/event_track_multi_speaker/models/__init__.py b/event_track_multi_speaker/models/__init__.py new file mode 100644 index 000000000..725f6c0ef --- /dev/null +++ b/event_track_multi_speaker/models/__init__.py @@ -0,0 +1,3 @@ +from . import event_track +from . import event_track_speaker +from . import event diff --git a/event_track_multi_speaker/models/event.py b/event_track_multi_speaker/models/event.py new file mode 100644 index 000000000..5e1051ee8 --- /dev/null +++ b/event_track_multi_speaker/models/event.py @@ -0,0 +1,19 @@ +# Copyright 2017 David Vidal +# Copyright 2017 Tecnativa - Pedro M. Baeza +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). + +from odoo import api, fields, models + + +class EventTrack(models.Model): + _inherit = "event.event" + + speaker_ids = fields.One2many( + comodel_name="event.track", compute="_compute_speakers", string="Speakers" + ) + + @api.depends("track_ids.speaker_ids") + def _compute_speakers(self): + speakers = [] + for track in self.track_ids: + speakers += track.speaker_ids diff --git a/event_track_multi_speaker/models/event_track.py b/event_track_multi_speaker/models/event_track.py new file mode 100644 index 000000000..380d1090b --- /dev/null +++ b/event_track_multi_speaker/models/event_track.py @@ -0,0 +1,13 @@ +# Copyright 2017 David Vidal +# Copyright 2017 Tecnativa - Pedro M. Baeza +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). + +from odoo import fields, models + + +class EventTrack(models.Model): + _inherit = "event.track" + + speaker_ids = fields.Many2many( + comodel_name="event.track.speaker", string="Speakers" + ) diff --git a/event_track_multi_speaker/models/event_track_speaker.py b/event_track_multi_speaker/models/event_track_speaker.py new file mode 100644 index 000000000..4f20ef1d1 --- /dev/null +++ b/event_track_multi_speaker/models/event_track_speaker.py @@ -0,0 +1,38 @@ +# Copyright 2017 David Vidal +# Copyright 2017 Tecnativa - Pedro M. Baeza +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). + +from odoo import fields, models + + +class EventTrackSpeaker(models.Model): + _name = "event.track.speaker" + _description = "Track Speaker" + _inherit = ["mail.thread", "mail.activity.mixin"] + + name = fields.Char(related="partner_id.name") + email = fields.Char(related="partner_id.email") + phone = fields.Char(related="partner_id.phone") + biography = fields.Html(related="partner_id.website_description") + function = fields.Char(related="partner_id.function") + image = fields.Image(related="partner_id.image_256") + partner_id = fields.Many2one("res.partner", string="Contact") + track_ids = fields.Many2many( + comodel_name="event.track", + string="Speakers", + ) + status = fields.Selection( + selection=[ + ("draft", "Draft"), + ("waiting", "Waiting"), + ("validated", "Validated"), + ] + ) + + # @api.depends("track_ids.speaker_ids") + # def compute_tracks(self): + # tracks = self.env["event.track"].search([]).filtered( + # lambda : self in + # ) + # for track in self.track_ids: + # speakers += track.speaker_ids diff --git a/event_track_multi_speaker/readme/CONTRIBUTORS.rst b/event_track_multi_speaker/readme/CONTRIBUTORS.rst new file mode 100644 index 000000000..146abeb90 --- /dev/null +++ b/event_track_multi_speaker/readme/CONTRIBUTORS.rst @@ -0,0 +1,3 @@ +* `Coop IT Easy SC `_: + + * Victor Champonnois diff --git a/event_track_multi_speaker/readme/DESCRIPTION.rst b/event_track_multi_speaker/readme/DESCRIPTION.rst new file mode 100644 index 000000000..1dc7f1382 --- /dev/null +++ b/event_track_multi_speaker/readme/DESCRIPTION.rst @@ -0,0 +1 @@ +Allow for several speaker on event tracks diff --git a/event_track_multi_speaker/security/ir.model.access.csv b/event_track_multi_speaker/security/ir.model.access.csv new file mode 100644 index 000000000..7f1f86c4c --- /dev/null +++ b/event_track_multi_speaker/security/ir.model.access.csv @@ -0,0 +1,2 @@ +id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink +access_event_track_speaker,event.track.speaker.user,event_track_multi_speaker.model_event_track_speaker,event.group_event_user,1,1,1,1 diff --git a/event_track_multi_speaker/static/description/index.html b/event_track_multi_speaker/static/description/index.html new file mode 100644 index 000000000..73bc99730 --- /dev/null +++ b/event_track_multi_speaker/static/description/index.html @@ -0,0 +1,425 @@ + + + + + +Event Track Multi Speaker + + + +
+

Event Track Multi Speaker

+ + +

Beta License: AGPL-3 OCA/event Translate me on Weblate Try me on Runboat

+

Allow for several speaker on event tracks

+

Table of contents

+ +
+

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 to smash it by providing a detailed and welcomed +feedback.

+

Do not contact contributors directly about support or help with technical issues.

+
+
+

Credits

+
+

Authors

+
    +
  • Coop IT Easy SC
  • +
+
+
+

Contributors

+ +
+
+

Maintainers

+

This module is maintained by the OCA.

+Odoo Community Association +

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:

+

victor-champonnois

+

This module is part of the OCA/event project on GitHub.

+

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

+
+
+
+ + diff --git a/event_track_multi_speaker/views/event_event.xml b/event_track_multi_speaker/views/event_event.xml new file mode 100644 index 000000000..e2506227e --- /dev/null +++ b/event_track_multi_speaker/views/event_event.xml @@ -0,0 +1,31 @@ + + + + event.track.speaker + Event Speakers + tree,form,activity + {'search_default_event_id': active_id, 'default_event_id': active_id} + + + event.event.view.from.inherit.track + + event.event + + + + + + + + diff --git a/event_track_multi_speaker/views/event_track.xml b/event_track_multi_speaker/views/event_track.xml new file mode 100644 index 000000000..665e6d903 --- /dev/null +++ b/event_track_multi_speaker/views/event_track.xml @@ -0,0 +1,22 @@ + + + + event.track + + + + + + + + + + + + + + 1 + + + + diff --git a/event_track_multi_speaker/views/event_track_speaker.xml b/event_track_multi_speaker/views/event_track_speaker.xml new file mode 100644 index 000000000..ede92f68e --- /dev/null +++ b/event_track_multi_speaker/views/event_track_speaker.xml @@ -0,0 +1,49 @@ + + + + + event.track.speaker.form + event.track.speaker + +
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
+ + + +
+
+
+
+ +
diff --git a/event_track_multi_speaker/views/menuitems.xml b/event_track_multi_speaker/views/menuitems.xml new file mode 100644 index 000000000..c03b16ea4 --- /dev/null +++ b/event_track_multi_speaker/views/menuitems.xml @@ -0,0 +1,16 @@ + + + + Event Speakers + event.track.speaker + tree,form + + + diff --git a/setup/event_track_multi_speaker/odoo/addons/event_track_multi_speaker b/setup/event_track_multi_speaker/odoo/addons/event_track_multi_speaker new file mode 120000 index 000000000..57b9ef76a --- /dev/null +++ b/setup/event_track_multi_speaker/odoo/addons/event_track_multi_speaker @@ -0,0 +1 @@ +../../../../event_track_multi_speaker \ No newline at end of file diff --git a/setup/event_track_multi_speaker/setup.py b/setup/event_track_multi_speaker/setup.py new file mode 100644 index 000000000..28c57bb64 --- /dev/null +++ b/setup/event_track_multi_speaker/setup.py @@ -0,0 +1,6 @@ +import setuptools + +setuptools.setup( + setup_requires=['setuptools-odoo'], + odoo_addon=True, +) From 00a76c484b583af44f62ecba5a5a48481615b497 Mon Sep 17 00:00:00 2001 From: Victor Champonnois Date: Fri, 9 Aug 2024 16:32:59 +0200 Subject: [PATCH 02/12] [FIX] compute and add constraints --- event_track_multi_speaker/models/__init__.py | 1 - event_track_multi_speaker/models/event.py | 19 --------------- .../models/event_track_speaker.py | 24 ++++++++++++------- .../views/event_event.xml | 1 - 4 files changed, 15 insertions(+), 30 deletions(-) delete mode 100644 event_track_multi_speaker/models/event.py diff --git a/event_track_multi_speaker/models/__init__.py b/event_track_multi_speaker/models/__init__.py index 725f6c0ef..6378cd1b8 100644 --- a/event_track_multi_speaker/models/__init__.py +++ b/event_track_multi_speaker/models/__init__.py @@ -1,3 +1,2 @@ from . import event_track from . import event_track_speaker -from . import event diff --git a/event_track_multi_speaker/models/event.py b/event_track_multi_speaker/models/event.py deleted file mode 100644 index 5e1051ee8..000000000 --- a/event_track_multi_speaker/models/event.py +++ /dev/null @@ -1,19 +0,0 @@ -# Copyright 2017 David Vidal -# Copyright 2017 Tecnativa - Pedro M. Baeza -# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). - -from odoo import api, fields, models - - -class EventTrack(models.Model): - _inherit = "event.event" - - speaker_ids = fields.One2many( - comodel_name="event.track", compute="_compute_speakers", string="Speakers" - ) - - @api.depends("track_ids.speaker_ids") - def _compute_speakers(self): - speakers = [] - for track in self.track_ids: - speakers += track.speaker_ids diff --git a/event_track_multi_speaker/models/event_track_speaker.py b/event_track_multi_speaker/models/event_track_speaker.py index 4f20ef1d1..a2c40c7e9 100644 --- a/event_track_multi_speaker/models/event_track_speaker.py +++ b/event_track_multi_speaker/models/event_track_speaker.py @@ -2,7 +2,8 @@ # Copyright 2017 Tecnativa - Pedro M. Baeza # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). -from odoo import fields, models +from odoo import _, api, fields, models +from odoo.exceptions import UserError class EventTrackSpeaker(models.Model): @@ -19,7 +20,7 @@ class EventTrackSpeaker(models.Model): partner_id = fields.Many2one("res.partner", string="Contact") track_ids = fields.Many2many( comodel_name="event.track", - string="Speakers", + string="Tracks", ) status = fields.Selection( selection=[ @@ -28,11 +29,16 @@ class EventTrackSpeaker(models.Model): ("validated", "Validated"), ] ) + event_id = fields.Many2one( + "event.event", compute="_compute_event", string="Event", store=True + ) + + @api.depends("track_ids.event_id") + def _compute_event(self): + self.event_id = self.track_ids[0].event_id - # @api.depends("track_ids.speaker_ids") - # def compute_tracks(self): - # tracks = self.env["event.track"].search([]).filtered( - # lambda : self in - # ) - # for track in self.track_ids: - # speakers += track.speaker_ids + @api.constrains("track_ids") + def _check_unique_event(self): + for speaker in self: + if len(speaker.mapped("track_ids").mapped("event_id")) > 1: + raise UserError(_("Speakers should belong to only one event.")) diff --git a/event_track_multi_speaker/views/event_event.xml b/event_track_multi_speaker/views/event_event.xml index e2506227e..7cf302e98 100644 --- a/event_track_multi_speaker/views/event_event.xml +++ b/event_track_multi_speaker/views/event_event.xml @@ -12,7 +12,6 @@ event.event.view.from.inherit.track event.event - - - - - diff --git a/event_track_multi_speaker/views/event_track_speaker.xml b/event_track_multi_speaker/views/event_track_speaker.xml index ede92f68e..396cfe657 100644 --- a/event_track_multi_speaker/views/event_track_speaker.xml +++ b/event_track_multi_speaker/views/event_track_speaker.xml @@ -1,6 +1,35 @@ + + event.track.speaker.tree + event.track.speaker + + + + + + + + + + event.track.speaker.search + event.track.speaker + + + + + + + + + + + event.track.speaker.form event.track.speaker From 15390cf198ddabb7ca6b013c2a676c03c603f3ae Mon Sep 17 00:00:00 2001 From: Victor Champonnois Date: Wed, 4 Sep 2024 14:30:46 +0200 Subject: [PATCH 04/12] [FIX] link to tracks and partner --- event_track_multi_speaker/views/event_track.xml | 2 +- event_track_multi_speaker/views/event_track_speaker.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/event_track_multi_speaker/views/event_track.xml b/event_track_multi_speaker/views/event_track.xml index 665e6d903..4940ec145 100644 --- a/event_track_multi_speaker/views/event_track.xml +++ b/event_track_multi_speaker/views/event_track.xml @@ -7,7 +7,7 @@ - + diff --git a/event_track_multi_speaker/views/event_track_speaker.xml b/event_track_multi_speaker/views/event_track_speaker.xml index 396cfe657..7ed22b36f 100644 --- a/event_track_multi_speaker/views/event_track_speaker.xml +++ b/event_track_multi_speaker/views/event_track_speaker.xml @@ -56,7 +56,7 @@ - + From d626addd1e1545602b577389c863088863128bea Mon Sep 17 00:00:00 2001 From: Victor Champonnois Date: Wed, 4 Sep 2024 14:31:09 +0200 Subject: [PATCH 05/12] [IMP] edit biography on partner form --- event_track_multi_speaker/__manifest__.py | 1 + event_track_multi_speaker/views/res_partner.xml | 11 +++++++++++ 2 files changed, 12 insertions(+) create mode 100644 event_track_multi_speaker/views/res_partner.xml diff --git a/event_track_multi_speaker/__manifest__.py b/event_track_multi_speaker/__manifest__.py index f56a98280..c44caa439 100644 --- a/event_track_multi_speaker/__manifest__.py +++ b/event_track_multi_speaker/__manifest__.py @@ -19,6 +19,7 @@ "security/ir.model.access.csv", "views/event_track.xml", "views/event_track_speaker.xml", + "views/res_partner.xml", "views/menuitems.xml", ], "demo": [], diff --git a/event_track_multi_speaker/views/res_partner.xml b/event_track_multi_speaker/views/res_partner.xml new file mode 100644 index 000000000..d6c068dc6 --- /dev/null +++ b/event_track_multi_speaker/views/res_partner.xml @@ -0,0 +1,11 @@ + + + res.partner + + + + + + + + From f78c2403890e3a768656a616db43ebe3761c6aea Mon Sep 17 00:00:00 2001 From: Victor Champonnois Date: Wed, 4 Sep 2024 14:42:23 +0200 Subject: [PATCH 06/12] [ADD] default status --- event_track_multi_speaker/models/event_track_speaker.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/event_track_multi_speaker/models/event_track_speaker.py b/event_track_multi_speaker/models/event_track_speaker.py index a2c40c7e9..abb6cec82 100644 --- a/event_track_multi_speaker/models/event_track_speaker.py +++ b/event_track_multi_speaker/models/event_track_speaker.py @@ -27,7 +27,8 @@ class EventTrackSpeaker(models.Model): ("draft", "Draft"), ("waiting", "Waiting"), ("validated", "Validated"), - ] + ], + default="draft", ) event_id = fields.Many2one( "event.event", compute="_compute_event", string="Event", store=True From 533b381df4d02e85cf891e625303b834ce6f2131 Mon Sep 17 00:00:00 2001 From: Victor Champonnois Date: Wed, 4 Sep 2024 16:44:12 +0200 Subject: [PATCH 07/12] [FIX] compute method --- event_track_multi_speaker/models/event_track_speaker.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/event_track_multi_speaker/models/event_track_speaker.py b/event_track_multi_speaker/models/event_track_speaker.py index abb6cec82..2da781b7b 100644 --- a/event_track_multi_speaker/models/event_track_speaker.py +++ b/event_track_multi_speaker/models/event_track_speaker.py @@ -36,7 +36,8 @@ class EventTrackSpeaker(models.Model): @api.depends("track_ids.event_id") def _compute_event(self): - self.event_id = self.track_ids[0].event_id + if self.track_ids: + self.event_id = self.track_ids[0].event_id @api.constrains("track_ids") def _check_unique_event(self): From 44fb899e6abbaa26dcea2d3c708834dd3f76d084 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Taymans?= Date: Tue, 17 Sep 2024 16:35:51 +0200 Subject: [PATCH 08/12] [FIX] e_t_multi_speaker: security and category --- event_track_multi_speaker/__manifest__.py | 2 +- event_track_multi_speaker/security/ir.model.access.csv | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/event_track_multi_speaker/__manifest__.py b/event_track_multi_speaker/__manifest__.py index c44caa439..e4a443718 100644 --- a/event_track_multi_speaker/__manifest__.py +++ b/event_track_multi_speaker/__manifest__.py @@ -7,7 +7,7 @@ "summary": """ Allow for several speaker on event tracks""", "version": "16.0.1.0.0", - "category": "Uncategorized", + "category": "Event", "website": "https://github.com/OCA/event", "author": "Coop IT Easy SC, Odoo Community Association (OCA)", "maintainers": ["victor-champonnois"], diff --git a/event_track_multi_speaker/security/ir.model.access.csv b/event_track_multi_speaker/security/ir.model.access.csv index 7f1f86c4c..46d0e13f6 100644 --- a/event_track_multi_speaker/security/ir.model.access.csv +++ b/event_track_multi_speaker/security/ir.model.access.csv @@ -1,2 +1,3 @@ id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink -access_event_track_speaker,event.track.speaker.user,event_track_multi_speaker.model_event_track_speaker,event.group_event_user,1,1,1,1 +access_event_track_speaker_registration,event.track.speaker.user,event_track_multi_speaker.model_event_track_speaker,event.group_event_registration_desk,1,0,0,0 +access_event_track_speaker_user,event.track.speaker.user,event_track_multi_speaker.model_event_track_speaker,event.group_event_user,1,1,1,1 From f2a9e9ca4e6268698be992d97658ac85eed70080 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Taymans?= Date: Wed, 18 Sep 2024 22:52:19 +0200 Subject: [PATCH 09/12] [ADD] e_t_multi_speaker: add filter on my speakers --- .../static/description/index.html | 11 +++++++---- .../views/event_track_speaker.xml | 5 +++++ 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/event_track_multi_speaker/static/description/index.html b/event_track_multi_speaker/static/description/index.html index 73bc99730..30aba97ae 100644 --- a/event_track_multi_speaker/static/description/index.html +++ b/event_track_multi_speaker/static/description/index.html @@ -8,10 +8,11 @@ /* :Author: David Goodger (goodger@python.org) -:Id: $Id: html4css1.css 8954 2022-01-20 10:10:25Z milde $ +:Id: $Id: html4css1.css 9511 2024-01-13 09:50:07Z milde $ :Copyright: This stylesheet has been placed in the public domain. Default cascading style sheet for the HTML output of Docutils. +Despite the name, some widely supported CSS2 features are used. See https://docutils.sourceforge.io/docs/howto/html-stylesheets.html for how to customize this style sheet. @@ -274,7 +275,7 @@ margin-left: 2em ; margin-right: 2em } -pre.code .ln { color: grey; } /* line numbers */ +pre.code .ln { color: gray; } /* line numbers */ pre.code, code { background-color: #eeeeee } pre.code .comment, code .comment { color: #5C6576 } pre.code .keyword, code .keyword { color: #3B0D06; font-weight: bold } @@ -300,7 +301,7 @@ span.pre { white-space: pre } -span.problematic { +span.problematic, pre.problematic { color: red } span.section-subtitle { @@ -410,7 +411,9 @@

Contributors

Maintainers

This module is maintained by the OCA.

-Odoo Community Association + +Odoo Community Association +

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.

diff --git a/event_track_multi_speaker/views/event_track_speaker.xml b/event_track_multi_speaker/views/event_track_speaker.xml index 7ed22b36f..9c016e5e1 100644 --- a/event_track_multi_speaker/views/event_track_speaker.xml +++ b/event_track_multi_speaker/views/event_track_speaker.xml @@ -19,6 +19,11 @@ + Date: Wed, 18 Sep 2024 22:54:06 +0200 Subject: [PATCH 10/12] [FIX] e_t_multi_speaker: fix wrong copyright --- event_track_multi_speaker/models/event_track.py | 6 +++--- event_track_multi_speaker/models/event_track_speaker.py | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/event_track_multi_speaker/models/event_track.py b/event_track_multi_speaker/models/event_track.py index 380d1090b..e6a41ec2f 100644 --- a/event_track_multi_speaker/models/event_track.py +++ b/event_track_multi_speaker/models/event_track.py @@ -1,6 +1,6 @@ -# Copyright 2017 David Vidal -# Copyright 2017 Tecnativa - Pedro M. Baeza -# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). +# SPDX-FileCopyrightText: 2024 Coop IT Easy SC +# +# SPDX-License-Identifier: AGPL-3.0-or-later from odoo import fields, models diff --git a/event_track_multi_speaker/models/event_track_speaker.py b/event_track_multi_speaker/models/event_track_speaker.py index 2da781b7b..a0b3e8d22 100644 --- a/event_track_multi_speaker/models/event_track_speaker.py +++ b/event_track_multi_speaker/models/event_track_speaker.py @@ -1,6 +1,6 @@ -# Copyright 2017 David Vidal -# Copyright 2017 Tecnativa - Pedro M. Baeza -# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). +# SPDX-FileCopyrightText: 2024 Coop IT Easy SC +# +# SPDX-License-Identifier: AGPL-3.0-or-later from odoo import _, api, fields, models from odoo.exceptions import UserError From 6c0c795cb839a169146b899a0a81ddf3290d98ea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Taymans?= Date: Tue, 8 Oct 2024 16:40:08 +0200 Subject: [PATCH 11/12] [FIX] e_t_multi_speaker: menu access --- event_track_multi_speaker/views/menuitems.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/event_track_multi_speaker/views/menuitems.xml b/event_track_multi_speaker/views/menuitems.xml index c03b16ea4..4ccb97e37 100644 --- a/event_track_multi_speaker/views/menuitems.xml +++ b/event_track_multi_speaker/views/menuitems.xml @@ -11,6 +11,6 @@ sequence="40" action="action_event_speakers" parent="event.menu_event_configuration" - groups="base.group_no_one" + groups="event.group_event_registration_desk" /> From ba712034eeae10f2484d3ce6bcd4bc1a7d99588a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Taymans?= Date: Tue, 8 Oct 2024 16:48:10 +0200 Subject: [PATCH 12/12] [ADD] e_t_multi_speaker: french translation --- .../i18n/event_track_multi_speaker.pot | 337 ++++++++++++++++++ event_track_multi_speaker/i18n/fr.po | 337 ++++++++++++++++++ 2 files changed, 674 insertions(+) create mode 100644 event_track_multi_speaker/i18n/event_track_multi_speaker.pot create mode 100644 event_track_multi_speaker/i18n/fr.po diff --git a/event_track_multi_speaker/i18n/event_track_multi_speaker.pot b/event_track_multi_speaker/i18n/event_track_multi_speaker.pot new file mode 100644 index 000000000..3e8a8146d --- /dev/null +++ b/event_track_multi_speaker/i18n/event_track_multi_speaker.pot @@ -0,0 +1,337 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * event_track_multi_speaker +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-10-08 15:27+0000\n" +"PO-Revision-Date: 2024-10-08 15:27+0000\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" + +#. module: event_track_multi_speaker +#: model:ir.model.fields,field_description:event_track_multi_speaker.field_event_track_speaker__message_needaction +msgid "Action Needed" +msgstr "" + +#. module: event_track_multi_speaker +#: model:ir.model.fields,field_description:event_track_multi_speaker.field_event_track_speaker__activity_ids +msgid "Activities" +msgstr "" + +#. module: event_track_multi_speaker +#: model:ir.model.fields,field_description:event_track_multi_speaker.field_event_track_speaker__activity_exception_decoration +msgid "Activity Exception Decoration" +msgstr "" + +#. module: event_track_multi_speaker +#: model:ir.model.fields,field_description:event_track_multi_speaker.field_event_track_speaker__activity_state +msgid "Activity State" +msgstr "" + +#. module: event_track_multi_speaker +#: model:ir.model.fields,field_description:event_track_multi_speaker.field_event_track_speaker__activity_type_icon +msgid "Activity Type Icon" +msgstr "" + +#. module: event_track_multi_speaker +#: model:ir.model.fields,field_description:event_track_multi_speaker.field_event_track_speaker__message_attachment_count +msgid "Attachment Count" +msgstr "" + +#. module: event_track_multi_speaker +#: model:ir.model.fields,field_description:event_track_multi_speaker.field_event_track_speaker__partner_id +msgid "Contact" +msgstr "" + +#. module: event_track_multi_speaker +#: model:ir.model.fields,field_description:event_track_multi_speaker.field_event_track_speaker__create_uid +msgid "Created by" +msgstr "" + +#. module: event_track_multi_speaker +#: model:ir.model.fields,field_description:event_track_multi_speaker.field_event_track_speaker__create_date +msgid "Created on" +msgstr "" + +#. module: event_track_multi_speaker +#: model:ir.model.fields,field_description:event_track_multi_speaker.field_event_track_speaker__display_name +msgid "Display Name" +msgstr "" + +#. module: event_track_multi_speaker +#: model:ir.model.fields.selection,name:event_track_multi_speaker.selection__event_track_speaker__status__draft +msgid "Draft" +msgstr "" + +#. module: event_track_multi_speaker +#: model:ir.model.fields,field_description:event_track_multi_speaker.field_event_track_speaker__email +msgid "Email" +msgstr "" + +#. module: event_track_multi_speaker +#: model:ir.model.fields,field_description:event_track_multi_speaker.field_event_track_speaker__event_id +#: model_terms:ir.ui.view,arch_db:event_track_multi_speaker.view_event_track_speaker_search +msgid "Event" +msgstr "" + +#. module: event_track_multi_speaker +#: model:ir.actions.act_window,name:event_track_multi_speaker.action_event_speakers +msgid "Event Speakers" +msgstr "" + +#. module: event_track_multi_speaker +#: model:ir.model,name:event_track_multi_speaker.model_event_track +msgid "Event Track" +msgstr "" + +#. module: event_track_multi_speaker +#: model:ir.model.fields,field_description:event_track_multi_speaker.field_event_track_speaker__message_follower_ids +msgid "Followers" +msgstr "" + +#. module: event_track_multi_speaker +#: model:ir.model.fields,field_description:event_track_multi_speaker.field_event_track_speaker__message_partner_ids +msgid "Followers (Partners)" +msgstr "" + +#. module: event_track_multi_speaker +#: model:ir.model.fields,help:event_track_multi_speaker.field_event_track_speaker__activity_type_icon +msgid "Font awesome icon e.g. fa-tasks" +msgstr "" + +#. module: event_track_multi_speaker +#: model_terms:ir.ui.view,arch_db:event_track_multi_speaker.view_event_track_speaker_search +msgid "Group By" +msgstr "" + +#. module: event_track_multi_speaker +#: model:ir.model.fields,field_description:event_track_multi_speaker.field_event_track_speaker__has_message +msgid "Has Message" +msgstr "" + +#. module: event_track_multi_speaker +#: model:ir.model.fields,field_description:event_track_multi_speaker.field_event_track_speaker__id +msgid "ID" +msgstr "" + +#. module: event_track_multi_speaker +#: model:ir.model.fields,field_description:event_track_multi_speaker.field_event_track_speaker__activity_exception_icon +msgid "Icon" +msgstr "" + +#. module: event_track_multi_speaker +#: model:ir.model.fields,help:event_track_multi_speaker.field_event_track_speaker__activity_exception_icon +msgid "Icon to indicate an exception activity." +msgstr "" + +#. module: event_track_multi_speaker +#: model:ir.model.fields,help:event_track_multi_speaker.field_event_track_speaker__message_needaction +msgid "If checked, new messages require your attention." +msgstr "" + +#. module: event_track_multi_speaker +#: model:ir.model.fields,help:event_track_multi_speaker.field_event_track_speaker__message_has_error +#: model:ir.model.fields,help:event_track_multi_speaker.field_event_track_speaker__message_has_sms_error +msgid "If checked, some messages have a delivery error." +msgstr "" + +#. module: event_track_multi_speaker +#: model:ir.model.fields,field_description:event_track_multi_speaker.field_event_track_speaker__image +msgid "Image 256" +msgstr "" + +#. module: event_track_multi_speaker +#: model:ir.model.fields,field_description:event_track_multi_speaker.field_event_track_speaker__message_is_follower +msgid "Is Follower" +msgstr "" + +#. module: event_track_multi_speaker +#: model:ir.model.fields,field_description:event_track_multi_speaker.field_event_track_speaker__function +msgid "Job Position" +msgstr "" + +#. module: event_track_multi_speaker +#: model:ir.model.fields,field_description:event_track_multi_speaker.field_event_track_speaker____last_update +msgid "Last Modified on" +msgstr "" + +#. module: event_track_multi_speaker +#: model:ir.model.fields,field_description:event_track_multi_speaker.field_event_track_speaker__write_uid +msgid "Last Updated by" +msgstr "" + +#. module: event_track_multi_speaker +#: model:ir.model.fields,field_description:event_track_multi_speaker.field_event_track_speaker__write_date +msgid "Last Updated on" +msgstr "" + +#. module: event_track_multi_speaker +#: model:ir.model.fields,field_description:event_track_multi_speaker.field_event_track_speaker__message_main_attachment_id +msgid "Main Attachment" +msgstr "" + +#. module: event_track_multi_speaker +#: model:ir.model.fields,field_description:event_track_multi_speaker.field_event_track_speaker__message_has_error +msgid "Message Delivery error" +msgstr "" + +#. module: event_track_multi_speaker +#: model:ir.model.fields,field_description:event_track_multi_speaker.field_event_track_speaker__message_ids +msgid "Messages" +msgstr "" + +#. module: event_track_multi_speaker +#: model:ir.model.fields,field_description:event_track_multi_speaker.field_event_track_speaker__my_activity_date_deadline +msgid "My Activity Deadline" +msgstr "" + +#. module: event_track_multi_speaker +#: model_terms:ir.ui.view,arch_db:event_track_multi_speaker.view_event_track_speaker_search +msgid "My Speakers" +msgstr "" + +#. module: event_track_multi_speaker +#: model:ir.model.fields,field_description:event_track_multi_speaker.field_event_track_speaker__name +msgid "Name" +msgstr "" + +#. module: event_track_multi_speaker +#: model:ir.model.fields,field_description:event_track_multi_speaker.field_event_track_speaker__activity_calendar_event_id +msgid "Next Activity Calendar Event" +msgstr "" + +#. module: event_track_multi_speaker +#: model:ir.model.fields,field_description:event_track_multi_speaker.field_event_track_speaker__activity_date_deadline +msgid "Next Activity Deadline" +msgstr "" + +#. module: event_track_multi_speaker +#: model:ir.model.fields,field_description:event_track_multi_speaker.field_event_track_speaker__activity_summary +msgid "Next Activity Summary" +msgstr "" + +#. module: event_track_multi_speaker +#: model:ir.model.fields,field_description:event_track_multi_speaker.field_event_track_speaker__activity_type_id +msgid "Next Activity Type" +msgstr "" + +#. module: event_track_multi_speaker +#: model:ir.model.fields,field_description:event_track_multi_speaker.field_event_track_speaker__message_needaction_counter +msgid "Number of Actions" +msgstr "" + +#. module: event_track_multi_speaker +#: model:ir.model.fields,field_description:event_track_multi_speaker.field_event_track_speaker__message_has_error_counter +msgid "Number of errors" +msgstr "" + +#. module: event_track_multi_speaker +#: model:ir.model.fields,help:event_track_multi_speaker.field_event_track_speaker__message_needaction_counter +msgid "Number of messages requiring action" +msgstr "" + +#. module: event_track_multi_speaker +#: model:ir.model.fields,help:event_track_multi_speaker.field_event_track_speaker__message_has_error_counter +msgid "Number of messages with delivery error" +msgstr "" + +#. module: event_track_multi_speaker +#: model:ir.model.fields,field_description:event_track_multi_speaker.field_event_track_speaker__phone +msgid "Phone" +msgstr "" + +#. module: event_track_multi_speaker +#: model:ir.model.fields,field_description:event_track_multi_speaker.field_event_track_speaker__activity_user_id +msgid "Responsible User" +msgstr "" + +#. module: event_track_multi_speaker +#: model:ir.model.fields,field_description:event_track_multi_speaker.field_event_track_speaker__message_has_sms_error +msgid "SMS Delivery error" +msgstr "" + +#. module: event_track_multi_speaker +#: model_terms:ir.ui.view,arch_db:event_track_multi_speaker.view_event_track_speaker_form +msgid "Speaker" +msgstr "" + +#. module: event_track_multi_speaker +#: model:ir.model.fields,field_description:event_track_multi_speaker.field_event_track__speaker_ids +#: model_terms:ir.ui.view,arch_db:event_track_multi_speaker.view_event_track_form +msgid "Speakers" +msgstr "" + +#. module: event_track_multi_speaker +#. odoo-python +#: code:addons/event_track_multi_speaker/models/event_track_speaker.py:0 +#, python-format +msgid "Speakers should belong to only one event." +msgstr "" + +#. module: event_track_multi_speaker +#: model:ir.model.fields,field_description:event_track_multi_speaker.field_event_track_speaker__status +msgid "Status" +msgstr "" + +#. module: event_track_multi_speaker +#: model:ir.model.fields,help:event_track_multi_speaker.field_event_track_speaker__activity_state +msgid "" +"Status based on activities\n" +"Overdue: Due date is already passed\n" +"Today: Activity date is today\n" +"Planned: Future activities." +msgstr "" + +#. module: event_track_multi_speaker +#: model:ir.model,name:event_track_multi_speaker.model_event_track_speaker +#: model_terms:ir.ui.view,arch_db:event_track_multi_speaker.view_event_track_speaker_form +msgid "Track Speaker" +msgstr "" + +#. module: event_track_multi_speaker +#: model:ir.ui.menu,name:event_track_multi_speaker.menu_event_speaker +msgid "Track Speakers" +msgstr "" + +#. module: event_track_multi_speaker +#: model:ir.model.fields,field_description:event_track_multi_speaker.field_event_track_speaker__track_ids +#: model_terms:ir.ui.view,arch_db:event_track_multi_speaker.view_event_track_speaker_form +msgid "Tracks" +msgstr "" + +#. module: event_track_multi_speaker +#: model:ir.model.fields,help:event_track_multi_speaker.field_event_track_speaker__activity_exception_decoration +msgid "Type of the exception activity on record." +msgstr "" + +#. module: event_track_multi_speaker +#: model:ir.model.fields.selection,name:event_track_multi_speaker.selection__event_track_speaker__status__validated +msgid "Validated" +msgstr "" + +#. module: event_track_multi_speaker +#: model:ir.model.fields.selection,name:event_track_multi_speaker.selection__event_track_speaker__status__waiting +msgid "Waiting" +msgstr "" + +#. module: event_track_multi_speaker +#: model:ir.model.fields,field_description:event_track_multi_speaker.field_event_track_speaker__website_message_ids +msgid "Website Messages" +msgstr "" + +#. module: event_track_multi_speaker +#: model:ir.model.fields,field_description:event_track_multi_speaker.field_event_track_speaker__biography +msgid "Website Partner Full Description" +msgstr "" + +#. module: event_track_multi_speaker +#: model:ir.model.fields,help:event_track_multi_speaker.field_event_track_speaker__website_message_ids +msgid "Website communication history" +msgstr "" diff --git a/event_track_multi_speaker/i18n/fr.po b/event_track_multi_speaker/i18n/fr.po new file mode 100644 index 000000000..97461b414 --- /dev/null +++ b/event_track_multi_speaker/i18n/fr.po @@ -0,0 +1,337 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * event_track_multi_speaker +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-10-08 14:33+0000\n" +"PO-Revision-Date: 2024-10-08 14:33+0000\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" + +#. module: event_track_multi_speaker +#: model:ir.model.fields,field_description:event_track_multi_speaker.field_event_track_speaker__message_needaction +msgid "Action Needed" +msgstr "Action requise" + +#. module: event_track_multi_speaker +#: model:ir.model.fields,field_description:event_track_multi_speaker.field_event_track_speaker__activity_ids +msgid "Activities" +msgstr "Activités" + +#. module: event_track_multi_speaker +#: model:ir.model.fields,field_description:event_track_multi_speaker.field_event_track_speaker__activity_exception_decoration +msgid "Activity Exception Decoration" +msgstr "" + +#. module: event_track_multi_speaker +#: model:ir.model.fields,field_description:event_track_multi_speaker.field_event_track_speaker__activity_state +msgid "Activity State" +msgstr "" + +#. module: event_track_multi_speaker +#: model:ir.model.fields,field_description:event_track_multi_speaker.field_event_track_speaker__activity_type_icon +msgid "Activity Type Icon" +msgstr "" + +#. module: event_track_multi_speaker +#: model:ir.model.fields,field_description:event_track_multi_speaker.field_event_track_speaker__message_attachment_count +msgid "Attachment Count" +msgstr "" + +#. module: event_track_multi_speaker +#: model:ir.model.fields,field_description:event_track_multi_speaker.field_event_track_speaker__partner_id +msgid "Contact" +msgstr "" + +#. module: event_track_multi_speaker +#: model:ir.model.fields,field_description:event_track_multi_speaker.field_event_track_speaker__create_uid +msgid "Created by" +msgstr "" + +#. module: event_track_multi_speaker +#: model:ir.model.fields,field_description:event_track_multi_speaker.field_event_track_speaker__create_date +msgid "Created on" +msgstr "" + +#. module: event_track_multi_speaker +#: model:ir.model.fields,field_description:event_track_multi_speaker.field_event_track_speaker__display_name +msgid "Display Name" +msgstr "" + +#. module: event_track_multi_speaker +#: model:ir.model.fields.selection,name:event_track_multi_speaker.selection__event_track_speaker__status__draft +msgid "Draft" +msgstr "Brouillon" + +#. module: event_track_multi_speaker +#: model:ir.model.fields,field_description:event_track_multi_speaker.field_event_track_speaker__email +msgid "Email" +msgstr "Courriel" + +#. module: event_track_multi_speaker +#: model:ir.model.fields,field_description:event_track_multi_speaker.field_event_track_speaker__event_id +#: model_terms:ir.ui.view,arch_db:event_track_multi_speaker.view_event_track_speaker_search +msgid "Event" +msgstr "Évènement" + +#. module: event_track_multi_speaker +#: model:ir.actions.act_window,name:event_track_multi_speaker.action_event_speakers +msgid "Event Speakers" +msgstr "" + +#. module: event_track_multi_speaker +#: model:ir.model,name:event_track_multi_speaker.model_event_track +msgid "Event Track" +msgstr "Session d'événement" + +#. module: event_track_multi_speaker +#: model:ir.model.fields,field_description:event_track_multi_speaker.field_event_track_speaker__message_follower_ids +msgid "Followers" +msgstr "" + +#. module: event_track_multi_speaker +#: model:ir.model.fields,field_description:event_track_multi_speaker.field_event_track_speaker__message_partner_ids +msgid "Followers (Partners)" +msgstr "" + +#. module: event_track_multi_speaker +#: model:ir.model.fields,help:event_track_multi_speaker.field_event_track_speaker__activity_type_icon +msgid "Font awesome icon e.g. fa-tasks" +msgstr "" + +#. module: event_track_multi_speaker +#: model_terms:ir.ui.view,arch_db:event_track_multi_speaker.view_event_track_speaker_search +msgid "Group By" +msgstr "" + +#. module: event_track_multi_speaker +#: model:ir.model.fields,field_description:event_track_multi_speaker.field_event_track_speaker__has_message +msgid "Has Message" +msgstr "" + +#. module: event_track_multi_speaker +#: model:ir.model.fields,field_description:event_track_multi_speaker.field_event_track_speaker__id +msgid "ID" +msgstr "" + +#. module: event_track_multi_speaker +#: model:ir.model.fields,field_description:event_track_multi_speaker.field_event_track_speaker__activity_exception_icon +msgid "Icon" +msgstr "" + +#. module: event_track_multi_speaker +#: model:ir.model.fields,help:event_track_multi_speaker.field_event_track_speaker__activity_exception_icon +msgid "Icon to indicate an exception activity." +msgstr "" + +#. module: event_track_multi_speaker +#: model:ir.model.fields,help:event_track_multi_speaker.field_event_track_speaker__message_needaction +msgid "If checked, new messages require your attention." +msgstr "" + +#. module: event_track_multi_speaker +#: model:ir.model.fields,help:event_track_multi_speaker.field_event_track_speaker__message_has_error +#: model:ir.model.fields,help:event_track_multi_speaker.field_event_track_speaker__message_has_sms_error +msgid "If checked, some messages have a delivery error." +msgstr "" + +#. module: event_track_multi_speaker +#: model:ir.model.fields,field_description:event_track_multi_speaker.field_event_track_speaker__image +msgid "Image 256" +msgstr "" + +#. module: event_track_multi_speaker +#: model:ir.model.fields,field_description:event_track_multi_speaker.field_event_track_speaker__message_is_follower +msgid "Is Follower" +msgstr "" + +#. module: event_track_multi_speaker +#: model:ir.model.fields,field_description:event_track_multi_speaker.field_event_track_speaker__function +msgid "Job Position" +msgstr "" + +#. module: event_track_multi_speaker +#: model:ir.model.fields,field_description:event_track_multi_speaker.field_event_track_speaker____last_update +msgid "Last Modified on" +msgstr "" + +#. module: event_track_multi_speaker +#: model:ir.model.fields,field_description:event_track_multi_speaker.field_event_track_speaker__write_uid +msgid "Last Updated by" +msgstr "" + +#. module: event_track_multi_speaker +#: model:ir.model.fields,field_description:event_track_multi_speaker.field_event_track_speaker__write_date +msgid "Last Updated on" +msgstr "" + +#. module: event_track_multi_speaker +#: model:ir.model.fields,field_description:event_track_multi_speaker.field_event_track_speaker__message_main_attachment_id +msgid "Main Attachment" +msgstr "" + +#. module: event_track_multi_speaker +#: model:ir.model.fields,field_description:event_track_multi_speaker.field_event_track_speaker__message_has_error +msgid "Message Delivery error" +msgstr "" + +#. module: event_track_multi_speaker +#: model:ir.model.fields,field_description:event_track_multi_speaker.field_event_track_speaker__message_ids +msgid "Messages" +msgstr "" + +#. module: event_track_multi_speaker +#: model:ir.model.fields,field_description:event_track_multi_speaker.field_event_track_speaker__my_activity_date_deadline +msgid "My Activity Deadline" +msgstr "" + +#. module: event_track_multi_speaker +#: model_terms:ir.ui.view,arch_db:event_track_multi_speaker.view_event_track_speaker_search +msgid "My Speakers" +msgstr "" + +#. module: event_track_multi_speaker +#: model:ir.model.fields,field_description:event_track_multi_speaker.field_event_track_speaker__name +msgid "Name" +msgstr "" + +#. module: event_track_multi_speaker +#: model:ir.model.fields,field_description:event_track_multi_speaker.field_event_track_speaker__activity_calendar_event_id +msgid "Next Activity Calendar Event" +msgstr "" + +#. module: event_track_multi_speaker +#: model:ir.model.fields,field_description:event_track_multi_speaker.field_event_track_speaker__activity_date_deadline +msgid "Next Activity Deadline" +msgstr "" + +#. module: event_track_multi_speaker +#: model:ir.model.fields,field_description:event_track_multi_speaker.field_event_track_speaker__activity_summary +msgid "Next Activity Summary" +msgstr "" + +#. module: event_track_multi_speaker +#: model:ir.model.fields,field_description:event_track_multi_speaker.field_event_track_speaker__activity_type_id +msgid "Next Activity Type" +msgstr "" + +#. module: event_track_multi_speaker +#: model:ir.model.fields,field_description:event_track_multi_speaker.field_event_track_speaker__message_needaction_counter +msgid "Number of Actions" +msgstr "" + +#. module: event_track_multi_speaker +#: model:ir.model.fields,field_description:event_track_multi_speaker.field_event_track_speaker__message_has_error_counter +msgid "Number of errors" +msgstr "" + +#. module: event_track_multi_speaker +#: model:ir.model.fields,help:event_track_multi_speaker.field_event_track_speaker__message_needaction_counter +msgid "Number of messages requiring action" +msgstr "" + +#. module: event_track_multi_speaker +#: model:ir.model.fields,help:event_track_multi_speaker.field_event_track_speaker__message_has_error_counter +msgid "Number of messages with delivery error" +msgstr "" + +#. module: event_track_multi_speaker +#: model:ir.model.fields,field_description:event_track_multi_speaker.field_event_track_speaker__phone +msgid "Phone" +msgstr "Téléphone" + +#. module: event_track_multi_speaker +#: model:ir.model.fields,field_description:event_track_multi_speaker.field_event_track_speaker__activity_user_id +msgid "Responsible User" +msgstr "Responsable" + +#. module: event_track_multi_speaker +#: model:ir.model.fields,field_description:event_track_multi_speaker.field_event_track_speaker__message_has_sms_error +msgid "SMS Delivery error" +msgstr "" + +#. module: event_track_multi_speaker +#: model_terms:ir.ui.view,arch_db:event_track_multi_speaker.view_event_track_speaker_form +msgid "Speaker" +msgstr "Intervenant" + +#. module: event_track_multi_speaker +#: model:ir.model.fields,field_description:event_track_multi_speaker.field_event_track__speaker_ids +#: model_terms:ir.ui.view,arch_db:event_track_multi_speaker.view_event_track_form +msgid "Speakers" +msgstr "Intervenants" + +#. module: event_track_multi_speaker +#. odoo-python +#: code:addons/event_track_multi_speaker/models/event_track_speaker.py:0 +#, python-format +msgid "Speakers should belong to only one event." +msgstr "Un intervenant ne peut appartenir qu'à un seul évènement." + +#. module: event_track_multi_speaker +#: model:ir.model.fields,field_description:event_track_multi_speaker.field_event_track_speaker__status +msgid "Status" +msgstr "Statut" + +#. module: event_track_multi_speaker +#: model:ir.model.fields,help:event_track_multi_speaker.field_event_track_speaker__activity_state +msgid "" +"Status based on activities\n" +"Overdue: Due date is already passed\n" +"Today: Activity date is today\n" +"Planned: Future activities." +msgstr "" + +#. module: event_track_multi_speaker +#: model:ir.model,name:event_track_multi_speaker.model_event_track_speaker +#: model_terms:ir.ui.view,arch_db:event_track_multi_speaker.view_event_track_speaker_form +msgid "Track Speaker" +msgstr "Intervenant d'une session" + +#. module: event_track_multi_speaker +#: model:ir.ui.menu,name:event_track_multi_speaker.menu_event_speaker +msgid "Track Speakers" +msgstr "Intervenants des sessions" + +#. module: event_track_multi_speaker +#: model:ir.model.fields,field_description:event_track_multi_speaker.field_event_track_speaker__track_ids +#: model_terms:ir.ui.view,arch_db:event_track_multi_speaker.view_event_track_speaker_form +msgid "Tracks" +msgstr "Sessions" + +#. module: event_track_multi_speaker +#: model:ir.model.fields,help:event_track_multi_speaker.field_event_track_speaker__activity_exception_decoration +msgid "Type of the exception activity on record." +msgstr "" + +#. module: event_track_multi_speaker +#: model:ir.model.fields.selection,name:event_track_multi_speaker.selection__event_track_speaker__status__validated +msgid "Validated" +msgstr "Validé" + +#. module: event_track_multi_speaker +#: model:ir.model.fields.selection,name:event_track_multi_speaker.selection__event_track_speaker__status__waiting +msgid "Waiting" +msgstr "En attente" + +#. module: event_track_multi_speaker +#: model:ir.model.fields,field_description:event_track_multi_speaker.field_event_track_speaker__website_message_ids +msgid "Website Messages" +msgstr "" + +#. module: event_track_multi_speaker +#: model:ir.model.fields,field_description:event_track_multi_speaker.field_event_track_speaker__biography +msgid "Website Partner Full Description" +msgstr "Biographie" + +#. module: event_track_multi_speaker +#: model:ir.model.fields,help:event_track_multi_speaker.field_event_track_speaker__website_message_ids +msgid "Website communication history" +msgstr ""