diff --git a/mail_activity_plan/README.rst b/mail_activity_plan/README.rst
index 41f372e..3a8268d 100644
--- a/mail_activity_plan/README.rst
+++ b/mail_activity_plan/README.rst
@@ -9,17 +9,18 @@ Use Odoo normal module installation procedure to install ``mail_activity_plan``.
Configuration
=============
-To create activity templates, go to Settings > Technical > Discuss > Activity templates :
-
-Select a activiy type, select a user to assign, fiel the other fields (summary, note)
To create activities plans, go to Settings > Technical > Discuss > Activity plans :
-Provide a name, select or create activity templates
+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 many plans
+A activity template can be related to only one plan
A activity template is related to only one activity type
@@ -33,7 +34,9 @@ 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
+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
======================
diff --git a/mail_activity_plan/i18n/fr.po b/mail_activity_plan/i18n/fr.po
index 93afdb6..546f883 100644
--- a/mail_activity_plan/i18n/fr.po
+++ b/mail_activity_plan/i18n/fr.po
@@ -6,8 +6,8 @@ msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 14.0\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2023-10-13 08:34+0000\n"
-"PO-Revision-Date: 2023-10-13 08:34+0000\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"
@@ -29,20 +29,9 @@ 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_template_view_tree
msgid "Activities"
msgstr "Activités"
-#. module: mail_activity_plan
-#: model:ir.model.fields,field_description:mail_activity_plan.field_mail_activity_template__mail_activity_plan_ids
-msgid "Activities plan"
-msgstr "Plan d'activités"
-
-#. module: mail_activity_plan
-#: model_terms:ir.ui.view,arch_db:mail_activity_plan.mail_activity_template_view_form
-msgid "Activity"
-msgstr "Activité"
-
#. module: mail_activity_plan
#: model:ir.model.fields,field_description:mail_activity_plan.field_mail_activity_template__mail_activity_type_id
msgid "Activity Type"
@@ -54,17 +43,6 @@ msgstr "Type d'activité"
msgid "Activity plans"
msgstr "Plans d'activités"
-#. module: mail_activity_plan
-#: model:ir.model.fields,field_description:mail_activity_plan.field_mail_activity_plan__mail_activity_template_ids
-msgid "Activity template"
-msgstr "Modèle d'activité"
-
-#. module: mail_activity_plan
-#: model:ir.actions.act_window,name:mail_activity_plan.mail_activity_template_action
-#: model:ir.ui.menu,name:mail_activity_plan.menu_mail_activity_template
-msgid "Activity templates"
-msgstr "Modèles 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
@@ -133,6 +111,11 @@ msgstr ""
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"
@@ -164,6 +147,11 @@ msgstr ""
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"
@@ -174,6 +162,11 @@ msgstr "Action du serveur"
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
@@ -196,7 +189,12 @@ msgstr ""
"- '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 automatiquement les activités du plan dans le modèle choisi"
+"- '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
diff --git a/mail_activity_plan/models/ir_actions.py b/mail_activity_plan/models/ir_actions.py
index dadc25d..0421426 100644
--- a/mail_activity_plan/models/ir_actions.py
+++ b/mail_activity_plan/models/ir_actions.py
@@ -20,13 +20,12 @@ class IrActionsServer(models.Model):
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:
- date_deadline = self.env['mail.activity']._calculate_date_deadline(mail_activity_template.mail_activity_type_id)
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=mail_activity_template.user_id.id,
- date_deadline=date_deadline
- )
+ 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
index 53c659a..30996e5 100644
--- a/mail_activity_plan/models/mail_activity_plan.py
+++ b/mail_activity_plan/models/mail_activity_plan.py
@@ -2,7 +2,6 @@
# Part of Odoo. See LICENSE file for full copyright and licensing details.
from odoo import api, fields, models, _
-from odoo.exceptions import UserError
class MailActivityTemplate(models.Model):
'''
@@ -10,16 +9,19 @@ class MailActivityTemplate(models.Model):
'''
_name = 'mail.activity.template'
_description = 'Mail activity template'
+ _order = 'sequence'
- mail_activity_plan_ids = fields.Many2many('mail.activity.plan', string='Activities plan', ondelete='restrict')
+ 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', compute="_compute_default_summary", store=True, readonly=False)
- user_id = fields.Many2one('res.users', string='Assigned to', required=True)
+ user_id = fields.Many2one('res.users', string='Assigned to')
note = fields.Html('Note')
@api.depends('mail_activity_type_id')
@@ -38,5 +40,5 @@ class MailActivityPlan(models.Model):
_description = 'Mail activity plan'
name = fields.Char('Name', required=True)
- mail_activity_template_ids = fields.Many2many('mail.activity.template', string='Activity template', ondelete='restrict')
+ mail_activity_template_ids = fields.One2many('mail.activity.template', 'mail_activity_plan_id', string='Template Activities')
active = fields.Boolean(default=True)
diff --git a/mail_activity_plan/views/mail_activity_plan_view.xml b/mail_activity_plan/views/mail_activity_plan_view.xml
index 4aa50c6..f124608 100644
--- a/mail_activity_plan/views/mail_activity_plan_view.xml
+++ b/mail_activity_plan/views/mail_activity_plan_view.xml
@@ -37,10 +37,11 @@
-
+
-
+
+
@@ -52,36 +53,6 @@
-
- mail.activity.template.view.tree
- mail.activity.template
-
-
-
-
-
-
-
-
-
-
- mail.activity.template.view.form
- mail.activity.template
-
-
-
-
-
Activity plans
mail.activity.plan
@@ -96,18 +67,5 @@
sequence="12"
/>
-
- Activity templates
- mail.activity.template
- tree,form
-
-
-
-