Skip to content

Commit

Permalink
[MIG] T1878 intervention_compassion: migration to 17.0
Browse files Browse the repository at this point in the history
  • Loading branch information
robinrolle authored and ecino committed Oct 8, 2024
1 parent 22b0340 commit 91a5630
Show file tree
Hide file tree
Showing 12 changed files with 785 additions and 222 deletions.
58 changes: 58 additions & 0 deletions intervention_compassion/README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
========================
Compassion Interventions
========================

..
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! source digest: sha256:561e5b2662c002ac896d47c3e21b6f7fc0c9c13f8542f478e066d46a7c44ddde
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
.. |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-CompassionCH%2Fcompassion--modules-lightgray.png?logo=github
:target: https://github.com/CompassionCH/compassion-modules/tree/17.0/intervention_compassion
:alt: CompassionCH/compassion-modules

|badge1| |badge2| |badge3|

Compassion Interventions Management objects.

Setup compassion intervention model. Manage interventions info and their
states.

**Table of contents**

.. contents::
:local:

Bug Tracker
===========

Bugs are tracked on `GitHub Issues <https://github.com/CompassionCH/compassion-modules/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 <https://github.com/CompassionCH/compassion-modules/issues/new?body=module:%20intervention_compassion%0Aversion:%2017.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.

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

Credits
=======

Authors
-------

* Compassion CH

Maintainers
-----------

This module is part of the `CompassionCH/compassion-modules <https://github.com/CompassionCH/compassion-modules/tree/17.0/intervention_compassion>`_ project on GitHub.

You are welcome to contribute.
4 changes: 2 additions & 2 deletions intervention_compassion/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
from . import models, wizards


def load_mappings(cr, registry):
def load_mappings(env):
path = "intervention_compassion/static/mappings/"
files = [
"commitment_mapping.json",
Expand All @@ -26,4 +26,4 @@ def load_mappings(cr, registry):
"intervention_search_mapping.json",
]

load_mapping_files(cr, path, files)
load_mapping_files(env, path, files)
126 changes: 78 additions & 48 deletions intervention_compassion/data/intervention_action_rules.xml
Original file line number Diff line number Diff line change
@@ -1,11 +1,14 @@
<odoo>
<!-- Write state active on interventions -->
<record id="active_action_state_field" model="ir.server.object.lines">
<field name="col1" ref="field_compassion_intervention__state" />
<!-- <field name="type">value</field>-->
<field name="value">active</field>
<!-- Server Action to update intervention to active -->
<record id="action_intervention_active" model="ir.actions.server">
<field name="name">Intervention: Make active after start date</field>
<field name="model_id" ref="model_compassion_intervention" />
<field name="state">code</field>
<field name="usage">base_automation</field>
<field name="code">records.write({'state': 'active'})</field>
</record>
<!-- Rule for setting Intervention active after start_date -->

<!-- Automation rule to make intervention active after start date -->
<record id="intervention_active_check" model="base.automation">
<field name="name">Intervention: Make active after start date</field>
<field name="model_id" ref="model_compassion_intervention" />
Expand All @@ -14,23 +17,27 @@
name="trg_date_id"
ref="field_compassion_intervention__start_date"
/>
<field name="filter_domain">[('state', '=', 'committed')]</field>
<field name="trg_date_range">0</field>
<field name="trg_date_range_type">day</field>
<field name="state">object_write</field>
<field
name="fields_lines"
eval="[(4, ref('active_action_state_field'))]"
name="filter_domain"
>[('state', '=', 'committed'), ('start_date', '!=', False)]</field>
<field
name="action_server_ids"
eval="[(6, 0, [ref('action_intervention_active')])]"
/>
</record>

<!-- Write state close on interventions -->
<record id="close_action_state_field" model="ir.server.object.lines">
<field name="col1" ref="field_compassion_intervention__state" />
<!-- <field name="type">value</field>-->
<field name="value">close</field>
<!-- Server Action to update intervention to close -->
<record id="action_intervention_close" model="ir.actions.server">
<field name="name">Intervention: Close after end date</field>
<field name="model_id" ref="model_compassion_intervention" />
<field name="state">code</field>
<field name="usage">base_automation</field>
<field name="code">records.write({'state': 'close'})</field>
</record>
<!-- Rule for setting Intervention close after end_date -->

<!-- Automation rule to close intervention after end date -->
<record id="intervention_close_check" model="base.automation">
<field name="name">Intervention: Close after end date</field>
<field name="model_id" ref="model_compassion_intervention" />
Expand All @@ -41,69 +48,92 @@
/>
<field name="trg_date_range">0</field>
<field name="trg_date_range_type">day</field>
<field name="state">object_write</field>
<field name="filter_domain">[('end_date', '!=', False)]</field>
<field
name="fields_lines"
eval="[(4, ref('close_action_state_field'))]"
name="action_server_ids"
eval="[(6, 0, [ref('action_intervention_close')])]"
/>
</record>

<!-- Write SLA state on interventions -->
<record id="sla_done_action_field" model="ir.server.object.lines">
<field name="col1" ref="field_compassion_intervention__state" />
<!-- <field name="type">value</field>-->
<field name="value">on_hold</field>
<!-- Server Action to set SLA negotiation state to done -->
<record id="action_sla_done" model="ir.actions.server">
<field name="name">Intervention: Check SLA Negotiation done</field>
<field name="model_id" ref="model_compassion_intervention" />
<field name="state">code</field>
<field name="usage">base_automation</field>
<field name="code">records.write({'state': 'on_hold'})</field>
</record>
<!-- Rule for checking SLA Negociation -->

<!-- Automation rule for SLA negotiation done -->
<record id="intervention_sla_check_done" model="base.automation">
<field name="name">Intervention: Check SLA Negociation done</field>
<field name="name">Intervention: Check SLA Negotiation done</field>
<field name="model_id" ref="model_compassion_intervention" />
<field name="trigger">on_create_or_write</field>
<field
name="filter_domain"
>[('state', '=', 'sla'), '|', '&amp;', ('service_level', '=', 'Level 2'), ('sla_selection_complete', '=', True), ('sla_negotiation_status', '=', 'GP Accepted Costs')]</field>
<field name="state">object_write</field>
<field name="fields_lines" eval="[(4, ref('sla_done_action_field'))]" />
<field
name="action_server_ids"
eval="[(6, 0, [ref('action_sla_done')])]"
/>
</record>

<record id="sla_wait_action_field" model="ir.server.object.lines">
<field name="col1" ref="field_compassion_intervention__state" />
<!-- <field name="type">value</field>-->
<field name="value">sla</field>
<!-- Server Action to set intervention state to SLA waiting -->
<record id="action_sla_wait" model="ir.actions.server">
<field name="name">Intervention: Check SLA Negotiation waiting</field>
<field name="model_id" ref="model_compassion_intervention" />
<field name="state">code</field>
<field name="usage">base_automation</field>
<field name="code">records.write({'state': 'sla'})</field>
</record>

<!-- Automation rule for SLA negotiation waiting -->
<record id="intervention_sla_check_wait" model="base.automation">
<field name="name">Intervention: Check SLA Negociation waiting</field>
<field name="name">Intervention: Check SLA Negotiation waiting</field>
<field name="model_id" ref="model_compassion_intervention" />
<field name="trigger">on_create_or_write</field>
<field
name="filter_domain"
>[('state', '=', 'on_hold'), ('service_level', '=', 'Level 2'), ('sla_selection_complete', '=', False)]</field>
<field name="state">object_write</field>
<field name="fields_lines" eval="[(4, ref('sla_wait_action_field'))]" />
>[('state', '=', 'on_hold'), ('service_level', '=', 'Level 2'),('sla_selection_complete', '=', False)]</field>
<field
name="action_server_ids"
eval="[(6, 0, [ref('action_sla_wait')])]"
/>
</record>

<!-- Server Action for notification before intervention on hold expires -->
<record id="action_notify_before_expire" model="ir.actions.server">
<field name="name">Intervention: Notify before on hold expires</field>
<field name="model_id" ref="model_compassion_intervention" />
<field name="state">next_activity</field>
<field name="usage">base_automation</field>
<field name="activity_type_id" ref="mail.mail_activity_data_todo" />
<field
name="activity_summary"
>On Hold intervention close to expiration date</field>
<field
name="activity_note"
>An Intervention you are assigned to is close to reaching its expiration date while still On Hold.</field>
<field name="activity_user_type">generic</field>
<field name="activity_user_field_name">user_id</field>
</record>

<!-- Automation rule to send notification before intervention expires -->
<record id="intervention_notif_before_expire" model="base.automation">
<field
name="name"
>Intervention: Send notification before intervention on hold expire.</field>
>Intervention: Send notification before intervention on hold expires</field>
<field name="model_id" ref="model_compassion_intervention" />
<field name="trigger">on_time</field>
<field
name="trg_date_id"
ref="field_compassion_intervention__expiration_date"
/>
<field name="filter_domain">[('state', '=', 'on_hold')]</field>
<field name="trg_date_range">-7</field>
<field name="trg_date_range_type">day</field>
<field name="state">next_activity</field>
<field name="activity_type_id" ref="mail.mail_activity_data_todo" />
<field
name="activity_summary"
>On Hold intervention close to expiration date</field>
<field name="filter_domain">[('state', '=', 'on_hold')]</field>
<field
name="activity_note"
>An Intervention you are assigned to is close to reach it's expiration date while still On Hold.</field>
<field name="activity_user_type">generic</field>
<field name="activity_user_field_name">user_id</field>
name="action_server_ids"
eval="[(6, 0, [ref('action_notify_before_expire')])]"
/>
</record>
</odoo>
Loading

0 comments on commit 91a5630

Please sign in to comment.