Files
odoo_source/addons/event/data/event_demo.xml
T
Sébastien Mottet (oms)andThibault Delavallée be11161a42 [FIX] event(_questions): take better care of 2many fields when updating from event type
PURPOSE

Fix various issues spotted in 13.3 when testing event. Notably
computation of 2many fields coming from template.

SPECIFICATIONS

When updating template on an event, one2many fields should be better managed.
Previous heuristic was

  * if event type uses o2m configuration (use_ticket / _schedule / _question)
    and has lines

   * erase existing lines;
   * create new lines based on old one;

This has the drawback of loosing information of what is sent (mail) or
sold (tickets) or answered( questions). Another drawback is that only
types having line are synchronized. This means that if updating several
times the event type you could end up with an XMas configuration with
lines coming from different event types, depending on their o2m configuration.

We choose a better heuristic that should solve this issue

  * every time we change type, independently of its use_* field that is used
    mainly for UX on the type itself:

    * erase existing lines that have not been used yet (no mail sent, no
      ticket linked to registrations, no answer linked to registrations)
    * create new lines based on old one; if type has no lines, event will
      have its old empty line erased as well;

It means that we try to synchronize more the type to the event while keeping
configuration line already used in some registrations.

Also provide some other fixes like deletion restrictions or better domain
for UX purpose. See sub commits for more details.

LINKS

Task ID 2244487
PR odoo/odoo#52998
FwdPort of odoo/odoo#52923

X-original-commit: 645f70cad033083e82a3ef9102c694c331badef9
Co-authored-by: Sebastien Mottet <oms@odoo.com>
Co-authored-by: Thibault Delavallée <tde@odoo.com>
2020-06-16 09:14:31 +00:00

294 lines
15 KiB
XML

<?xml version="1.0"?>
<odoo>
<data>
<!-- Event Type -->
<record id="event_type_0" model="event.type">
<field name="name">Exhibition</field>
<field name="auto_confirm" eval="False"/>
<field name="use_mail_schedule" eval="False"/>
</record>
<record id="event_type_1" model="event.type">
<field name="name">Training</field>
<field name="auto_confirm" eval="False"/>
<field name="use_mail_schedule" eval="True"/>
</record>
<record id="event_type_2" model="event.type">
<field name="name">Sport</field>
<field name="auto_confirm" eval="False"/>
<field name="use_mail_schedule" eval="False"/>
<field name="use_timezone" eval="True"/>
<field name="default_timezone">US/Pacific</field>
</record>
<record id="event_type_data_conference" model="event.type">
<field name="use_timezone" eval="True"/>
<field name="default_timezone">Europe/Brussels</field>
</record>
<!-- Category and Tags -->
<record id="event_tag_category_1" model="event.tag.category">
<field name="name">Age</field>
</record>
<record id="event_tag_category_2" model="event.tag.category">
<field name="name">Activity</field>
</record>
<record id="event_tag_category_1_tag_1" model="event.tag">
<field name="name">5-10</field>
<field name="category_id" ref="event_tag_category_1"/>
</record>
<record id="event_tag_category_1_tag_2" model="event.tag">
<field name="name">10-14</field>
<field name="category_id" ref="event_tag_category_1"/>
</record>
<record id="event_tag_category_1_tag_3" model="event.tag">
<field name="name">15-18</field>
<field name="category_id" ref="event_tag_category_1"/>
</record>
<record id="event_tag_category_1_tag_4" model="event.tag">
<field name="name">18+</field>
<field name="category_id" ref="event_tag_category_1"/>
</record>
<record id="event_tag_category_2_tag_1" model="event.tag">
<field name="name">Culture</field>
<field name="category_id" ref="event_tag_category_2"/>
</record>
<record id="event_tag_category_2_tag_2" model="event.tag">
<field name="name">Music</field>
<field name="category_id" ref="event_tag_category_2"/>
</record>
<record id="event_tag_category_2_tag_3" model="event.tag">
<field name="name">Sport</field>
<field name="category_id" ref="event_tag_category_2"/>
</record>
<!-- Event -->
<record id="event.event_0" model="event.event">
<field name="name">Design Fair Los Angeles</field>
<field name="user_id" ref="base.user_demo"/>
<field name="date_begin" eval="(DateTime.now() + timedelta(days=10)).strftime('%Y-%m-%d 08:00:00')"/>
<field name="date_end" eval="(DateTime.now() + timedelta(days=14)).strftime('%Y-%m-%d 18:00:00')"/>
<field name="seats_limited">True</field>
<field name="seats_max">50</field>
<field name="address_id" ref="event.res_partner_location_2"/>
<field name="date_tz">US/Pacific</field>
<field name="event_type_id" ref="event_type_0"/>
<field name="stage_id" ref="event_stage_booked"/>
<field name="tag_ids" eval="[(6, 0, [event_tag_category_1_tag_1,event_tag_category_2_tag_1])]"/>
<field name="event_ticket_ids" eval="False"/>
</record>
<record id="event_0_ticket_0" model="event.event.ticket">
<field name="name">Free</field>
<field name="description">Free entrance, no food !</field>
<field name="event_id" ref="event.event_0"/>
<field name="start_sale_date" eval="(DateTime.today() + timedelta(days=5)).strftime('%Y-%m-%d')"/>
<field name="end_sale_date" eval="(DateTime.today() + timedelta(days=10)).strftime('%Y-%m-%d')"/>
<field name="seats_max">0</field>
</record>
<record id="event_0_ticket_1" model="event.event.ticket">
<field name="name">Standard</field>
<field name="description">For only 10, you gain access to catering. Yum yum.</field>
<field name="event_id" ref="event.event_0"/>
<field name="start_sale_date" eval="(DateTime.today() + timedelta(days=5)).strftime('%Y-%m-%d')"/>
<field name="end_sale_date" eval="(DateTime.today() + timedelta(days=10)).strftime('%Y-%m-%d')"/>
<field name="seats_max">50</field>
</record>
<record id="event_0_ticket_2" model="event.event.ticket">
<field name="name">VIP</field>
<field name="description">You are truly among the best.</field>
<field name="event_id" ref="event.event_0"/>
<field name="start_sale_date" eval="(DateTime.today() + timedelta(days=5)).strftime('%Y-%m-%d')"/>
<field name="end_sale_date" eval="(DateTime.today() + timedelta(days=10)).strftime('%Y-%m-%d')"/>
<field name="seats_max">10</field>
</record>
<record id="event.event_1" model="event.event">
<field name="name">Great Reno Ballon Race</field>
<field name="user_id" ref="base.user_admin"/>
<field eval="(DateTime.today()+ timedelta(days=100)).strftime('%Y-%m-%d 20:15:00')" name="date_begin"/>
<field eval="(DateTime.today()+ timedelta(days=101)).strftime('%Y-%m-%d 00:30:00')" name="date_end"/>
<field name="event_type_id" ref="event_type_2"/>
<field name="address_id" ref="event.res_partner_location_0"/>
<field name="stage_id" ref="event_stage_booked"/>
<field name="kanban_state">blocked</field>
<field name="tag_ids" eval="[(6, 0, [event_tag_category_1_tag_4,event_tag_category_2_tag_3])]"/>
</record>
<record id="message_event_1_0" model="mail.message">
<field name="model">event.event</field>
<field name="res_id" ref="event.event_1"/>
<field name="body" type="html"><p>Hello Marc Demo,<br/>
Our flight authorizations have been revoked due to insurance issues.<br/>
Could you take care of it as soon as possible ?</p>
</field>
<field name="message_type">comment</field>
<field name="subtype_id" ref="mail.mt_comment"/>
<field name="author_id" ref="base.partner_admin"/>
</record>
<record id="message_event_1_1" model="mail.message">
<field name="model">event.event</field>
<field name="res_id" ref="event.event_1"/>
<field name="parent_id" ref="message_event_1_0"/>
<field name="body" type="html"><p>Hi Mitchell Admin,<br/>I will take care of it today !</p></field>
<field name="message_type">comment</field>
<field name="subtype_id" ref="mail.mt_comment"/>
<field name="author_id" ref="base.partner_demo"/>
</record>
<record id="message_event_1_2" model="mail.message">
<field name="model">event.event</field>
<field name="res_id" ref="event.event_1"/>
<field name="parent_id" ref="message_event_1_1"/>
<field name="body" type="html"><p>Great ! This event will stay "blocked" until it is fixed.<br/>
Feel free to green it once everything is in order.</p>
</field>
<field name="message_type">comment</field>
<field name="subtype_id" ref="mail.mt_comment"/>
<field name="author_id" ref="base.partner_admin"/>
</record>
<record id="activity_event_1_0" model="mail.activity">
<field name="res_id" ref="event.event_1" />
<field name="res_model_id" ref="event.model_event_event"/>
<field name="activity_type_id" ref="mail.mail_activity_data_call"/>
<field name="summary">Call the local state house.</field>
<field name="date_deadline" eval="DateTime.today()"/>
<field name="create_uid" ref="base.user_demo"/>
<field name="user_id" ref="base.user_demo"/>
</record>
<record id="event_2" model="event.event">
<field name="name">Conference for Architects</field>
<field name="user_id" ref="base.user_admin"/>
<field eval="(DateTime.today()+ timedelta(days=5)).strftime('%Y-%m-%d 07:00:00')" name="date_begin"/>
<field eval="(DateTime.today()+ timedelta(days=5)).strftime('%Y-%m-%d 16:30:00')" name="date_end"/>
<field name="event_type_id" ref="event_type_data_conference"/>
<field name="address_id" ref="event.res_partner_location_2"/>
<field name="seats_limited">True</field>
<field name="seats_max">200</field>
<field name="stage_id" ref="event_stage_booked"/>
<field name="tag_ids" eval="[(6, 0, [event_tag_category_1_tag_4,event_tag_category_2_tag_1])]"/>
<field name="event_ticket_ids" eval="False"/>
</record>
<record id="event_2_ticket_1" model="event.event.ticket">
<field name="name">Standard</field>
<field name="event_id" ref="event.event_2"/>
<field name="end_sale_date" eval="(DateTime.today() + timedelta(90)).strftime('%Y-%m-%d')"/>
<field name="seats_max">50</field>
</record>
<record id="event_2_ticket_2" model="event.event.ticket">
<field name="name">VIP</field>
<field name="event_id" ref="event.event_2"/>
<field name="end_sale_date" eval="(DateTime.today() + timedelta(60)).strftime('%Y-%m-%d')"/>
<field name="seats_max">5</field>
</record>
<record id="activity_event_2_0" model="mail.activity">
<field name="res_id" ref="event.event_2" />
<field name="res_model_id" ref="event.model_event_event"/>
<field name="activity_type_id" ref="mail.mail_activity_data_call"/>
<field name="summary">Call the caterer.</field>
<field name="date_deadline" eval="(DateTime.today() + relativedelta(days=3)).strftime('%Y-%m-%d %H:%M')"/>
<field name="create_uid" ref="base.user_admin"/>
<field name="user_id" ref="base.user_admin"/>
</record>
<record id="event_2_mail_0" model="event.mail">
<field name="event_id" ref="event.event_2"/>
<field name="template_id" ref="event.event_subscription"/>
</record>
<record id="event.event_3" model="event.event">
<field name="name">Live Music Festival</field>
<field name="user_id" ref="base.user_demo"/>
<field name="date_begin" eval="(DateTime.today()+ timedelta(days=130)).strftime('%Y-%m-%d 20:15:00')"/>
<field name="date_end" eval="(DateTime.today()+ timedelta(days=133)).strftime('%Y-%m-%d 00:30:00')"/>
<field name="event_type_id" ref="event_type_0"/>
<field name="address_id" ref="event.res_partner_location_1"/>
<field name="stage_id" ref="event_stage_announced"/>
<field name="tag_ids" eval="[(6, 0, [event_tag_category_1_tag_3,event_tag_category_2_tag_2])]"/>
<field name="event_ticket_ids" eval="False"/>
</record>
<record id="event_3_ticket_0" model="event.event.ticket">
<field name="name">Standard</field>
<field name="event_id" ref="event.event_3"/>
<field name="end_sale_date" eval="(DateTime.today() + timedelta(days=20)).strftime('%Y-%m-%d')"/>
<field name="seats_max">1200</field>
</record>
<record id="event_3_ticket_1" model="event.event.ticket">
<field name="name">VIP</field>
<field name="event_id" ref="event.event_3"/>
<field name="end_sale_date" eval="(DateTime.today() + timedelta(days=20)).strftime('%Y-%m-%d')"/>
<field name="seats_max">50</field>
</record>
<record id="activity_event_3_0" model="mail.activity">
<field name="res_id" ref="event.event_3" />
<field name="res_model_id" ref="event.model_event_event"/>
<field name="activity_type_id" ref="mail.mail_activity_data_call"/>
<field name="summary">Prepare interview with local media.</field>
<field name="date_deadline" eval="DateTime.today().strftime('%Y-%m-%d %H:%M')"/>
<field name="create_uid" ref="base.user_admin"/>
<field name="user_id" ref="base.user_admin"/>
</record>
<record id="event_3_mail_0" model="event.mail">
<field name="event_id" ref="event.event_3"/>
<field name="template_id" ref="event.event_subscription"/>
</record>
<!-- EVENT_4: very limited, intended to test seats reservation -->
<record id="event.event_4" model="event.event">
<field name="name">Business workshops</field>
<field name="user_id" ref="base.user_admin"/>
<field name="date_begin" eval="(DateTime.today() - timedelta(days=5)).strftime('%Y-%m-%d 18:00:00')"/>
<field name="date_end" eval="(DateTime.today() - timedelta(days=5)).strftime('%Y-%m-%d 22:30:00')"/>
<field name="seats_limited">True</field>
<field name="seats_max">4</field>
<field name="address_id" ref="event.res_partner_location_2"/>
<field name="date_tz">US/Pacific</field>
<field name="event_type_id" ref="event_type_1"/>
<field name="stage_id" ref="event_stage_done"/>
<field name="kanban_state">done</field>
<field name="tag_ids" eval="[(6, 0, [event_tag_category_1_tag_4,event_tag_category_2_tag_1])]"/>
<field name="event_ticket_ids" eval="False"/>
</record>
<record id="event_4_ticket_0" model="event.event.ticket">
<field name="name">General Admission</field>
<field name="event_id" ref="event.event_4"/>
<field name="end_sale_date" eval="(DateTime.today() - timedelta(30)).strftime('%Y-%m-%d')"/>
<field name="seats_max">4</field>
</record>
<record id="activity_event_4_0" model="mail.activity">
<field name="res_id" ref="event.event_4" />
<field name="res_model_id" ref="event.model_event_event"/>
<field name="activity_type_id" ref="mail.mail_activity_data_call"/>
<field name="summary">Prepare after movie.</field>
<field name="date_deadline" eval="(DateTime.today() + relativedelta(days=3)).strftime('%Y-%m-%d %H:%M')"/>
<field name="create_uid" ref="base.user_admin"/>
<field name="user_id" ref="base.user_admin"/>
</record>
<record id="event.event_5" model="event.event">
<field name="name">Hockey Tournament</field>
<field name="user_id" ref="base.user_demo"/>
<field eval="(DateTime.today()+ timedelta(days=370)).strftime('%Y-%m-%d 09:00:00')" name="date_begin"/>
<field eval="(DateTime.today()+ timedelta(days=371)).strftime('%Y-%m-%d 17:00:00')" name="date_end"/>
<field name="event_type_id" ref="event_type_2"/>
<field name="address_id" ref="event.res_partner_location_1"/>
<field name="tag_ids" eval="[(6, 0, [event_tag_category_1_tag_2,event_tag_category_2_tag_3])]"/>
</record>
<record id="event.event_6" model="event.event">
<field name="name">An unpublished event</field>
<field name="user_id" ref="base.user_admin"/>
<field eval="(DateTime.today()+ timedelta(days=30)).strftime('%Y-%m-%d 09:30:00')" name="date_begin"/>
<field eval="(DateTime.today()+ timedelta(days=30)).strftime('%Y-%m-%d 17:30:00')" name="date_end"/>
<field name="event_type_id" ref="event_type_0"/>
<field name="address_id" ref="event.res_partner_location_1"/>
</record>
</data>
</odoo>