From 0cfe2df1fb0721289f8cd7e410a809d41c4d7135 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phan=20Sainl=C3=A9ger?= Date: Fri, 16 May 2025 16:25:52 +0200 Subject: [PATCH] [CLN] mail_activity_plan: delete add-on as an OCA add-on now does the job https://github.com/OCA/social/tree/16.0/mail_activity_plan --- mail_activity_plan/README.rst | 72 ------- mail_activity_plan/__init__.py | 4 - mail_activity_plan/__manifest__.py | 93 -------- mail_activity_plan/i18n/fr.po | 204 ------------------ mail_activity_plan/models/__init__.py | 1 - mail_activity_plan/models/ir_actions.py | 32 --- .../models/mail_activity_plan.py | 46 ---- .../security/ir.model.access.csv | 3 - .../views/ir_actions_server_form_plan.xml | 15 -- .../views/mail_activity_plan_view.xml | 91 -------- 10 files changed, 561 deletions(-) delete mode 100644 mail_activity_plan/README.rst delete mode 100644 mail_activity_plan/__init__.py delete mode 100644 mail_activity_plan/__manifest__.py delete mode 100644 mail_activity_plan/i18n/fr.po delete mode 100644 mail_activity_plan/models/__init__.py delete mode 100644 mail_activity_plan/models/ir_actions.py delete mode 100644 mail_activity_plan/models/mail_activity_plan.py delete mode 100644 mail_activity_plan/security/ir.model.access.csv delete mode 100644 mail_activity_plan/views/ir_actions_server_form_plan.xml delete mode 100644 mail_activity_plan/views/mail_activity_plan_view.xml diff --git a/mail_activity_plan/README.rst b/mail_activity_plan/README.rst deleted file mode 100644 index 3a8268d..0000000 --- a/mail_activity_plan/README.rst +++ /dev/null @@ -1,72 +0,0 @@ -==================== -mail_activity_plan -==================== - -Installation -============ -Use Odoo normal module installation procedure to install ``mail_activity_plan``. - - -Configuration -============= - -To create activities plans, go to Settings > Technical > Discuss > Activity plans : - -Provice a name - -Add activity templates : - -Select an activity type, write a summary. Optionnaly assigne to a user and write a note. - -A plan can be related to many activity templates - -A activity template can be related to only one plan - -A activity template is related to only one activity type - - -Usage -===== -Once your plan is configured, you can define a server-action to launch automatically the activities for a choose model - -Go to Settings > Technical > Actions > Server Actions - -Provide a name, select a model, select action "[generate_activities]", select a plan. - -Once your new server action is configured, go to an instance of the chosen model, -click on the server action to generate automatically the activities of the plan. - -If nobody is assigned to a activity, the current user will be automatically assigned. - -Known issues / Roadmap -====================== - -None yet. - -Bug Tracker -=========== - -Bugs are tracked on `our issues website `_. 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. - -Credits -======= - -Contributors ------------- - -* Laetitia Da Costa (https://github.com/LaetitiaElabore) - -Funders -------- - -The development of this module has been financially supported by: -* Elabore (https://elabore.coop) - - -Maintainer ----------- - -This module is maintained by Elabore. \ No newline at end of file diff --git a/mail_activity_plan/__init__.py b/mail_activity_plan/__init__.py deleted file mode 100644 index e991714..0000000 --- a/mail_activity_plan/__init__.py +++ /dev/null @@ -1,4 +0,0 @@ -# -*- coding: utf-8 -*- -# Part of Odoo. See LICENSE file for full copyright and licensing details. - -from . import models \ No newline at end of file diff --git a/mail_activity_plan/__manifest__.py b/mail_activity_plan/__manifest__.py deleted file mode 100644 index 7ecc508..0000000 --- a/mail_activity_plan/__manifest__.py +++ /dev/null @@ -1,93 +0,0 @@ -# Copyright 2022 Laetitia Élabore (Elabore) -# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). - -{ - "name": "mail_activity_plan", - "version": "14.0.1.0.0", - "author": "Elabore", - "website": "https://github.com/elabore-coop/ux-tools", - "maintainer": "Laetitia Da Costa", - "license": "AGPL-3", - "category": "Tools", - "summary": "Create activities plans through action server", - "description": """ - :image: https://img.shields.io/badge/licence-AGPL--3-blue.svg - :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html - :alt: License: AGPL-3 -================= -mail_activity_plan -================= - -Create activities plans through action server - -Installation -============ - -Install ``mail_activity_plan``, all dependencies will be installed by default. - -Known issues / Roadmap -====================== - -None yet. - -Bug Tracker -=========== - -Bugs are tracked on `our issues website -`_. 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. - -Credits -======= - -Images ------- - -* Elabore: `Icon `_. - -Contributors ------------- - -* Stéphan Sainléger -* Laetitia Da Costa - -Funders -------- - -The development of this module has been financially supported by: -* Elabore (https://elabore.coop) - - -Maintainer ----------- -This module is maintained by Elabore. - -""", - # any module necessary for this one to work correctly - "depends": [ - "base", - ], - "qweb": [ - # "static/src/xml/*.xml", - ], - "external_dependencies": { - "python": [], - }, - # always loaded - "data": [ - "security/ir.model.access.csv", - "views/mail_activity_plan_view.xml", - "views/ir_actions_server_form_plan.xml", - ], - # only loaded in demonstration mode - "demo": [], - "js": [], - "css": [], - "installable": True, - # Install this module automatically if all dependency have been previously - # and independently installed. Used for synergetic or glue modules. - "auto_install": False, - "application": False, -} diff --git a/mail_activity_plan/i18n/fr.po b/mail_activity_plan/i18n/fr.po deleted file mode 100644 index 546f883..0000000 --- a/mail_activity_plan/i18n/fr.po +++ /dev/null @@ -1,204 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * mail_activity_plan -# -msgid "" -msgstr "" -"Project-Id-Version: Odoo Server 14.0\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-10-16 15:18+0000\n" -"PO-Revision-Date: 2023-10-16 15:18+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: mail_activity_plan -#: model:ir.model.fields,field_description:mail_activity_plan.field_base_automation__state -#: model:ir.model.fields,field_description:mail_activity_plan.field_ir_actions_server__state -#: model:ir.model.fields,field_description:mail_activity_plan.field_ir_cron__state -msgid "Action To Do" -msgstr "Action à effectuer" - -#. module: mail_activity_plan -#: model:ir.model.fields,field_description:mail_activity_plan.field_mail_activity_plan__active -msgid "Active" -msgstr "" - -#. module: mail_activity_plan -#: model_terms:ir.ui.view,arch_db:mail_activity_plan.mail_activity_plan_view_form -msgid "Activities" -msgstr "Activités" - -#. module: mail_activity_plan -#: model:ir.model.fields,field_description:mail_activity_plan.field_mail_activity_template__mail_activity_type_id -msgid "Activity Type" -msgstr "Type d'activité" - -#. module: mail_activity_plan -#: model:ir.actions.act_window,name:mail_activity_plan.mail_activity_plan_action -#: model:ir.ui.menu,name:mail_activity_plan.menu_mail_activity_plan -msgid "Activity plans" -msgstr "Plans d'activités" - -#. module: mail_activity_plan -#: model_terms:ir.ui.view,arch_db:mail_activity_plan.mail_activity_plan_view_form -#: model_terms:ir.ui.view,arch_db:mail_activity_plan.mail_activity_plan_view_search -msgid "Archived" -msgstr "" - -#. module: mail_activity_plan -#: model:ir.model.fields,field_description:mail_activity_plan.field_mail_activity_template__user_id -msgid "Assigned to" -msgstr "Assigné à" - -#. module: mail_activity_plan -#: model:ir.model.fields,field_description:mail_activity_plan.field_base_automation__plan_id -#: model:ir.model.fields,field_description:mail_activity_plan.field_ir_actions_server__plan_id -#: model:ir.model.fields,field_description:mail_activity_plan.field_ir_cron__plan_id -msgid "Available plans" -msgstr "Plans d'activité disponibles" - -#. module: mail_activity_plan -#: model:ir.model.fields,field_description:mail_activity_plan.field_mail_activity_plan__create_uid -#: model:ir.model.fields,field_description:mail_activity_plan.field_mail_activity_template__create_uid -msgid "Created by" -msgstr "" - -#. module: mail_activity_plan -#: model:ir.model.fields,field_description:mail_activity_plan.field_mail_activity_plan__create_date -#: model:ir.model.fields,field_description:mail_activity_plan.field_mail_activity_template__create_date -msgid "Created on" -msgstr "" - -#. module: mail_activity_plan -#: model:ir.model.fields,field_description:mail_activity_plan.field_ir_actions_server__display_name -#: model:ir.model.fields,field_description:mail_activity_plan.field_mail_activity_plan__display_name -#: model:ir.model.fields,field_description:mail_activity_plan.field_mail_activity_template__display_name -msgid "Display Name" -msgstr "Nom affiché" - -#. module: mail_activity_plan -#: model:ir.model.fields.selection,name:mail_activity_plan.selection__ir_actions_server__state__generate_activities -msgid "Generate activities from a plan" -msgstr "Générer les activités d'un plan d'activités" - -#. module: mail_activity_plan -#: model:ir.model.fields,field_description:mail_activity_plan.field_ir_actions_server__id -#: model:ir.model.fields,field_description:mail_activity_plan.field_mail_activity_plan__id -#: model:ir.model.fields,field_description:mail_activity_plan.field_mail_activity_template__id -msgid "ID" -msgstr "" - -#. module: mail_activity_plan -#: model:ir.model.fields,field_description:mail_activity_plan.field_ir_actions_server____last_update -#: model:ir.model.fields,field_description:mail_activity_plan.field_mail_activity_plan____last_update -#: model:ir.model.fields,field_description:mail_activity_plan.field_mail_activity_template____last_update -msgid "Last Modified on" -msgstr "Dernière modification le" - -#. module: mail_activity_plan -#: model:ir.model.fields,field_description:mail_activity_plan.field_mail_activity_plan__write_uid -#: model:ir.model.fields,field_description:mail_activity_plan.field_mail_activity_template__write_uid -msgid "Last Updated by" -msgstr "" - -#. module: mail_activity_plan -#: model:ir.model.fields,field_description:mail_activity_plan.field_mail_activity_plan__write_date -#: model:ir.model.fields,field_description:mail_activity_plan.field_mail_activity_template__write_date -msgid "Last Updated on" -msgstr "" - -#. module: mail_activity_plan -#: model:ir.model.fields,field_description:mail_activity_plan.field_mail_activity_template__mail_activity_plan_id -msgid "Mail Activity Plan" -msgstr "Plan d'activités" - -#. module: mail_activity_plan -#: model:ir.model,name:mail_activity_plan.model_mail_activity_plan -msgid "Mail activity plan" -msgstr "Plan d'activités" - -#. module: mail_activity_plan -#: model:ir.model,name:mail_activity_plan.model_mail_activity_template -msgid "Mail activity template" -msgstr "Modèle d'activités" - -#. module: mail_activity_plan -#: model:ir.model.fields,field_description:mail_activity_plan.field_mail_activity_plan__name -msgid "Name" -msgstr "Nom" - -#. module: mail_activity_plan -#: model:ir.model.fields,field_description:mail_activity_plan.field_mail_activity_template__note -msgid "Note" -msgstr "" - -#. module: mail_activity_plan -#: model_terms:ir.ui.view,arch_db:mail_activity_plan.mail_activity_plan_view_search -msgid "Plan" -msgstr "" - -#. module: mail_activity_plan -#: model_terms:ir.ui.view,arch_db:mail_activity_plan.mail_activity_plan_view_form -#: model_terms:ir.ui.view,arch_db:mail_activity_plan.mail_activity_plan_view_tree -msgid "Planning" -msgstr "" - -#. module: mail_activity_plan -#: model:ir.model.fields,field_description:mail_activity_plan.field_mail_activity_template__sequence -msgid "Sequence" -msgstr "Ordre" - -#. module: mail_activity_plan -#: model:ir.model,name:mail_activity_plan.model_ir_actions_server -msgid "Server Action" -msgstr "Action du serveur" - -#. module: mail_activity_plan -#: model:ir.model.fields,field_description:mail_activity_plan.field_mail_activity_template__summary -msgid "Summary" -msgstr "Résumé" - -#. module: mail_activity_plan -#: model:ir.model.fields,field_description:mail_activity_plan.field_mail_activity_plan__mail_activity_template_ids -msgid "Template Activities" -msgstr "Modèles d'activités" - -#. module: mail_activity_plan -#: model:ir.model.fields,help:mail_activity_plan.field_base_automation__state -#: model:ir.model.fields,help:mail_activity_plan.field_ir_actions_server__state -#: model:ir.model.fields,help:mail_activity_plan.field_ir_cron__state -msgid "" -"Type of server action. The following values are available:\n" -"- 'Execute Python Code': a block of python code that will be executed\n" -"- 'Create': create a new record with new values\n" -"- 'Update a Record': update the values of a record\n" -"- 'Execute several actions': define an action that triggers several other server actions\n" -"- 'Send Email': automatically send an email (Discuss)\n" -"- 'Add Followers': add followers to a record (Discuss)\n" -"- 'Create Next Activity': create an activity (Discuss)" -msgstr "" -"Type d'action serveur. Les valeurs suivantes sont disponibles:\n" -"- 'Executer du code Python': un bloc de code python qui sera exécuté\n" -"- 'Créer': créer un nouvel enregistrement avec de nouvelles valeurs\n" -"- 'Mettre à jour un enregistrement': mettre à jour les valeurs d'un enregistrement\n" -"- 'Executer plusieurs actions': définir une action qui déclenche plusieurs autres actions serveur\n" -"- 'Envoyer E-Mail': envoyer un e-mail automatiquement (Discutez)\n" -"- 'Ajouter Abonnés': ajouter des abonnés à un enregistrement (Discutez)\n" -"- 'Créer une Nouvelle Activité': créer une activité (Discutez)\n" -"- 'Générer les activités d'un plan d'activités': créer une action générant automatiquement les activités du plan" - -#. module: mail_activity_plan -#: model:ir.model.fields,help:mail_activity_plan.field_mail_activity_template__sequence -msgid "Used to order activities." -msgstr "" - -#. module: mail_activity_plan -#: model:ir.model.fields,help:mail_activity_plan.field_base_automation__plan_id -#: model:ir.model.fields,help:mail_activity_plan.field_ir_actions_server__plan_id -#: model:ir.model.fields,help:mail_activity_plan.field_ir_cron__plan_id -msgid "choose a plan to add in server action options" -msgstr "" diff --git a/mail_activity_plan/models/__init__.py b/mail_activity_plan/models/__init__.py deleted file mode 100644 index aaa8a28..0000000 --- a/mail_activity_plan/models/__init__.py +++ /dev/null @@ -1 +0,0 @@ -from . import ir_actions, mail_activity_plan diff --git a/mail_activity_plan/models/ir_actions.py b/mail_activity_plan/models/ir_actions.py deleted file mode 100644 index cba5bd7..0000000 --- a/mail_activity_plan/models/ir_actions.py +++ /dev/null @@ -1,32 +0,0 @@ -# -*- coding: utf-8 -*- -# Part of Odoo. See LICENSE file for full copyright and licensing details. - -from odoo import fields, models - - -class IrActionsServer(models.Model): - """ Add activity plan option in server actions. """ - _inherit = 'ir.actions.server' - - state = fields.Selection(selection_add=[('generate_activities', 'Generate activities from a plan')], - ondelete={'generate_activities': 'cascade'}) - - plan_id = fields.Many2one('mail.activity.plan', string='Available plans', help='choose a plan to add in server action options') - - def _run_action_generate_activities_multi(self, eval_context=None): - ''' - Function called automaticly when lauching action server - See ir_actions._get_runner() - ''' - records = self.env[self.model_name].browse(self._context.get('active_ids', self._context.get('active_id'))) - for record in records : - for mail_activity_template in self.plan_id.mail_activity_template_ids: - record.activity_schedule( - activity_type_id=mail_activity_template.mail_activity_type_id.id, - summary=mail_activity_template.summary, - note=mail_activity_template.note, - user_id=self.env.uid if not mail_activity_template.user_id else mail_activity_template.user_id.id, - date_deadline=self.env['mail.activity']._calculate_date_deadline(mail_activity_template.mail_activity_type_id) - ) - return False - diff --git a/mail_activity_plan/models/mail_activity_plan.py b/mail_activity_plan/models/mail_activity_plan.py deleted file mode 100644 index 4dfb20b..0000000 --- a/mail_activity_plan/models/mail_activity_plan.py +++ /dev/null @@ -1,46 +0,0 @@ -# -*- coding: utf-8 -*- -# Part of Odoo. See LICENSE file for full copyright and licensing details. - -from odoo import _, api, fields, models - - -class MailActivityTemplate(models.Model): - ''' - Describe activities to run when lauching the associated plan - ''' - _name = 'mail.activity.template' - _description = 'Mail activity template' - _order = 'sequence' - _rec_name = 'summary' - - mail_activity_plan_id = fields.Many2one('mail.activity.plan', ondelete='restrict') - - mail_activity_type_id = fields.Many2one( - 'mail.activity.type', 'Activity Type', - default=lambda self: self.env.ref('mail.mail_activity_data_todo'), - ondelete='restrict' - ) - - sequence = fields.Integer('Sequence', default=1, help="Used to order activities.") - summary = fields.Char('Summary') - user_id = fields.Many2one('res.users', string='Assigned to') - note = fields.Html('Note') - -class MailActivityPlan(models.Model): - ''' - Create a plan - A plan is linked to many templates of mail activity (mail.activity.template) - - ''' - _name = 'mail.activity.plan' - _description = 'Mail activity plan' - - @api.returns('self', lambda value: value.id) - def copy(self, default=None): - default = dict(default or {}, - name=_("%s (copy)", self.name)) - return super(MailActivityPlan, self).copy(default=default) - - name = fields.Char('Name', required=True) - mail_activity_template_ids = fields.One2many('mail.activity.template', 'mail_activity_plan_id', string='Template Activities', copy=True) - active = fields.Boolean(default=True) diff --git a/mail_activity_plan/security/ir.model.access.csv b/mail_activity_plan/security/ir.model.access.csv deleted file mode 100644 index 55d9bd4..0000000 --- a/mail_activity_plan/security/ir.model.access.csv +++ /dev/null @@ -1,3 +0,0 @@ -id,name,model_id/id,group_id/id,perm_read,perm_write,perm_create,perm_unlink -access_mail_activity_plan,mail_activity_plan,model_mail_activity_plan,,1,1,1,1 -access_mail_activity_template,mail_activity_template,model_mail_activity_template,,1,1,1,1 \ No newline at end of file diff --git a/mail_activity_plan/views/ir_actions_server_form_plan.xml b/mail_activity_plan/views/ir_actions_server_form_plan.xml deleted file mode 100644 index 71a4014..0000000 --- a/mail_activity_plan/views/ir_actions_server_form_plan.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - ir.actions.server.form - ir.actions.server - - - - - - - - - diff --git a/mail_activity_plan/views/mail_activity_plan_view.xml b/mail_activity_plan/views/mail_activity_plan_view.xml deleted file mode 100644 index 3278f69..0000000 --- a/mail_activity_plan/views/mail_activity_plan_view.xml +++ /dev/null @@ -1,91 +0,0 @@ - - - - - - mail.activity.plan.view.search - mail.activity.plan - - - - - - - - - - - mail.activity.plan.view.tree - mail.activity.plan - - - - - - - - - mail.activity.plan.view.form - mail.activity.plan - -
- - -
-
- - - - - - - - - - - - - -
-
-
-
- - - mail.activity.template.view.form - mail.activity.template - -
- - - - - - - - -
-
-
- - - - Activity plans - mail.activity.plan - tree,form - - - - - -
-