-
-
Notifications
You must be signed in to change notification settings - Fork 170
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Signed-off-by pedrobaeza
- Loading branch information
Showing
26 changed files
with
1,737 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,123 @@ | ||
============================ | ||
Event cancellation workflows | ||
============================ | ||
|
||
.. | ||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! | ||
!! This file is generated by oca-gen-addon-readme !! | ||
!! changes will be overwritten. !! | ||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! | ||
!! source digest: sha256:2c6facd843a69eb5970fe525b81d5e5364d69baa69bdb84e31580e41f5312782 | ||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! | ||
.. |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/17.0/event_stage_cancelled | ||
:alt: OCA/event | ||
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png | ||
:target: https://translation.odoo-community.org/projects/event-17-0/event-17-0-event_stage_cancelled | ||
: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=17.0 | ||
:alt: Try me on Runboat | ||
|
||
|badge1| |badge2| |badge3| |badge4| |badge5| | ||
|
||
This module adds the posibility of flagging an event stage as cancelled | ||
so we can hook workflows onto it like cancelling registrations or | ||
scheduling special mail events. | ||
|
||
**Table of contents** | ||
|
||
.. contents:: | ||
:local: | ||
|
||
Use Cases / Context | ||
=================== | ||
|
||
Up to v14, events had an state field instead of configurable stages. A | ||
lost feature with that change was the concept of a cancelled event and | ||
with it the logic associated to it: when we cancelled an event, its | ||
registrations were cancelled along with it. | ||
|
||
Configuration | ||
============= | ||
|
||
To set a stage as cancelled: | ||
|
||
- Go to *Events > Configuration > Event Stages* and choose the one you | ||
want to be the cancelled one. | ||
|
||
To schedule a mail that triggers when the event is cancelled: | ||
|
||
- Go to *Events* and select an event. | ||
- Go to the *Communication* tab and add a new scheduler. | ||
- Choose to trigger it *After the event cancellation*. | ||
- Choose the other parameters like template or the interval. | ||
|
||
When the event is cancelled, the corresponding mail will be sent to the | ||
attendants who where confirmed at the moment of the cancellation. | ||
|
||
Usage | ||
===== | ||
|
||
When you want to cancel an event an its registration, just click on the | ||
*Cancel Event* button from the event itself. | ||
|
||
A confirmation dialog will show up and if you confirm it, the linked | ||
registrations will be cancelled as well. | ||
|
||
Known issues / Roadmap | ||
====================== | ||
|
||
- If you just change the stage to the cancelled one, the registrations | ||
won't be cancelled. This is avoided for the moment on purpose as a | ||
confirmation dialog would require an special ``ir.actions.client`` | ||
implementation. | ||
|
||
Bug Tracker | ||
=========== | ||
|
||
Bugs are tracked on `GitHub Issues <https://github.com/OCA/event/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/OCA/event/issues/new?body=module:%20event_stage_cancelled%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 | ||
------- | ||
|
||
* Tecnativa | ||
|
||
Contributors | ||
------------ | ||
|
||
- `Tecnativa <https://tecnativa.com>`__ | ||
|
||
- David Vidal | ||
|
||
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. | ||
|
||
This module is part of the `OCA/event <https://github.com/OCA/event/tree/17.0/event_stage_cancelled>`_ project on GitHub. | ||
|
||
You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
from . import models |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
# Copyright 2024 Tecnativa - David Vidal | ||
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). | ||
{ | ||
"name": "Event cancellation workflows", | ||
"version": "17.0.1.0.0", | ||
"category": "Marketing", | ||
"author": "Tecnativa, Odoo Community Association (OCA)", | ||
"website": "https://github.com/OCA/event", | ||
"license": "AGPL-3", | ||
"depends": ["event"], | ||
"data": [ | ||
"data/event_data.xml", | ||
"data/mail_template_data.xml", | ||
"views/event_stage_views.xml", | ||
"views/event_event_views.xml", | ||
], | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
<?xml version="1.0" encoding="utf-8" ?> | ||
<odoo> | ||
<record model="event.stage" id="event.event_stage_cancelled"> | ||
<field name="is_cancelled" eval="True" /> | ||
</record> | ||
</odoo> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,184 @@ | ||
<?xml version="1.0" ?> | ||
<odoo> | ||
<record id="event_cancelled" model="mail.template"> | ||
<field name="name">Event: Cancelled</field> | ||
<field name="model_id" ref="event.model_event_registration" /> | ||
<field name="subject">{{ object.event_id.name }}: event cancelled</field> | ||
<field | ||
name="email_from" | ||
>{{ (object.event_id.organizer_id.email_formatted or object.event_id.user_id.email_formatted or '') }}</field> | ||
<field | ||
name="email_to" | ||
>{{ (object.email and '"%s" <%s>' % (object.name, object.email) or object.partner_id.email_formatted or '') }}</field> | ||
<field name="body_html" type="html"> | ||
<table | ||
border="0" | ||
cellpadding="0" | ||
cellspacing="0" | ||
style="padding-top: 16px; background-color: #F1F1F1; font-family:Verdana, Arial,sans-serif; color: #454748; width: 100%; border-collapse:separate;" | ||
><tr><td align="center"> | ||
<t | ||
t-set="date_begin" | ||
t-value="format_datetime(object.event_id.date_begin, tz='UTC', dt_format="yyyyMMdd'T'HHmmss'Z'")" | ||
/> | ||
<t | ||
t-set="date_end" | ||
t-value="format_datetime(object.event_id.date_end, tz='UTC', dt_format="yyyyMMdd'T'HHmmss'Z'")" | ||
/> | ||
<t | ||
t-set="is_online" | ||
t-value="'is_published' in object.event_id and object.event_id.is_published" | ||
/> | ||
<t t-set="event_organizer" t-value="object.event_id.organizer_id" /> | ||
<t t-set="event_address" t-value="object.event_id.address_id" /> | ||
<table | ||
border="0" | ||
cellpadding="0" | ||
cellspacing="0" | ||
width="590" | ||
style="padding: 16px; background-color: white; color: #454748; border-collapse:separate;" | ||
> | ||
<tbody> | ||
<!-- HEADER --> | ||
<tr> | ||
<td align="center" style="min-width: 590px;"> | ||
<table | ||
width="590" | ||
border="0" | ||
cellpadding="0" | ||
cellspacing="0" | ||
style="min-width: 590px; background-color: white; padding: 0px 8px 0px 8px; border-collapse:separate;" | ||
> | ||
<tr><td valign="middle"> | ||
<span style="font-size: 10px;">Your registration</span><br /> | ||
<span | ||
style="font-size: 20px; font-weight: bold;" | ||
t-out="object.name or ''" | ||
>Oscar Morgan</span> | ||
</td><td valign="middle" align="right"> | ||
<t t-if="is_online"> | ||
<a | ||
t-attf-href="{{ object.event_id.website_url }}" | ||
style="padding: 8px 12px; font-size: 12px; color: #FFFFFF; text-decoration: none !important; font-weight: 400; background-color: #875A7B; border: 0px solid #875A7B; border-radius:3px" | ||
> | ||
View Event | ||
</a> | ||
</t> | ||
<t t-else=""> | ||
<img | ||
t-att-src="'/logo.png?company=%s' % object.company_id.id" | ||
style="padding: 0px; margin: 0px; height: auto; width: 80px;" | ||
t-att-alt="'%s' % object.company_id.name" | ||
/> | ||
</t> | ||
</td></tr> | ||
<tr><td colspan="2" style="text-align:center;"> | ||
<hr | ||
width="100%" | ||
style="background-color:rgb(204,204,204);border:medium none;clear:both;display:block;font-size:0px;min-height:1px;line-height:0; margin:16px 0px 16px 0px;" | ||
/> | ||
</td></tr> | ||
</table> | ||
</td> | ||
</tr> | ||
<!-- EVENT DESCRIPTION --> | ||
<tr> | ||
<td align="center" style="min-width: 590px;"> | ||
<table | ||
width="590" | ||
border="0" | ||
cellpadding="0" | ||
cellspacing="0" | ||
style="min-width: 590px; background-color: white; padding: 0px 8px 0px 8px; border-collapse:separate;" | ||
> | ||
<tr><td valign="top" style="font-size: 14px;"> | ||
<div> | ||
Hello <t t-out="object.name or ''">Oscar Morgan</t>,<br /> | ||
We are sorry to inform you that the | ||
<t t-if="is_online"> | ||
<a | ||
t-att-href="object.event_id.website_url" | ||
style="color:#875A7B;text-decoration:none;" | ||
t-out="object.event_id.name or ''" | ||
>OpenWood Collection Online Reveal</a> | ||
</t> | ||
<t t-else=""> | ||
<strong | ||
t-out="object.event_id.name or ''" | ||
>OpenWood Collection Online Reveal</strong> | ||
</t> | ||
has been cancelled. | ||
</div> | ||
<t t-if="event_organizer"> | ||
<div> | ||
<br /> | ||
<div | ||
>Please do not hesitate to contact the organizer at for further information:</div> | ||
<ul> | ||
<li t-out="event_organizer.name or ''">YourCompany</li> | ||
<t t-if="event_organizer.email"> | ||
<li>Mail: <a | ||
t-attf-href="mailto:{{ event_organizer.email }}" | ||
style="text-decoration:none;color:#875A7B;" | ||
t-out="event_organizer.email or ''" | ||
/></li> | ||
</t> | ||
<t t-if="event_organizer.phone"> | ||
<li>Phone: <t | ||
t-out="event_organizer.phone or ''" | ||
/></li> | ||
</t> | ||
</ul> | ||
</div> | ||
</t> | ||
<div> | ||
We understand the inconvenience this may cause and sincerely apologize for any disappointment.<br | ||
/> | ||
<span style="color: #454748;"> | ||
-- <br /> | ||
<t t-if="event_organizer"> | ||
<t t-out="event_organizer.name or ''">YourCompany</t> | ||
</t> | ||
<t t-else=""> | ||
The <t | ||
t-out="object.event_id.name or ''" | ||
>OpenWood Collection Online Reveal</t> Team | ||
</t> | ||
</span> | ||
</div> | ||
</td></tr> | ||
</table> | ||
</td> | ||
</tr> | ||
</tbody> | ||
</table> | ||
</td></tr> | ||
<!-- FOOTER BY --> | ||
<tr><td align="center" style="min-width: 590px;"> | ||
<table | ||
t-if="object.company_id" | ||
width="590" | ||
border="0" | ||
cellpadding="0" | ||
cellspacing="0" | ||
style="min-width: 590px; background-color: #F1F1F1; color: #454748; padding: 8px; border-collapse:separate;" | ||
> | ||
<tr><td style="text-align: center; font-size: 14px;"> | ||
Sent by <a | ||
target="_blank" | ||
t-attf-href="{{ object.company_id.website }}" | ||
style="color: #875A7B;" | ||
t-out="object.company_id.name or ''" | ||
>YourCompany</a> | ||
<t t-if="'website_url' in object.event_id and object.event_id.website_url"> | ||
<br /> | ||
Discover <a href="/event" style="color:#875A7B;">all our events</a>. | ||
</t> | ||
</td></tr> | ||
</table> | ||
</td></tr> | ||
</table> | ||
</field> | ||
<field name="lang">{{ object.event_id.lang or object.partner_id.lang }}</field> | ||
</record> | ||
</odoo> |
Oops, something went wrong.