[FW][MERGE] (website_)event(_track): prepares views and frontend flows for Online

RATIONALE

Even will soon gain a major update called Event Online, allowing to better
support full-online events. In order to prepare its merge, preparatory merge
are done to lessen the final diff.

PURPOSE

Prepare Event Online support by providing fixes in registration and event
frontend flows. Also provide a quick back2basic in backend views to prepare
addition of Online sub modules.

SPECIFICATIONS

Event flow
  * improve (and fix) default email templates. Notably fix broken jinja code
    and reorganize email content;
  * tweak some views to help sub modules inheritance;
  * improve backend views of event / registration / tickets to ease daily use
    of event application;

Website
  * support add_direction in duration qweb widget

Website Event
  * allow to give a placeholder to website search box;
  * improve frontend page to ease registration flow: better introduction page,
    fix mobile issues when taking registrations, slightly improve 'all events'
    page;

See sub commits for more details.

MIGRATION / UPDATE

Records (mail templates)
  * event.event_subscription
  * event.event_reminder

Views
  * event.event_tag_view_form
  * event.view_event_form
  * event.view_event_registration_tree
  * event.event_event_ticket_view_tree_from_event
  * event.view_event_type_form
  * event_sale.view_event_registration_ticket_tree
  * website_event.event_type_view_form_inherit_website
  * website_event_track.event_sponsor_view_search
  * website_event_track.event_sponsor_view_form
  * website_event_track.event_sponsor_view_tree
  * website_event_track.event_type_view_form_inherit_track
  * website_event_track.view_event_form

Actions
  * website_event_track.event_sponsor_action_from_event

Templates
  * website_event.index_topbar
  * website_event.events_list
  * website_event.event_description_full
  * website_event.registration_template
  * website_event.registration_complete
  * website_event.template_intro
  * website_event_track.agenda
  * website_event_track.event_track_proposal

LINKS

Community PR #55197
Enterprise PR odoo/enterprise#12113

Task ID-2287372 (Fix Twitter Wall)
Task ID-2309702 (Event Preparatory Merge 4)
Prepares Task ID-2252655 (Main Online Event task)
Prepares Task ID-2283796 (Event B2Basics / Registration Flow)
Prepares Task ID-2299857 (Event Design Review)
Prepares Task ID-2291344 (Integrate Twitter Wall)

closes odoo/odoo#55269

Forward-port-of: odoo/odoo#55219
Forward-port-of: odoo/odoo#55197
Related: odoo/enterprise#12147
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
This commit is contained in:
Odoo's Mergebot
2020-07-31 19:01:26 +02:00
committed by GitHub
27 changed files with 760 additions and 594 deletions
+223 -167
View File
@@ -37,6 +37,9 @@
<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">
% set date_begin = format_datetime(object.event_id.date_begin, tz='UTC', dt_format='%Y%m%dT%H%M%SZ')
% set date_end = format_datetime(object.event_id.date_end, tz='UTC', dt_format='%Y%m%dT%H%M%SZ')
% set is_online = 'is_published' in object.event_id and object.event_id.is_published
% set event_organizer = object.event_id.organizer_id
% set event_address = 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 -->
@@ -49,7 +52,14 @@
${object.name}
</span>
</td><td valign="middle" align="right">
% if is_online
<a 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>
% else
<img src="${'/logo.png?company=%s' % object.company_id.id}" style="padding: 0px; margin: 0px; height: auto; width: 80px;" alt="${'%s' % object.company_id.name}"/>
% endif
</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;"/>
@@ -65,27 +75,31 @@
<div>
Hello ${object.name or ''},<br/>
We are happy to confirm your registration to the event
% if 'website_published' in object.event_id and object.event_id.website_published:
% if is_online:
<a href="${object.event_id.website_url}" style="color:#875A7B;text-decoration:none;">${object.event_id.name}</a>
% else:
<strong>${object.event_id.name}</strong>
% endif
for attendee ${object.name}.
</div>
% if 'website_published' in object.event_id and object.event_id.website_published:
<div style="margin: 16px 0px 16px 0px;">
<a href="${object.event_id.website_url}"
style="background-color: #875A7B; padding: 8px 16px 8px 16px; text-decoration: none; color: #fff; border-radius: 5px; font-size:16px;">View Event</a><br />
<div>
<br />
<strong>Add this event to your calendar</strong>
<a href="https://www.google.com/calendar/render?action=TEMPLATE&amp;text=${object.event_id.name}&amp;dates=${date_begin}/${date_end}&amp;location=${location}" style="padding:3px 5px;border:1px solid #875A7B;color:#875A7B;text-decoration:none;border-radius:3px;" target="new"><img src="/web_editor/font_to_img/61525/rgb(135,90,123)/16" style="vertical-align:middle;" height="16" alt=""/> Google</a>
<a href="/event/${slug(object.event_id)}/ics" style="padding:3px 5px;border:1px solid #875A7B;color:#875A7B;text-decoration:none;border-radius:3px;"><img src="/web_editor/font_to_img/61525/rgb(135,90,123)/16" style="vertical-align:middle;" height="16" alt=""/> iCal/Outlook</a>
<a href="https://calendar.yahoo.com/?v=60&amp;view=d&amp;type=20&amp;title=${object.event_id.name}&amp;in_loc=${location}&amp;st=${format_datetime(object.event_id.date_begin, tz='UTC', dt_format='%Y%m%dT%H%M%S')}&amp;et=${format_datetime(object.event_id.date_end, tz='UTC', dt_format='%Y%m%dT%H%M%S')}" style="padding:3px 5px;border:1px solid #875A7B;color:#875A7B;text-decoration:none;border-radius:3px;" target="new">
<img src="/web_editor/font_to_img/61525/rgb(135,90,123)/16" style="vertical-align:middle;" height="16" alt=""/> Yahoo
</a>
<br /><br />
</div>
% endif
<div>
See you soon,<br/>
<span style="color: #454748;">
-- <br/>
% if object.event_id.organizer_id:
${object.event_id.organizer_id.name}
% if event_organizer:
${event_organizer.name}
% else:
The organizers.
The ${object.event_id.name} Team
% endif
</span>
</div>
@@ -111,84 +125,98 @@
<div><strong>To</strong> ${object.event_id.date_end_located}</div>
<div style="font-size:12px;color:#9e9e9e"><i><strong>TZ</strong> ${object.event_id.date_tz}</i></div>
</td>
% if object.event_id.address_id.country_id.name:
<td style="vertical-align:top;">
<img src="/web_editor/font_to_img/61505/rgb(81,81,102)/34" style="padding:4px;max-width:inherit;" height="34" alt=""/>
</td>
<td style="padding: 0px 10px 0px 10px;width:50%;vertical-align:top;">
% set location = ''
% if object.event_id.address_id.name:
<div>${object.event_id.address_id.name}</div>
% endif
% if object.event_id.address_id.street:
<div>${object.event_id.address_id.street}</div>
% set location = object.event_id.address_id.street
% endif
% if object.event_id.address_id.street2:
<div>${object.event_id.address_id.street2}</div>
% set location = '%s, %s' % (location, object.event_id.address_id.street2)
% endif
<div>
% if object.event_id.address_id.city:
${object.event_id.address_id.city},
% set location = '%s, %s' % (location, object.event_id.address_id.city)
% endif
% if object.event_id.address_id.state_id.name:
${object.event_id.address_id.state_id.name},
% set location = '%s, %s' % (location, object.event_id.address_id.state_id.name)
% endif
% if object.event_id.address_id.zip:
${object.event_id.address_id.zip}
% set location = '%s, %s' % (location, object.event_id.address_id.zip)
% endif
</div>
% if object.event_id.address_id.country_id.name:
<div>${object.event_id.address_id.country_id.name}</div>
% set location = '%s, %s' % (location, object.event_id.address_id.country_id.name)
% endif
</td>
% endif
</tr>
</table>
</td></tr>
<tr><td 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>
% if object.event_id.organizer_id:
<tr><td valign="top" style="font-size: 14px;">
<div>
<span style="font-weight:300;margin:10px 0px">Questions about this event?</span>
<div>Please contact the organizer:</div>
<ul>
<li>${object.event_id.organizer_id.name}</li>
% if object.event_id.organizer_id.email
<li>Mail: <a href="mailto:${object.event_id.organizer_id.email}" style="text-decoration:none;color:#875A7B;">${object.event_id.organizer_id.email}</a></li>
% endif
% if object.event_id.organizer_id.phone
<li>Phone: ${object.event_id.organizer_id.phone}</li>
% endif
</ul>
</div>
</td></tr>
% endif
<tr><td valign="top" style="font-size: 14px;">
<table style="width:100%;border-top:1px solid #e1e1e1;">
<tr>
<td style="padding:25px 0px;">
<strong>Add this event to your calendar</strong>
<a href="https://www.google.com/calendar/render?action=TEMPLATE&amp;text=${object.event_id.name}&amp;dates=${date_begin}/${date_end}&amp;location=${location}" style="padding:3px 5px;border:1px solid #875A7B;color:#875A7B;text-decoration:none;border-radius:3px;" target="new"><img src="/web_editor/font_to_img/61525/rgb(135,90,123)/16" style="vertical-align:middle;" height="16" alt=""/> Google</a>
<a href="/event/${slug(object.event_id)}/ics" style="padding:3px 5px;border:1px solid #875A7B;color:#875A7B;text-decoration:none;border-radius:3px;"><img src="/web_editor/font_to_img/61525/rgb(135,90,123)/16" style="vertical-align:middle;" height="16" alt=""/> iCal/Outlook</a>
<a href="https://calendar.yahoo.com/?v=60&amp;view=d&amp;type=20&amp;title=${object.event_id.name}&amp;in_loc=${location}&amp;st=${format_datetime(object.event_id.date_begin, tz='UTC', dt_format='%Y%m%dT%H%M%S')}&amp;et=${format_datetime(object.event_id.date_end, tz='UTC', dt_format='%Y%m%dT%H%M%S')}" style="padding:3px 5px;border:1px solid #875A7B;color:#875A7B;text-decoration:none;border-radius:3px;" target="new">
<img src="/web_editor/font_to_img/61525/rgb(135,90,123)/16" style="vertical-align:middle;" height="16" alt=""/> Yahoo</a>
<td style="vertical-align:top;">
% if event_address:
<img src="/web_editor/font_to_img/61505/rgb(81,81,102)/34" style="padding:4px;max-width:inherit;" height="34" alt=""/>
% endif
</td>
<td style="padding: 0px 10px 0px 10px;width:50%;vertical-align:top;">
% if event_address:
% set location = ''
% if object.event_id.address_id.name:
<div>${object.event_id.address_id.name}</div>
% endif
% if object.event_id.address_id.street:
<div>${object.event_id.address_id.street}</div>
% set location = object.event_id.address_id.street
% endif
% if object.event_id.address_id.street2:
<div>${object.event_id.address_id.street2}</div>
% set location = '%s, %s' % (location, object.event_id.address_id.street2)
% endif
<div>
% if object.event_id.address_id.city:
${object.event_id.address_id.city},
% set location = '%s, %s' % (location, object.event_id.address_id.city)
% endif
% if object.event_id.address_id.state_id.name:
${object.event_id.address_id.state_id.name},
% set location = '%s, %s' % (location, object.event_id.address_id.state_id.name)
% endif
% if object.event_id.address_id.zip:
${object.event_id.address_id.zip}
% set location = '%s, %s' % (location, object.event_id.address_id.zip)
% endif
</div>
% if object.event_id.address_id.country_id.name:
<div>${object.event_id.address_id.country_id.name}</div>
% set location = '%s, %s' % (location, object.event_id.address_id.country_id.name)
% endif
% endif
</td>
</tr>
</table>
</td></tr>
<tr><td 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;"/>
% if event_organizer
<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;"/>
% endif
</td></tr>
% if object.event_id.address_id:
<tr><td valign="top" style="font-size: 14px;">
<!-- CONTACT ORGANIZER -->
% if event_organizer:
<div>
<span style="font-weight:300;margin:10px 0px">Questions about this event?</span>
<div>Please contact the organizer:</div>
<ul>
<li>${event_organizer.name}</li>
% if event_organizer.email
<li>Mail: <a href="mailto:${event_organizer.email}" style="text-decoration:none;color:#875A7B;">${event_organizer.email}</a></li>
% endif
% if event_organizer.phone
<li>Phone: ${event_organizer.phone}</li>
% endif
</ul>
</div>
% endif
</td></tr>
<tr><td style="text-align:center;">
<!-- CONTACT ORGANIZER SEPARATION -->
% if is_online or event_address:
<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;"/>
% endif
</td></tr>
<tr><td valign="top" style="font-size: 14px;">
<!-- PWA MARKGETING -->
% if is_online:
<div>
<strong>Get the best mobile experience.</strong>
<a href="/event">Install our mobile app</a>
</div>
% endif
</td></tr>
<tr><td style="text-align:center;">
<!-- PWA MARKGETING SEPARATION-->
% if is_online and event_address:
<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;"/>
% endif
</td></tr>
<tr><td valign="top" style="font-size: 14px;">
<!-- GOOGLE MAPS LINK -->
% if event_address:
<table style="width:100%;"><tr><td>
<div>
<a href="https://maps.google.com/maps?q=${location}" target="new">
@@ -196,8 +224,8 @@
</a>
</div>
</td></tr></table>
% endif
</td></tr>
% endif
</table>
</td>
</tr>
@@ -205,19 +233,19 @@
</table>
</td></tr>
<!-- FOOTER BY -->
% if object.company_id
<tr><td align="center" style="min-width: 590px;">
% if object.company_id
<table 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" href="${object.company_id.website}" style="color: #875A7B;">${object.company_id.name}</a>
% if 'website_url' in object.event_id and object.event_id.website_url:
% if is_online:
<br />
Discover <a href="/event" style="text-decoration:none;color:#717188;">all our events</a>.
% endif
</td></tr>
</table>
% endif
</td></tr>
% endif
</table>
</field>
<field name="lang">${object.partner_id.lang}</field>
@@ -233,6 +261,9 @@
<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">
% set date_begin = format_datetime(object.event_id.date_begin, tz='UTC', dt_format='%Y%m%dT%H%M%SZ')
% set date_end = format_datetime(object.event_id.date_end, tz='UTC', dt_format='%Y%m%dT%H%M%SZ')
% set is_online = 'is_published' in object.event_id and object.event_id.is_published
% set event_organizer = object.event_id.organizer_id
% set event_address = 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 -->
@@ -245,7 +276,14 @@
${object.name}
</span>
</td><td valign="middle" align="right">
% if is_online
<a 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>
% else
<img src="${'/logo.png?company=%s' % object.company_id.id}" style="padding: 0px; margin: 0px; height: auto; width: 80px;" alt="${'%s' % object.company_id.name}"/>
% endif
</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;"/>
@@ -261,27 +299,31 @@
<div>
Hello ${object.name},<br/>
We are excited to remind you that the event
% if 'website_published' in object.event_id and object.event_id.website_published:
% if is_online:
<a href="${object.event_id.website_url}" style="color:#875A7B;text-decoration:none;">${object.event_id.name}</a>
% else:
<strong>${object.event_id.name}</strong>
% endif
is starting <strong>${object.get_date_range_str()}</strong>.
</div>
% if 'website_published' in object.event_id and object.event_id.website_published:
<div style="margin: 16px 0px 16px 0px;">
<a href="${object.event_id.website_url}"
style="background-color: #875A7B; padding: 8px 16px 8px 16px; text-decoration: none; color: #fff; border-radius: 5px; font-size:16px;">View Event</a><br />
<div>
<br />
<strong>Add this event to your calendar</strong>
<a href="https://www.google.com/calendar/render?action=TEMPLATE&amp;text=${object.event_id.name}&amp;dates=${date_begin}/${date_end}&amp;location=${location}" style="padding:3px 5px;border:1px solid #875A7B;color:#875A7B;text-decoration:none;border-radius:3px;" target="new"><img src="/web_editor/font_to_img/61525/rgb(135,90,123)/16" style="vertical-align:middle;" height="16" alt=""/> Google</a>
<a href="/event/${slug(object.event_id)}/ics" style="padding:3px 5px;border:1px solid #875A7B;color:#875A7B;text-decoration:none;border-radius:3px;"><img src="/web_editor/font_to_img/61525/rgb(135,90,123)/16" style="vertical-align:middle;" height="16" alt=""/> iCal/Outlook</a>
<a href="https://calendar.yahoo.com/?v=60&amp;view=d&amp;type=20&amp;title=${object.event_id.name}&amp;in_loc=${location}&amp;st=${format_datetime(object.event_id.date_begin, tz='UTC', dt_format='%Y%m%dT%H%M%S')}&amp;et=${format_datetime(object.event_id.date_end, tz='UTC', dt_format='%Y%m%dT%H%M%S')}" style="padding:3px 5px;border:1px solid #875A7B;color:#875A7B;text-decoration:none;border-radius:3px;" target="new">
<img src="/web_editor/font_to_img/61525/rgb(135,90,123)/16" style="vertical-align:middle;" height="16" alt=""/> Yahoo
</a>
<br /><br />
</div>
% endif
<div>
We confirm your registration and hope to meet you there,<br/>
<span style="color: #454748;">
-- <br/>
% if object.event_id.organizer_id:
${object.event_id.organizer_id.name}
% if event_organizer:
${event_organizer.name}
% else:
The organizers.
The ${object.event_id.name} Team
% endif
</span>
</div>
@@ -307,84 +349,98 @@
<div><strong>To</strong> ${object.event_id.date_end_located}</div>
<div style="font-size:12px;color:#9e9e9e"><i><strong>TZ</strong> ${object.event_id.date_tz}</i></div>
</td>
% if object.event_id.address_id.country_id.name:
<td style="vertical-align:top;">
<img src="/web_editor/font_to_img/61505/rgb(81,81,102)/34" style="padding:4px;max-width:inherit;" height="34" alt=""/>
</td>
<td style="padding: 0px 10px 0px 10px;width:50%;vertical-align:top;">
% set location = ''
% if object.event_id.address_id.name:
<div>${object.event_id.address_id.name}</div>
% endif
% if object.event_id.address_id.street:
<div>${object.event_id.address_id.street}</div>
% set location = object.event_id.address_id.street
% endif
% if object.event_id.address_id.street2:
<div>${object.event_id.address_id.street2}</div>
% set location = '%s, %s' % (location, object.event_id.address_id.street2)
% endif
<div>
% if object.event_id.address_id.city:
${object.event_id.address_id.city},
% set location = '%s, %s' % (location, object.event_id.address_id.city)
% endif
% if object.event_id.address_id.state_id.name:
${object.event_id.address_id.state_id.name},
% set location = '%s, %s' % (location, object.event_id.address_id.state_id.name)
% endif
% if object.event_id.address_id.zip:
${object.event_id.address_id.zip}
% set location = '%s, %s' % (location, object.event_id.address_id.zip)
% endif
</div>
% if object.event_id.address_id.country_id.name:
<div>${object.event_id.address_id.country_id.name}</div>
% set location = '%s, %s' % (location, object.event_id.address_id.country_id.name)
% endif
</td>
% endif
</tr>
</table>
</td></tr>
<tr><td 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>
% if object.event_id.organizer_id:
<tr><td valign="top" style="font-size: 14px;">
<div>
<span style="font-weight:300;margin:10px 0px">Questions about this event?</span>
<div>Please contact the organizer:</div>
<ul>
<li>${object.event_id.organizer_id.name}</li>
% if object.event_id.organizer_id.email
<li>Mail: <a href="mailto:${object.event_id.organizer_id.email}" style="text-decoration:none;color:#875A7B;">${object.event_id.organizer_id.email}</a></li>
% endif
% if object.event_id.organizer_id.phone
<li>Phone: ${object.event_id.organizer_id.phone}</li>
% endif
</ul>
</div>
</td></tr>
% endif
<tr><td valign="top" style="font-size: 14px;">
<table style="width:100%;border-top:1px solid #e1e1e1;">
<tr>
<td style="padding:25px 0px;">
<strong>Add this event to your calendar</strong>
<a href="https://www.google.com/calendar/render?action=TEMPLATE&amp;text=${object.event_id.name}&amp;dates=${date_begin}/${date_end}&amp;location=${location}" style="padding:3px 5px;border:1px solid #875A7B;color:#875A7B;text-decoration:none;border-radius:3px;" target="new"><img src="/web_editor/font_to_img/61525/rgb(135,90,123)/16" style="vertical-align:middle;" height="16" alt=""/> Google</a>
<a href="/event/${slug(object.event_id)}/ics" style="padding:3px 5px;border:1px solid #875A7B;color:#875A7B;text-decoration:none;border-radius:3px;"><img src="/web_editor/font_to_img/61525/rgb(135,90,123)/16" style="vertical-align:middle;" height="16" alt=""/> iCal/Outlook</a>
<a href="https://calendar.yahoo.com/?v=60&amp;view=d&amp;type=20&amp;title=${object.event_id.name}&amp;in_loc=${location}&amp;st=${format_datetime(object.event_id.date_begin, tz='UTC', dt_format='%Y%m%dT%H%M%S')}&amp;et=${format_datetime(object.event_id.date_end, tz='UTC', dt_format='%Y%m%dT%H%M%S')}" style="padding:3px 5px;border:1px solid #875A7B;color:#875A7B;text-decoration:none;border-radius:3px;" target="new">
<img src="/web_editor/font_to_img/61525/rgb(135,90,123)/16" style="vertical-align:middle;" height="16" alt=""/> Yahoo</a>
<td style="vertical-align:top;">
% if event_address:
<img src="/web_editor/font_to_img/61505/rgb(81,81,102)/34" style="padding:4px;max-width:inherit;" height="34" alt=""/>
% endif
</td>
<td style="padding: 0px 10px 0px 10px;width:50%;vertical-align:top;">
% if event_address:
% set location = ''
% if object.event_id.address_id.name:
<div>${object.event_id.address_id.name}</div>
% endif
% if object.event_id.address_id.street:
<div>${object.event_id.address_id.street}</div>
% set location = object.event_id.address_id.street
% endif
% if object.event_id.address_id.street2:
<div>${object.event_id.address_id.street2}</div>
% set location = '%s, %s' % (location, object.event_id.address_id.street2)
% endif
<div>
% if object.event_id.address_id.city:
${object.event_id.address_id.city},
% set location = '%s, %s' % (location, object.event_id.address_id.city)
% endif
% if object.event_id.address_id.state_id.name:
${object.event_id.address_id.state_id.name},
% set location = '%s, %s' % (location, object.event_id.address_id.state_id.name)
% endif
% if object.event_id.address_id.zip:
${object.event_id.address_id.zip}
% set location = '%s, %s' % (location, object.event_id.address_id.zip)
% endif
</div>
% if object.event_id.address_id.country_id.name:
<div>${object.event_id.address_id.country_id.name}</div>
% set location = '%s, %s' % (location, object.event_id.address_id.country_id.name)
% endif
% endif
</td>
</tr>
</table>
</td></tr>
<tr><td 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;"/>
% if event_organizer
<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;"/>
% endif
</td></tr>
% if object.event_id.address_id:
<tr><td valign="top" style="font-size: 14px;">
<!-- CONTACT ORGANIZER -->
% if event_organizer:
<div>
<span style="font-weight:300;margin:10px 0px">Questions about this event?</span>
<div>Please contact the organizer:</div>
<ul>
<li>${event_organizer.name}</li>
% if event_organizer.email
<li>Mail: <a href="mailto:${event_organizer.email}" style="text-decoration:none;color:#875A7B;">${event_organizer.email}</a></li>
% endif
% if event_organizer.phone
<li>Phone: ${event_organizer.phone}</li>
% endif
</ul>
</div>
% endif
</td></tr>
<tr><td style="text-align:center;">
<!-- CONTACT ORGANIZER SEPARATION -->
% if is_online or event_address:
<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;"/>
% endif
</td></tr>
<tr><td valign="top" style="font-size: 14px;">
<!-- PWA MARKGETING -->
% if is_online:
<div>
<strong>Get the best mobile experience.</strong>
<a href="/event">Install our mobile app</a>
</div>
% endif
</td></tr>
<tr><td style="text-align:center;">
<!-- PWA MARKGETING SEPARATION-->
% if is_online and event_address:
<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;"/>
% endif
</td></tr>
<tr><td valign="top" style="font-size: 14px;">
<!-- GOOGLE MAPS LINK -->
% if event_address:
<table style="width:100%;"><tr><td>
<div>
<a href="https://maps.google.com/maps?q=${location}" target="new">
@@ -392,8 +448,8 @@
</a>
</div>
</td></tr></table>
% endif
</td></tr>
% endif
</table>
</td>
</tr>
@@ -401,8 +457,8 @@
</table>
</td></tr>
<!-- FOOTER BY -->
% if object.company_id
<tr><td align="center" style="min-width: 590px;">
% if object.company_id
<table 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" href="${object.company_id.website}" style="color: #875A7B;">${object.company_id.name}</a>
@@ -412,8 +468,8 @@
% endif
</td></tr>
</table>
% endif
</td></tr>
% endif
</table>
</field>
<field name="lang">${object.partner_id.lang}</field>
+223 -175
View File
@@ -122,6 +122,9 @@ msgid ""
"<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\">\n"
"% set date_begin = format_datetime(object.event_id.date_begin, tz='UTC', dt_format='%Y%m%dT%H%M%SZ')\n"
"% set date_end = format_datetime(object.event_id.date_end, tz='UTC', dt_format='%Y%m%dT%H%M%SZ')\n"
"% set is_online = 'is_published' in object.event_id and object.event_id.is_published\n"
"% set event_organizer = object.event_id.organizer_id\n"
"% set event_address = object.event_id.address_id\n"
"<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"590\" style=\"padding: 16px; background-color: white; color: #454748; border-collapse:separate;\">\n"
"<tbody>\n"
" <!-- HEADER -->\n"
@@ -134,7 +137,13 @@ msgid ""
" ${object.name}\n"
" </span>\n"
" </td><td valign=\"middle\" align=\"right\">\n"
" % if is_online\n"
" <a 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\">\n"
" View Event\n"
" </a>\n"
" % else\n"
" <img src=\"${'/logo.png?company=%s' % object.company_id.id}\" style=\"padding: 0px; margin: 0px; height: auto; width: 80px;\" alt=\"${'%s' % object.company_id.name}\"/>\n"
" % endif\n"
" </td></tr>\n"
" <tr><td colspan=\"2\" style=\"text-align:center;\">\n"
" <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;\"/>\n"
@@ -150,26 +159,31 @@ msgid ""
" <div>\n"
" Hello ${object.name or ''},<br/>\n"
" We are happy to confirm your registration to the event\n"
" % if 'website_published' in object.event_id and object.event_id.website_published:\n"
" % if is_online:\n"
" <a href=\"${object.event_id.website_url}\" style=\"color:#875A7B;text-decoration:none;\">${object.event_id.name}</a>\n"
" % else:\n"
" <strong>${object.event_id.name}</strong>\n"
" % endif\n"
" for attendee ${object.name}.\n"
" </div>\n"
" % if 'website_published' in object.event_id and object.event_id.website_published:\n"
" <div style=\"margin: 16px 0px 16px 0px;\">\n"
" <a href=\"${object.event_id.website_url}\" style=\"background-color: #875A7B; padding: 8px 16px 8px 16px; text-decoration: none; color: #fff; border-radius: 5px; font-size:16px;\">View Event</a><br/>\n"
" <div>\n"
" <br/>\n"
" <strong>Add this event to your calendar</strong>\n"
" <a href=\"https://www.google.com/calendar/render?action=TEMPLATE&amp;text=${object.event_id.name}&amp;dates=${date_begin}/${date_end}&amp;location=${location}\" style=\"padding:3px 5px;border:1px solid #875A7B;color:#875A7B;text-decoration:none;border-radius:3px;\" target=\"new\"><img src=\"/web_editor/font_to_img/61525/rgb(135,90,123)/16\" style=\"vertical-align:middle;\" height=\"16\" alt=\"\"/> Google</a>\n"
" <a href=\"/event/${slug(object.event_id)}/ics\" style=\"padding:3px 5px;border:1px solid #875A7B;color:#875A7B;text-decoration:none;border-radius:3px;\"><img src=\"/web_editor/font_to_img/61525/rgb(135,90,123)/16\" style=\"vertical-align:middle;\" height=\"16\" alt=\"\"/> iCal/Outlook</a>\n"
" <a href=\"https://calendar.yahoo.com/?v=60&amp;view=d&amp;type=20&amp;title=${object.event_id.name}&amp;in_loc=${location}&amp;st=${format_datetime(object.event_id.date_begin, tz='UTC', dt_format='%Y%m%dT%H%M%S')}&amp;et=${format_datetime(object.event_id.date_end, tz='UTC', dt_format='%Y%m%dT%H%M%S')}\" style=\"padding:3px 5px;border:1px solid #875A7B;color:#875A7B;text-decoration:none;border-radius:3px;\" target=\"new\">\n"
" <img src=\"/web_editor/font_to_img/61525/rgb(135,90,123)/16\" style=\"vertical-align:middle;\" height=\"16\" alt=\"\"/> Yahoo\n"
" </a>\n"
" <br/><br/>\n"
" </div>\n"
" % endif\n"
" <div>\n"
" See you soon,<br/>\n"
" <span style=\"color: #454748;\">\n"
" -- <br/>\n"
" % if object.event_id.organizer_id:\n"
" ${object.event_id.organizer_id.name}\n"
" % if event_organizer:\n"
" ${event_organizer.name}\n"
" % else:\n"
" The organizers.\n"
" The ${object.event_id.name} Team\n"
" % endif\n"
" </span>\n"
" </div>\n"
@@ -195,84 +209,98 @@ msgid ""
" <div><strong>To</strong> ${object.event_id.date_end_located}</div>\n"
" <div style=\"font-size:12px;color:#9e9e9e\"><i><strong>TZ</strong> ${object.event_id.date_tz}</i></div>\n"
" </td>\n"
" % if object.event_id.address_id.country_id.name:\n"
" <td style=\"vertical-align:top;\">\n"
" <img src=\"/web_editor/font_to_img/61505/rgb(81,81,102)/34\" style=\"padding:4px;max-width:inherit;\" height=\"34\" alt=\"\"/>\n"
" </td>\n"
" <td style=\"padding: 0px 10px 0px 10px;width:50%;vertical-align:top;\">\n"
" % set location = ''\n"
" % if object.event_id.address_id.name:\n"
" <div>${object.event_id.address_id.name}</div>\n"
" % endif\n"
" % if object.event_id.address_id.street:\n"
" <div>${object.event_id.address_id.street}</div>\n"
" % set location = object.event_id.address_id.street\n"
" % endif\n"
" % if object.event_id.address_id.street2:\n"
" <div>${object.event_id.address_id.street2}</div>\n"
" % set location = '%s, %s' % (location, object.event_id.address_id.street2)\n"
" % endif\n"
" <div>\n"
" % if object.event_id.address_id.city:\n"
" ${object.event_id.address_id.city},\n"
" % set location = '%s, %s' % (location, object.event_id.address_id.city)\n"
" % endif\n"
" % if object.event_id.address_id.state_id.name:\n"
" ${object.event_id.address_id.state_id.name},\n"
" % set location = '%s, %s' % (location, object.event_id.address_id.state_id.name)\n"
" % endif\n"
" % if object.event_id.address_id.zip:\n"
" ${object.event_id.address_id.zip}\n"
" % set location = '%s, %s' % (location, object.event_id.address_id.zip)\n"
" % endif\n"
" </div>\n"
" % if object.event_id.address_id.country_id.name:\n"
" <div>${object.event_id.address_id.country_id.name}</div>\n"
" % set location = '%s, %s' % (location, object.event_id.address_id.country_id.name)\n"
" % endif\n"
" </td>\n"
" % endif\n"
" </tr>\n"
" </table>\n"
" </td></tr>\n"
" <tr><td style=\"text-align:center;\">\n"
" <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;\"/>\n"
" </td></tr>\n"
" % if object.event_id.organizer_id:\n"
" <tr><td valign=\"top\" style=\"font-size: 14px;\">\n"
" <div>\n"
" <span style=\"font-weight:300;margin:10px 0px\">Questions about this event?</span>\n"
" <div>Please contact the organizer:</div>\n"
" <ul>\n"
" <li>${object.event_id.organizer_id.name}</li>\n"
" % if object.event_id.organizer_id.email\n"
" <li>Mail: <a href=\"mailto:${object.event_id.organizer_id.email}\" style=\"text-decoration:none;color:#875A7B;\">${object.event_id.organizer_id.email}</a></li>\n"
" % endif\n"
" % if object.event_id.organizer_id.phone\n"
" <li>Phone: ${object.event_id.organizer_id.phone}</li>\n"
" % endif\n"
" </ul>\n"
" </div>\n"
" </td></tr>\n"
" % endif\n"
" <tr><td valign=\"top\" style=\"font-size: 14px;\">\n"
" <table style=\"width:100%;border-top:1px solid #e1e1e1;\">\n"
" <tr>\n"
" <td style=\"padding:25px 0px;\">\n"
" <strong>Add this event to your calendar</strong>\n"
" <a href=\"https://www.google.com/calendar/render?action=TEMPLATE&amp;text=${object.event_id.name}&amp;dates=${date_begin}/${date_end}&amp;location=${location}\" style=\"padding:3px 5px;border:1px solid #875A7B;color:#875A7B;text-decoration:none;border-radius:3px;\" target=\"new\"><img src=\"/web_editor/font_to_img/61525/rgb(135,90,123)/16\" style=\"vertical-align:middle;\" height=\"16\" alt=\"\"/> Google</a>\n"
" <a href=\"/event/${slug(object.event_id)}/ics\" style=\"padding:3px 5px;border:1px solid #875A7B;color:#875A7B;text-decoration:none;border-radius:3px;\"><img src=\"/web_editor/font_to_img/61525/rgb(135,90,123)/16\" style=\"vertical-align:middle;\" height=\"16\" alt=\"\"/> iCal/Outlook</a>\n"
" <a href=\"https://calendar.yahoo.com/?v=60&amp;view=d&amp;type=20&amp;title=${object.event_id.name}&amp;in_loc=${location}&amp;st=${format_datetime(object.event_id.date_begin, tz='UTC', dt_format='%Y%m%dT%H%M%S')}&amp;et=${format_datetime(object.event_id.date_end, tz='UTC', dt_format='%Y%m%dT%H%M%S')}\" style=\"padding:3px 5px;border:1px solid #875A7B;color:#875A7B;text-decoration:none;border-radius:3px;\" target=\"new\">\n"
" <img src=\"/web_editor/font_to_img/61525/rgb(135,90,123)/16\" style=\"vertical-align:middle;\" height=\"16\" alt=\"\"/> Yahoo</a>\n"
" <td style=\"vertical-align:top;\">\n"
" % if event_address:\n"
" <img src=\"/web_editor/font_to_img/61505/rgb(81,81,102)/34\" style=\"padding:4px;max-width:inherit;\" height=\"34\" alt=\"\"/>\n"
" % endif\n"
" </td>\n"
" <td style=\"padding: 0px 10px 0px 10px;width:50%;vertical-align:top;\">\n"
" % if event_address:\n"
" % set location = ''\n"
" % if object.event_id.address_id.name:\n"
" <div>${object.event_id.address_id.name}</div>\n"
" % endif\n"
" % if object.event_id.address_id.street:\n"
" <div>${object.event_id.address_id.street}</div>\n"
" % set location = object.event_id.address_id.street\n"
" % endif\n"
" % if object.event_id.address_id.street2:\n"
" <div>${object.event_id.address_id.street2}</div>\n"
" % set location = '%s, %s' % (location, object.event_id.address_id.street2)\n"
" % endif\n"
" <div>\n"
" % if object.event_id.address_id.city:\n"
" ${object.event_id.address_id.city},\n"
" % set location = '%s, %s' % (location, object.event_id.address_id.city)\n"
" % endif\n"
" % if object.event_id.address_id.state_id.name:\n"
" ${object.event_id.address_id.state_id.name},\n"
" % set location = '%s, %s' % (location, object.event_id.address_id.state_id.name)\n"
" % endif\n"
" % if object.event_id.address_id.zip:\n"
" ${object.event_id.address_id.zip}\n"
" % set location = '%s, %s' % (location, object.event_id.address_id.zip)\n"
" % endif\n"
" </div>\n"
" % if object.event_id.address_id.country_id.name:\n"
" <div>${object.event_id.address_id.country_id.name}</div>\n"
" % set location = '%s, %s' % (location, object.event_id.address_id.country_id.name)\n"
" % endif\n"
" % endif\n"
" </td>\n"
" </tr>\n"
" </table>\n"
" </td></tr>\n"
" <tr><td style=\"text-align:center;\">\n"
" <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;\"/>\n"
" % if event_organizer\n"
" <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;\"/>\n"
" % endif\n"
" </td></tr>\n"
" % if object.event_id.address_id:\n"
"\n"
" <tr><td valign=\"top\" style=\"font-size: 14px;\">\n"
" <!-- CONTACT ORGANIZER -->\n"
" % if event_organizer:\n"
" <div>\n"
" <span style=\"font-weight:300;margin:10px 0px\">Questions about this event?</span>\n"
" <div>Please contact the organizer:</div>\n"
" <ul>\n"
" <li>${event_organizer.name}</li>\n"
" % if event_organizer.email\n"
" <li>Mail: <a href=\"mailto:${event_organizer.email}\" style=\"text-decoration:none;color:#875A7B;\">${event_organizer.email}</a></li>\n"
" % endif\n"
" % if event_organizer.phone\n"
" <li>Phone: ${event_organizer.phone}</li>\n"
" % endif\n"
" </ul>\n"
" </div>\n"
" % endif\n"
" </td></tr>\n"
" <tr><td style=\"text-align:center;\">\n"
" <!-- CONTACT ORGANIZER SEPARATION -->\n"
" % if is_online or event_address:\n"
" <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;\"/>\n"
" % endif\n"
" </td></tr>\n"
"\n"
" <tr><td valign=\"top\" style=\"font-size: 14px;\">\n"
" <!-- PWA MARKGETING -->\n"
" % if is_online:\n"
" <div>\n"
" <strong>Get the best mobile experience.</strong>\n"
" <a href=\"/event\">Install our mobile app</a>\n"
" </div>\n"
" % endif\n"
" </td></tr>\n"
" <tr><td style=\"text-align:center;\">\n"
" <!-- PWA MARKGETING SEPARATION-->\n"
" % if is_online and event_address:\n"
" <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;\"/>\n"
" % endif\n"
" </td></tr>\n"
"\n"
" <tr><td valign=\"top\" style=\"font-size: 14px;\">\n"
" <!-- GOOGLE MAPS LINK -->\n"
" % if event_address:\n"
" <table style=\"width:100%;\"><tr><td>\n"
" <div>\n"
" <a href=\"https://maps.google.com/maps?q=${location}\" target=\"new\">\n"
@@ -280,8 +308,8 @@ msgid ""
" </a>\n"
" </div>\n"
" </td></tr></table>\n"
" % endif\n"
" </td></tr>\n"
" % endif\n"
" </table>\n"
" </td>\n"
" </tr>\n"
@@ -289,19 +317,19 @@ msgid ""
"</table>\n"
"</td></tr>\n"
"<!-- FOOTER BY -->\n"
"% if object.company_id\n"
"<tr><td align=\"center\" style=\"min-width: 590px;\">\n"
" % if object.company_id\n"
" <table width=\"590\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" style=\"min-width: 590px; background-color: #F1F1F1; color: #454748; padding: 8px; border-collapse:separate;\">\n"
" <tr><td style=\"text-align: center; font-size: 14px;\">\n"
" Sent by <a target=\"_blank\" href=\"${object.company_id.website}\" style=\"color: #875A7B;\">${object.company_id.name}</a>\n"
" % if 'website_url' in object.event_id and object.event_id.website_url:\n"
" % if is_online:\n"
" <br/>\n"
" Discover <a href=\"/event\" style=\"text-decoration:none;color:#717188;\">all our events</a>.\n"
" % endif\n"
" </td></tr>\n"
" </table>\n"
" % endif\n"
"</td></tr>\n"
"% endif\n"
"</table>\n"
" "
msgstr ""
@@ -312,6 +340,9 @@ msgid ""
"<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\">\n"
"% set date_begin = format_datetime(object.event_id.date_begin, tz='UTC', dt_format='%Y%m%dT%H%M%SZ')\n"
"% set date_end = format_datetime(object.event_id.date_end, tz='UTC', dt_format='%Y%m%dT%H%M%SZ')\n"
"% set is_online = 'is_published' in object.event_id and object.event_id.is_published\n"
"% set event_organizer = object.event_id.organizer_id\n"
"% set event_address = object.event_id.address_id\n"
"<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"590\" style=\"padding: 16px; background-color: white; color: #454748; border-collapse:separate;\">\n"
"<tbody>\n"
" <!-- HEADER -->\n"
@@ -324,7 +355,13 @@ msgid ""
" ${object.name}\n"
" </span>\n"
" </td><td valign=\"middle\" align=\"right\">\n"
" % if is_online\n"
" <a 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\">\n"
" View Event\n"
" </a>\n"
" % else\n"
" <img src=\"${'/logo.png?company=%s' % object.company_id.id}\" style=\"padding: 0px; margin: 0px; height: auto; width: 80px;\" alt=\"${'%s' % object.company_id.name}\"/>\n"
" % endif\n"
" </td></tr>\n"
" <tr><td colspan=\"2\" style=\"text-align:center;\">\n"
" <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;\"/>\n"
@@ -340,26 +377,31 @@ msgid ""
" <div>\n"
" Hello ${object.name},<br/>\n"
" We are excited to remind you that the event\n"
" % if 'website_published' in object.event_id and object.event_id.website_published:\n"
" % if is_online:\n"
" <a href=\"${object.event_id.website_url}\" style=\"color:#875A7B;text-decoration:none;\">${object.event_id.name}</a>\n"
" % else:\n"
" <strong>${object.event_id.name}</strong>\n"
" % endif\n"
" is starting <strong>${object.get_date_range_str()}</strong>.\n"
" </div>\n"
" % if 'website_published' in object.event_id and object.event_id.website_published:\n"
" <div style=\"margin: 16px 0px 16px 0px;\">\n"
" <a href=\"${object.event_id.website_url}\" style=\"background-color: #875A7B; padding: 8px 16px 8px 16px; text-decoration: none; color: #fff; border-radius: 5px; font-size:16px;\">View Event</a><br/>\n"
" <div>\n"
" <br/>\n"
" <strong>Add this event to your calendar</strong>\n"
" <a href=\"https://www.google.com/calendar/render?action=TEMPLATE&amp;text=${object.event_id.name}&amp;dates=${date_begin}/${date_end}&amp;location=${location}\" style=\"padding:3px 5px;border:1px solid #875A7B;color:#875A7B;text-decoration:none;border-radius:3px;\" target=\"new\"><img src=\"/web_editor/font_to_img/61525/rgb(135,90,123)/16\" style=\"vertical-align:middle;\" height=\"16\" alt=\"\"/> Google</a>\n"
" <a href=\"/event/${slug(object.event_id)}/ics\" style=\"padding:3px 5px;border:1px solid #875A7B;color:#875A7B;text-decoration:none;border-radius:3px;\"><img src=\"/web_editor/font_to_img/61525/rgb(135,90,123)/16\" style=\"vertical-align:middle;\" height=\"16\" alt=\"\"/> iCal/Outlook</a>\n"
" <a href=\"https://calendar.yahoo.com/?v=60&amp;view=d&amp;type=20&amp;title=${object.event_id.name}&amp;in_loc=${location}&amp;st=${format_datetime(object.event_id.date_begin, tz='UTC', dt_format='%Y%m%dT%H%M%S')}&amp;et=${format_datetime(object.event_id.date_end, tz='UTC', dt_format='%Y%m%dT%H%M%S')}\" style=\"padding:3px 5px;border:1px solid #875A7B;color:#875A7B;text-decoration:none;border-radius:3px;\" target=\"new\">\n"
" <img src=\"/web_editor/font_to_img/61525/rgb(135,90,123)/16\" style=\"vertical-align:middle;\" height=\"16\" alt=\"\"/> Yahoo\n"
" </a>\n"
" <br/><br/>\n"
" </div>\n"
" % endif\n"
" <div>\n"
" We confirm your registration and hope to meet you there,<br/>\n"
" <span style=\"color: #454748;\">\n"
" -- <br/>\n"
" % if object.event_id.organizer_id:\n"
" ${object.event_id.organizer_id.name}\n"
" % if event_organizer:\n"
" ${event_organizer.name}\n"
" % else:\n"
" The organizers.\n"
" The ${object.event_id.name} Team\n"
" % endif\n"
" </span>\n"
" </div>\n"
@@ -385,84 +427,98 @@ msgid ""
" <div><strong>To</strong> ${object.event_id.date_end_located}</div>\n"
" <div style=\"font-size:12px;color:#9e9e9e\"><i><strong>TZ</strong> ${object.event_id.date_tz}</i></div>\n"
" </td>\n"
" % if object.event_id.address_id.country_id.name:\n"
" <td style=\"vertical-align:top;\">\n"
" <img src=\"/web_editor/font_to_img/61505/rgb(81,81,102)/34\" style=\"padding:4px;max-width:inherit;\" height=\"34\" alt=\"\"/>\n"
" </td>\n"
" <td style=\"padding: 0px 10px 0px 10px;width:50%;vertical-align:top;\">\n"
" % set location = ''\n"
" % if object.event_id.address_id.name:\n"
" <div>${object.event_id.address_id.name}</div>\n"
" % endif\n"
" % if object.event_id.address_id.street:\n"
" <div>${object.event_id.address_id.street}</div>\n"
" % set location = object.event_id.address_id.street\n"
" % endif\n"
" % if object.event_id.address_id.street2:\n"
" <div>${object.event_id.address_id.street2}</div>\n"
" % set location = '%s, %s' % (location, object.event_id.address_id.street2)\n"
" % endif\n"
" <div>\n"
" % if object.event_id.address_id.city:\n"
" ${object.event_id.address_id.city},\n"
" % set location = '%s, %s' % (location, object.event_id.address_id.city)\n"
" % endif\n"
" % if object.event_id.address_id.state_id.name:\n"
" ${object.event_id.address_id.state_id.name},\n"
" % set location = '%s, %s' % (location, object.event_id.address_id.state_id.name)\n"
" % endif\n"
" % if object.event_id.address_id.zip:\n"
" ${object.event_id.address_id.zip}\n"
" % set location = '%s, %s' % (location, object.event_id.address_id.zip)\n"
" % endif\n"
" </div>\n"
" % if object.event_id.address_id.country_id.name:\n"
" <div>${object.event_id.address_id.country_id.name}</div>\n"
" % set location = '%s, %s' % (location, object.event_id.address_id.country_id.name)\n"
" % endif\n"
" </td>\n"
" % endif\n"
" </tr>\n"
" </table>\n"
" </td></tr>\n"
" <tr><td style=\"text-align:center;\">\n"
" <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;\"/>\n"
" </td></tr>\n"
" % if object.event_id.organizer_id:\n"
" <tr><td valign=\"top\" style=\"font-size: 14px;\">\n"
" <div>\n"
" <span style=\"font-weight:300;margin:10px 0px\">Questions about this event?</span>\n"
" <div>Please contact the organizer:</div>\n"
" <ul>\n"
" <li>${object.event_id.organizer_id.name}</li>\n"
" % if object.event_id.organizer_id.email\n"
" <li>Mail: <a href=\"mailto:${object.event_id.organizer_id.email}\" style=\"text-decoration:none;color:#875A7B;\">${object.event_id.organizer_id.email}</a></li>\n"
" % endif\n"
" % if object.event_id.organizer_id.phone\n"
" <li>Phone: ${object.event_id.organizer_id.phone}</li>\n"
" % endif\n"
" </ul>\n"
" </div>\n"
" </td></tr>\n"
" % endif\n"
" <tr><td valign=\"top\" style=\"font-size: 14px;\">\n"
" <table style=\"width:100%;border-top:1px solid #e1e1e1;\">\n"
" <tr>\n"
" <td style=\"padding:25px 0px;\">\n"
" <strong>Add this event to your calendar</strong>\n"
" <a href=\"https://www.google.com/calendar/render?action=TEMPLATE&amp;text=${object.event_id.name}&amp;dates=${date_begin}/${date_end}&amp;location=${location}\" style=\"padding:3px 5px;border:1px solid #875A7B;color:#875A7B;text-decoration:none;border-radius:3px;\" target=\"new\"><img src=\"/web_editor/font_to_img/61525/rgb(135,90,123)/16\" style=\"vertical-align:middle;\" height=\"16\" alt=\"\"/> Google</a>\n"
" <a href=\"/event/${slug(object.event_id)}/ics\" style=\"padding:3px 5px;border:1px solid #875A7B;color:#875A7B;text-decoration:none;border-radius:3px;\"><img src=\"/web_editor/font_to_img/61525/rgb(135,90,123)/16\" style=\"vertical-align:middle;\" height=\"16\" alt=\"\"/> iCal/Outlook</a>\n"
" <a href=\"https://calendar.yahoo.com/?v=60&amp;view=d&amp;type=20&amp;title=${object.event_id.name}&amp;in_loc=${location}&amp;st=${format_datetime(object.event_id.date_begin, tz='UTC', dt_format='%Y%m%dT%H%M%S')}&amp;et=${format_datetime(object.event_id.date_end, tz='UTC', dt_format='%Y%m%dT%H%M%S')}\" style=\"padding:3px 5px;border:1px solid #875A7B;color:#875A7B;text-decoration:none;border-radius:3px;\" target=\"new\">\n"
" <img src=\"/web_editor/font_to_img/61525/rgb(135,90,123)/16\" style=\"vertical-align:middle;\" height=\"16\" alt=\"\"/> Yahoo</a>\n"
" <td style=\"vertical-align:top;\">\n"
" % if event_address:\n"
" <img src=\"/web_editor/font_to_img/61505/rgb(81,81,102)/34\" style=\"padding:4px;max-width:inherit;\" height=\"34\" alt=\"\"/>\n"
" % endif\n"
" </td>\n"
" <td style=\"padding: 0px 10px 0px 10px;width:50%;vertical-align:top;\">\n"
" % if event_address:\n"
" % set location = ''\n"
" % if object.event_id.address_id.name:\n"
" <div>${object.event_id.address_id.name}</div>\n"
" % endif\n"
" % if object.event_id.address_id.street:\n"
" <div>${object.event_id.address_id.street}</div>\n"
" % set location = object.event_id.address_id.street\n"
" % endif\n"
" % if object.event_id.address_id.street2:\n"
" <div>${object.event_id.address_id.street2}</div>\n"
" % set location = '%s, %s' % (location, object.event_id.address_id.street2)\n"
" % endif\n"
" <div>\n"
" % if object.event_id.address_id.city:\n"
" ${object.event_id.address_id.city},\n"
" % set location = '%s, %s' % (location, object.event_id.address_id.city)\n"
" % endif\n"
" % if object.event_id.address_id.state_id.name:\n"
" ${object.event_id.address_id.state_id.name},\n"
" % set location = '%s, %s' % (location, object.event_id.address_id.state_id.name)\n"
" % endif\n"
" % if object.event_id.address_id.zip:\n"
" ${object.event_id.address_id.zip}\n"
" % set location = '%s, %s' % (location, object.event_id.address_id.zip)\n"
" % endif\n"
" </div>\n"
" % if object.event_id.address_id.country_id.name:\n"
" <div>${object.event_id.address_id.country_id.name}</div>\n"
" % set location = '%s, %s' % (location, object.event_id.address_id.country_id.name)\n"
" % endif\n"
" % endif\n"
" </td>\n"
" </tr>\n"
" </table>\n"
" </td></tr>\n"
" <tr><td style=\"text-align:center;\">\n"
" <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;\"/>\n"
" % if event_organizer\n"
" <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;\"/>\n"
" % endif\n"
" </td></tr>\n"
" % if object.event_id.address_id:\n"
"\n"
" <tr><td valign=\"top\" style=\"font-size: 14px;\">\n"
" <!-- CONTACT ORGANIZER -->\n"
" % if event_organizer:\n"
" <div>\n"
" <span style=\"font-weight:300;margin:10px 0px\">Questions about this event?</span>\n"
" <div>Please contact the organizer:</div>\n"
" <ul>\n"
" <li>${event_organizer.name}</li>\n"
" % if event_organizer.email\n"
" <li>Mail: <a href=\"mailto:${event_organizer.email}\" style=\"text-decoration:none;color:#875A7B;\">${event_organizer.email}</a></li>\n"
" % endif\n"
" % if event_organizer.phone\n"
" <li>Phone: ${event_organizer.phone}</li>\n"
" % endif\n"
" </ul>\n"
" </div>\n"
" % endif\n"
" </td></tr>\n"
" <tr><td style=\"text-align:center;\">\n"
" <!-- CONTACT ORGANIZER SEPARATION -->\n"
" % if is_online or event_address:\n"
" <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;\"/>\n"
" % endif\n"
" </td></tr>\n"
"\n"
" <tr><td valign=\"top\" style=\"font-size: 14px;\">\n"
" <!-- PWA MARKGETING -->\n"
" % if is_online:\n"
" <div>\n"
" <strong>Get the best mobile experience.</strong>\n"
" <a href=\"/event\">Install our mobile app</a>\n"
" </div>\n"
" % endif\n"
" </td></tr>\n"
" <tr><td style=\"text-align:center;\">\n"
" <!-- PWA MARKGETING SEPARATION-->\n"
" % if is_online and event_address:\n"
" <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;\"/>\n"
" % endif\n"
" </td></tr>\n"
"\n"
" <tr><td valign=\"top\" style=\"font-size: 14px;\">\n"
" <!-- GOOGLE MAPS LINK -->\n"
" % if event_address:\n"
" <table style=\"width:100%;\"><tr><td>\n"
" <div>\n"
" <a href=\"https://maps.google.com/maps?q=${location}\" target=\"new\">\n"
@@ -470,8 +526,8 @@ msgid ""
" </a>\n"
" </div>\n"
" </td></tr></table>\n"
" % endif\n"
" </td></tr>\n"
" % endif\n"
" </table>\n"
" </td>\n"
" </tr>\n"
@@ -479,8 +535,8 @@ msgid ""
"</table>\n"
"</td></tr>\n"
"<!-- FOOTER BY -->\n"
"% if object.company_id\n"
"<tr><td align=\"center\" style=\"min-width: 590px;\">\n"
" % if object.company_id\n"
" <table width=\"590\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" style=\"min-width: 590px; background-color: #F1F1F1; color: #454748; padding: 8px; border-collapse:separate;\">\n"
" <tr><td style=\"text-align: center; font-size: 14px;\">\n"
" Sent by <a target=\"_blank\" href=\"${object.company_id.website}\" style=\"color: #875A7B;\">${object.company_id.name}</a>\n"
@@ -490,8 +546,8 @@ msgid ""
" % endif\n"
" </td></tr>\n"
" </table>\n"
" % endif\n"
"</td></tr>\n"
"% endif\n"
"</table>\n"
" "
msgstr ""
@@ -809,6 +865,7 @@ msgstr ""
#. module: event
#: model:ir.model.fields.selection,name:event.selection__event_registration__state__open
#: model_terms:ir.ui.view,arch_db:event.event_event_ticket_view_tree_from_event
#: model_terms:ir.ui.view,arch_db:event.view_event_kanban
#: model_terms:ir.ui.view,arch_db:event.view_registration_search
msgid "Confirmed"
@@ -1866,6 +1923,7 @@ msgstr ""
#. module: event
#: model:ir.model.fields,field_description:event.field_event_registration__date_open
#: model_terms:ir.ui.view,arch_db:event.view_event_registration_tree
#: model_terms:ir.ui.view,arch_db:event.view_registration_search
msgid "Registration Date"
msgstr ""
@@ -1933,11 +1991,6 @@ msgstr ""
msgid "Reporting"
msgstr ""
#. module: event
#: model_terms:ir.ui.view,arch_db:event.event_event_ticket_view_tree_from_event
msgid "Reserved"
msgstr ""
#. module: event
#: model:ir.model.fields,field_description:event.field_event_event__seats_reserved
#: model:ir.model.fields,field_description:event.field_event_event_ticket__seats_reserved
@@ -1995,11 +2048,6 @@ msgstr ""
msgid "Seats Limit"
msgstr ""
#. module: event
#: model:event.type,name:event.event_type_data_ticket
msgid "Sell Online"
msgstr ""
#. module: event
#: model_terms:ir.ui.view,arch_db:event.res_config_settings_view_form
msgid "Sell tickets on your website"
+4
View File
@@ -32,6 +32,10 @@
id="menu_event_type"
sequence="1"
parent="menu_event_configuration"/>
<menuitem name="Event Stages"
id="event_stage_menu"
sequence="2"
parent="menu_event_configuration"/>
<menuitem name="Mail Schedulers"
id="menu_event_mail_schedulers"
sequence="10"
+4 -1
View File
@@ -56,6 +56,9 @@
<field name="view_mode">tree,form</field>
</record>
<menuitem id="event_stage_menu" name="Event Stages" action="event_stage_action" parent="menu_event_configuration"/>
<record id="event_stage_menu" model="ir.ui.menu">
<field name="action" ref="event.event_stage_action"/>
</record>
</data>
</odoo>
+2 -5
View File
@@ -61,12 +61,9 @@
<field name="arch" type="xml">
<form string="Event Category Tag">
<sheet>
<div class="oe_title">
<label for="name" class="oe_edit_only"/>
<h1><field name="name"/></h1>
</div>
<group>
<field name="category_id" widget="many2one" class="oe_inline"/>
<field name="name"/>
<field name="category_id" widget="many2one"/>
</group>
</sheet>
</form>
+4 -4
View File
@@ -71,11 +71,11 @@
<field name="arch" type="xml">
<tree string="Tickets" editable="bottom">
<field name="name"/>
<field name="description"/>
<field name="start_sale_date"/>
<field name="end_sale_date"/>
<field name="description" optional="hide"/>
<field name="start_sale_date" optional="show"/>
<field name="end_sale_date" optional="show"/>
<field name="seats_max" sum="Total" width="105px" string="Maximum"/>
<field name="seats_reserved" sum="Total" width="105px" string="Reserved"/>
<field name="seats_reserved" sum="Total" width="105px" string="Confirmed"/>
<field name="seats_unconfirmed" sum="Total" width="110px" string="Unconfirmed"/>
</tree>
</field>
+18 -12
View File
@@ -72,10 +72,15 @@
</div>
</div>
</div>
<div class="col-12 col-lg-6 o_setting_box">
<div class="col-12 col-lg-6 o_setting_box" name="event_type_visibility_tags">
<div class="o_setting_left_pane"/>
<div class="o_setting_right_pane">
<label for="tag_ids" string="Tags"/>
<field name="tag_ids" widget="many2many_tags" options="{'no_quick_create': True}"/>
<div class="row">
<div class="col-12 mt16">
<field name="tag_ids" widget="many2many_tags" options="{'no_quick_create': True}"/>
</div>
</div>
</div>
</div>
</div>
@@ -226,22 +231,22 @@
<field name="date_end" widget="daterange" nolabel="1" class="oe_inline" options="{'related_start_date': 'date_begin'}"/>
</div>
<field name="date_tz"/>
<field name="organizer_id"/>
<field name="user_id" domain="[('share', '=', False)]"/>
<field name="company_id" groups="base.group_multi_company"/>
<field name="event_type_id" string="Template" options="{'no_create':True}"/>
<field name="tag_ids" widget="many2many_tags" options="{'no_quick_create': True}"/>
</group>
<group>
<field name="organizer_id"/>
<field name="user_id" domain="[('share', '=', False)]"/>
<field name="company_id" groups="base.group_multi_company"/>
<field name="address_id"
context="{'show_address': 1}"
options='{"always_reload": True}'/>
<field name="auto_confirm"/>
<label for="seats_limited" string="Limit Registrations"/>
<div>
<field name="seats_limited"/>
<span attrs="{'invisible': [('seats_limited', '=', False)], 'required': [('seats_limited', '=', False)]}">to <field name="seats_max" class="oe_inline"/> Attendees</span>
</div>
<field name="auto_confirm"/>
</group>
</group>
<notebook>
@@ -332,6 +337,7 @@
<field name="address_id"/>
<field name="date_begin"/>
<field name="date_end"/>
<field name="auto_confirm"/>
<field name="seats_unconfirmed"/>
<field name="seats_reserved"/>
<field name="seats_used"/>
@@ -369,7 +375,7 @@
<t t-esc="record.seats_expected.raw_value"/> Expected attendees
</a>
<t t-set="total_seats" t-value="record.seats_reserved.raw_value + record.seats_used.raw_value"/>
<div class="pt-2 pt-md-0" t-if="total_seats > 0">
<div class="pt-2 pt-md-0" t-if="total_seats > 0 and ! record.auto_confirm.raw_value"><br/>
<a class="pl-2" name="%(act_event_registration_from_event)d" type="action" context="{'search_default_confirmed': True}">
<i class="fa fa-level-up fa-rotate-90" title="Confirmed"/><span class="pl-2"><t t-esc="total_seats"/> Confirmed</span>
</a>
@@ -500,14 +506,14 @@
<field name="model">event.registration</field>
<field name="arch" type="xml">
<tree string="Registration" multi_edit="1" sample="1">
<field name="create_date" optional="hide"/>
<field name="create_date" optional="show" string="Registration Date"/>
<field name="date_open" optional="hide"/>
<field name="partner_id"/>
<field name="name"/>
<field name="email" optional="hide"/>
<field name="phone" optional="hide"/>
<field name="partner_id" optional="hide"/>
<field name="email" optional="show"/>
<field name="phone" optional="show"/>
<field name="mobile" optional="hide"/>
<field name="event_id"/>
<field name="event_id" invisible="context.get('default_event_id')"/>
<field name="event_ticket_id" domain="[('event_id', '=', event_id)]"/>
<field name="state" readonly="0"/>
<field name="company_id" groups="base.group_multi_company" optional="hide"/>
+1 -5
View File
@@ -362,6 +362,7 @@ msgstr ""
#. module: event_sale
#: model:ir.model,name:event_sale.model_sale_order
#: model:ir.model.fields,field_description:event_sale.field_event_registration__sale_order_id
#: model:ir.model.fields,field_description:event_sale.field_registration_editor__sale_order_id
msgid "Sales Order"
msgstr ""
@@ -388,11 +389,6 @@ msgstr ""
msgid "Source"
msgstr ""
#. module: event_sale
#: model:ir.model.fields,field_description:event_sale.field_event_registration__sale_order_id
msgid "Source Sales Order"
msgstr ""
#. module: event_sale
#: model_terms:ir.ui.view,arch_db:event_sale.event_event_report_template_badge
msgid "Ticket Type"
@@ -10,7 +10,7 @@ class EventRegistration(models.Model):
is_paid = fields.Boolean('Is Paid')
# TDE FIXME: maybe add an onchange on sale_order_id
sale_order_id = fields.Many2one('sale.order', string='Source Sales Order', ondelete='cascade', copy=False)
sale_order_id = fields.Many2one('sale.order', string='Sales Order', ondelete='cascade', copy=False)
sale_order_line_id = fields.Many2one('sale.order.line', string='Sales Order Line', ondelete='cascade', copy=False)
payment_status = fields.Selection(string="Payment Status", selection=[
('to_pay', 'Not Paid'),
@@ -7,7 +7,7 @@
<field name="inherit_id" ref="event.view_event_registration_tree" />
<field name="arch" type="xml">
<field name="event_id" position="after">
<field name="sale_order_id"/>
<field name="sale_order_id" optional="hide"/>
</field>
</field>
</record>
+1 -1
View File
@@ -1055,7 +1055,7 @@ Sitemap: <t t-esc="url_root"/>sitemap.xml
<template id="website_search_box" name="Website Searchbox">
<div t-attf-class="input-group #{_classes}" role="search">
<input type="search" name="search" class="search-query form-control oe_search_box" placeholder="Search..." t-att-value="search"/>
<input type="search" name="search" class="search-query form-control oe_search_box" t-att-placeholder="placeholder if placeholder else 'Search...'" t-att-value="search"/>
<div class="input-group-append">
<button type="submit" class="btn btn-primary oe_search_button" aria-label="Search" title="Search"><i class="fa fa-search"/></button>
</div>
+1
View File
@@ -14,6 +14,7 @@
'views/res_config_settings_views.xml',
'views/event_snippets.xml',
'views/event_templates.xml',
'views/event_templates_misc_pages.xml',
'views/event_views.xml',
'security/ir.model.access.csv',
'security/event_security.xml',
+27 -46
View File
@@ -17,7 +17,12 @@ msgstr ""
#. module: website_event
#: model_terms:ir.ui.view,arch_db:website_event.registration_template
msgid "(Available seats:"
msgid "(only"
msgstr ""
#. module: website_event
#: model_terms:ir.ui.view,arch_db:website_event.registration_complete
msgid "(ref:"
msgstr ""
#. module: website_event
@@ -54,6 +59,13 @@ msgid ""
"your events.</em>"
msgstr ""
#. module: website_event
#: model_terms:ir.ui.view,arch_db:website_event.template_intro
msgid ""
"<font style=\"font-size: 62px;\" "
"class=\"o_default_snippet_text\">Introduction</font>"
msgstr ""
#. module: website_event
#: model_terms:ir.ui.view,arch_db:website_event.registration_template
msgid "<i class=\"fa fa-ban mr-2\"/>Sold Out"
@@ -70,11 +82,6 @@ msgstr ""
msgid "<i class=\"fa fa-check mr-2\"/>Registered"
msgstr ""
#. module: website_event
#: model_terms:ir.ui.view,arch_db:website_event.index_topbar
msgid "<i class=\"fa fa-eraser\"/> Clear filters"
msgstr ""
#. module: website_event
#: model_terms:ir.ui.view,arch_db:website_event.index_sidebar_follow_us
msgid ""
@@ -155,7 +162,14 @@ msgstr ""
#. module: website_event
#: model_terms:ir.ui.view,arch_db:website_event.index_topbar
msgid "<span class=\"navbar-brand h4 my-0\">Events</span>"
msgid "<span class=\"navbar-brand h4 my-0 mr-auto\">Events</span>"
msgstr ""
#. module: website_event
#: model_terms:ir.ui.view,arch_db:website_event.registration_template
msgid ""
"<span class=\"py-2\">Tickets</span>\n"
" <span class=\"close d-none\">×</span>"
msgstr ""
#. module: website_event
@@ -256,11 +270,6 @@ msgid ""
" website: registrations, schedule, map, ..."
msgstr ""
#. module: website_event
#: model_terms:ir.ui.view,arch_db:website_event.index_topbar
msgid "Clear filters"
msgstr ""
#. module: website_event
#. openerp-web
#: code:addons/website_event/static/src/js/tours/website_event.js:0
@@ -349,11 +358,6 @@ msgstr ""
msgid "Drag this block and drop it in your page."
msgstr ""
#. module: website_event
#: model_terms:ir.ui.view,arch_db:website_event.registration_complete
msgid "E-mail"
msgstr ""
#. module: website_event
#: model_terms:ir.ui.view,arch_db:website_event.registration_attendee_details
msgid "Email"
@@ -467,7 +471,6 @@ msgstr ""
#. module: website_event
#: code:addons/website_event/models/event_event.py:0
#: model_terms:ir.ui.view,arch_db:website_event.template_intro
#, python-format
msgid "Introduction"
msgstr ""
@@ -505,7 +508,6 @@ msgstr ""
#. module: website_event
#: model_terms:ir.ui.view,arch_db:website_event.registration_attendee_details
#: model_terms:ir.ui.view,arch_db:website_event.registration_complete
msgid "Name"
msgstr ""
@@ -534,11 +536,6 @@ msgstr ""
msgid "Organizer"
msgstr ""
#. module: website_event
#: model_terms:ir.ui.view,arch_db:website_event.events_list
msgid "Organizer:"
msgstr ""
#. module: website_event
#: model_terms:ir.ui.view,arch_db:website_event.index_sidebar_photos
msgid "Our Trainings"
@@ -550,11 +547,6 @@ msgstr ""
msgid "Past Events"
msgstr ""
#. module: website_event
#: model_terms:ir.ui.view,arch_db:website_event.registration_complete
msgid "Phone"
msgstr ""
#. module: website_event
#: model_terms:ir.ui.view,arch_db:website_event.registration_attendee_details
msgid "Phone <small>(Optional)</small>"
@@ -582,11 +574,6 @@ msgstr ""
msgid "Questions"
msgstr ""
#. module: website_event
#: model_terms:ir.ui.view,arch_db:website_event.registration_complete
msgid "Reference"
msgstr ""
#. module: website_event
#: code:addons/website_event/models/event_event.py:0
#: model_terms:ir.ui.view,arch_db:website_event.registration_template
@@ -618,6 +605,7 @@ msgid "Registrations are <b>closed</b>"
msgstr ""
#. module: website_event
#: model_terms:ir.ui.view,arch_db:website_event.events_list
#: model_terms:ir.ui.view,arch_db:website_event.registration_template
msgid "Registrations not yet open"
msgstr ""
@@ -676,11 +664,6 @@ msgstr ""
msgid "This shortcut will bring you right back to the event form."
msgstr ""
#. module: website_event
#: model_terms:ir.ui.view,arch_db:website_event.registration_complete
msgid "Ticket"
msgstr ""
#. module: website_event
#: model_terms:ir.ui.view,arch_db:website_event.registration_attendee_details
msgid "Ticket #"
@@ -691,13 +674,6 @@ msgstr ""
msgid "Ticket Sales starting on"
msgstr ""
#. module: website_event
#: model_terms:ir.ui.view,arch_db:website_event.registration_template
msgid ""
"Tickets\n"
" <span class=\"close d-none\">×</span>"
msgstr ""
#. module: website_event
#: model_terms:ir.ui.view,arch_db:website_event.registration_template
msgid "Tickets for this Event are <b>Sold Out</b>"
@@ -770,6 +746,11 @@ msgid ""
"see when registrating."
msgstr ""
#. module: website_event
#: model_terms:ir.ui.view,arch_db:website_event.registration_template
msgid "available)"
msgstr ""
#. module: website_event
#: model_terms:ir.ui.view,arch_db:website_event.event_description_full
msgid "iCal/Outlook"
+58 -97
View File
@@ -45,18 +45,14 @@
<template id="index_topbar" name="Topbar">
<nav class="navbar navbar-light border-top shadow-sm d-print-none">
<div class="container">
<div class="row d-flex justify-content-between w-100 mr-0">
<div class="col-lg-8 col-sm-12">
<span class="navbar-brand h4 my-0">Events</span>
<ul class="o_wevent_index_topbar_filters nav"/>
</div>
<div class="col-lg-3 col-sm-12 d-flex align-items-center flex-wrap px16">
<div class="d-flex flex-column flex-sm-row justify-content-between w-100">
<span class="navbar-brand h4 my-0 mr-auto">Events</span>
<ul class="o_wevent_index_topbar_filters nav"/>
<div class="d-flex align-items-center flex-wrap pl-sm-3 pr-0">
<t t-call="website_event.events_search_box">
<t t-set="_searches" t-value="searches"/>
<t t-set="_placeholder" t-value="'Search an event ...'"/>
</t>
<a href="/event" class="btn btn-info text-nowrap mr-0 w-100" role="button" title="Clear filters">
<i class="fa fa-eraser"/> Clear filters
</a>
</div>
</div>
</div>
@@ -154,6 +150,7 @@
<form t-attf-class="o_wevent_event_searchbar_form o_wait_lazy_js w-100 my-1 my-lg-0 #{_classes}"
t-att-action="action if action else '/event'" method="get">
<t t-set="search" t-value="search or _searches and _searches['search']"/>
<t t-set="placeholder" t-value="placeholder or _placeholder"/>
<t>$0</t>
<t t-foreach="_searches" t-as="search">
<input t-if="search != 'search' and search_value != 'all'" type="hidden"
@@ -219,10 +216,6 @@
<span t-field="event.with_context(tz=event.date_tz).date_begin" t-options="{'date_only': 'true', 'format': 'long'}"/> -
<span t-field="event.with_context(tz=event.date_tz).date_begin" t-options="{'time_only': 'true', 'format': 'short'}"/>
</time>
<!-- Organizer -->
<div t-if="event.organizer_id" class="mb-3">
<small class="text-muted text-truncate">Organizer: <span t-field="event.organizer_id" itemprop="organizer"/></small>
</div>
<!-- Location -->
<div itemprop="location" t-field="event.address_id" t-options="{'widget': 'contact', 'fields': ['city'], 'no_marker': 'true'}"/>
<div class="mt8 d-flex align-items-center">
@@ -235,7 +228,11 @@
</main>
</div>
<!-- Footer -->
<footer t-attf-class="small align-self-end w-100 #{opt_events_list_cards and 'card-footer' or ((not opt_events_list_columns) and 'border-top mx-4 mt-auto pt-2' or 'border-top py-2')}">
<footer t-if="not event.event_registrations_open or event.event_registrations_sold_out"
t-att-class="'small align-self-end w-100 %s %s' % (
opt_events_list_cards and 'card-footer' or (not opt_events_list_columns and 'mx-4 mt-auto pt-2') or 'py-2',
opt_events_list_cards and 'border-top' or '',
)">
<span t-if="not event.event_registrations_open" class="text-danger">
<t t-if="event.start_sale_date and event.start_sale_date &gt; datetime.date.today()">
Registrations not yet open
@@ -432,7 +429,7 @@
<div class="container overflow-hidden">
<div class="row no-gutters mt-n4 mb-3">
<!-- Description -->
<div id="o_wevent_event_main_col" class="col-lg-8 bg-white px-5 pt48 pb-0 shadow-sm">
<div id="o_wevent_event_main_col" class="col-lg-8 bg-white px-3 pt-5 pb-0 shadow-sm">
<span t-field="event.description" itemprop="description"/>
</div>
<div class="col-lg-4 bg-light shadow-sm d-print-none">
@@ -557,14 +554,14 @@
<i class="fa fa-check mr-2"/>Registered
</span>
</div>
<a href="#" role="button" class="btn o_wevent_registration_btn text-left pl-0" data-target="#o_wevent_tickets_collapse">
Tickets
<a href="#" role="button" class="btn o_wevent_registration_btn text-left" data-target="#o_wevent_tickets_collapse">
<span class="py-2">Tickets</span>
<span class="close d-none">×</span>
</a>
</div>
<div id="o_wevent_tickets_collapse" class="collapse show">
<div t-foreach="tickets" t-as="ticket" class="row px-3 mx-0 bg-light border-bottom">
<div class="col-8 py-3" itemscope="itemscope" itemtype="http://schema.org/Offer">
<div t-foreach="tickets" t-as="ticket" class="row px-3 py-3 mx-0 bg-light border-bottom">
<div class="col-md-8 col-xs-12 p-0" itemscope="itemscope" itemtype="http://schema.org/Offer">
<h5 itemprop="name" t-field="ticket.name" class="my-0"/>
<t t-if="ticket.description">
<small t-field="ticket.description" class="text-muted py-2"/>
@@ -573,7 +570,7 @@
<small t-if="ticket.end_sale_date and ticket.sale_available and not ticket.is_expired" class="text-muted mr-3" itemprop="availabilityEnds">Sales end on <span itemprop="priceValidUntil" t-field="ticket.end_sale_date"/></small>
<small t-if="ticket.start_sale_date and not ticket.sale_available and not ticket.is_expired" class="text-muted mr-3" itemprop="availabilityEnds">Sales start on <span itemprop="priceValidUntil" t-field="ticket.start_sale_date"/></small>
</div>
<div class="col-4 d-flex align-items-center">
<div class="col-md-4 col-xs-12 p-0 d-flex align-items-center justify-content-between">
<div class="o_wevent_registration_multi_select"/>
<div class="w-auto ml-auto">
<select t-if="not ticket.is_expired and ticket.sale_available"
@@ -596,7 +593,10 @@
<div class="row no-gutters">
<div class="col-md-4 offset-md-8 py-2 pl-md-0 pr-md-2">
<button type="submit" class="btn btn-primary o_wait_lazy_js btn-block a-submit" disabled="" t-attf-id="#{event.id}">
Register<t t-if="event.seats_limited"> (Available seats: <t t-esc="event.seats_available"/>)</t>
Register
<t t-if="event.seats_limited and event.seats_max and event.seats_available &lt;= (event.seats_max * 0.2)">
(only <t t-esc="event.seats_available"/> available)
</t>
</button>
</div>
</div>
@@ -630,7 +630,12 @@
</div>
</div>
<div class="col-lg-4 pt-3 pt-lg-0 pl-2 pl-lg-0">
<button type="submit" class="btn btn-primary o_wait_lazy_js btn-block a-submit" t-attf-id="#{event.id}">Register</button>
<button type="submit" class="btn btn-primary o_wait_lazy_js btn-block a-submit" t-attf-id="#{event.id}">
Register
<t t-if="event.seats_limited and event.seats_max and event.seats_available &lt;= (event.seats_max * 0.2)">
(only <t t-esc="event.seats_available"/> available)
</t>
</button>
</div>
</div>
</div>
@@ -692,34 +697,40 @@
<template id="registration_complete" name="Registration Completed">
<t t-call="website_event.layout">
<div class="container my-5">
<div class="row">
<div class="row mb-3">
<div class="col-12">
<h2>Registration confirmed!</h2>
<table class="table table-striped my-4">
<thead class="bg-secondary">
<tr>
<th>Name</th>
<th>Ticket</th>
<th>E-mail</th>
<th>Phone</th>
<th>Reference</th>
</tr>
</thead>
<tbody>
<t t-foreach="attendees" t-as="attendee">
<tr>
<td><t t-if="attendee.name" t-esc="attendee.name"/><t t-else="">N/A</t></td>
<td><i class="fa fa-ticket"></i> <t t-if='attendee.event_ticket_id'><t t-esc="attendee.event_ticket_id.name"/></t><t t-if='not attendee.event_ticket_id'>N/A</t></td>
<td><t t-if="attendee.email" t-esc="attendee.email"/><t t-else="">N/A</t></td>
<td><t t-if="attendee.phone" t-esc="attendee.phone"/><t t-else="">N/A</t></td>
<td><t t-esc="attendee.id"/></td>
</tr>
</t>
</tbody>
</table>
</div>
<div class="col-lg-8">
<h3><a t-attf-href="/event/#{slug(event)}"><t t-esc="event.name"/></a></h3>
</div>
</div>
<div class="row mb-3">
<div class="col-md-4 col-xs-12 mt-3" t-foreach="attendees" t-as="attendee">
<div class="d-flex flex-column">
<span class="font-weight-bold">
<t t-if="attendee.name" t-esc="attendee.name"/>
<t t-else="">N/A</t>
</span>
<span>
<i class="fa fa-envelope mr-2 "></i>
<t t-if="attendee.email" t-esc="attendee.email"/>
<t t-else="">N/A</t>
</span>
<span>
<i class="fa fa-phone mr-2"></i>
<t t-if="attendee.phone" t-esc="attendee.phone"/>
<t t-else="">N/A</t>
</span>
<span>
<i class="fa fa-ticket mr-2"></i>
<t t-if="attendee.event_ticket_id" t-esc="attendee.event_ticket_id.name"/>
<t t-else="">N/A</t>
(ref: <t t-esc="attendee.id"/>)
</span>
</div>
</div>
</div>
<div class="row mb-3">
<div class="col-lg-8">
<p><b>Start</b> <span itemprop="startDate" t-esc="event.date_begin_located"/><br/> <b>End</b> <span itemprop="endDate" t-esc="event.date_end_located"/></p>
<div id="add_to_calendar" class="mt-4">
<a role="button" class="btn btn-primary" t-att-href="iCal_url">
@@ -763,56 +774,6 @@
</t>
</template>
<!-- Multipage event - Default template when creating a new page -->
<template id="default_page">
<t t-call="website.layout">
<div class="oe_structure oe_empty"/>
</t>
</template>
<!-- Multipage event - Default template for the Introduction page -->
<template id="template_intro">
<t t-call="website_event.layout">
<section class="s_title pt48 pb48" data-vcss="001" data-snippet="s_title">
<div class="container">
<h1>Introduction</h1>
</div>
</section>
<div class="oe_structure oe_empty" id="oe_structure_website_event_intro_1"/>
</t>
</template>
<!-- Multipage event - Default template for the Location page -->
<template id="template_location">
<t t-call="website_event.layout">
<div class="oe_structure" id="oe_structure_website_event_location_1"/>
<section class="pt32 pb32">
<div class="container">
<div class="row">
<div class="col-12">
<h1 class="o_page_header mb-3">Event Location</h1>
<h4 class="mb-3" t-field="event.address_id" t-options='{
"widget": "contact",
"fields": ["name"],
}'/>
<div class="mb-3" t-field="event.address_id" t-options='{
"widget": "contact",
"fields": ["address"],
"no_marker": True
}'/>
<div class="mb-3" t-field="event.address_id" t-options='{
"widget": "contact",
"fields": ["phone", "mobile", "email"],
"no_marker": True
}'/>
</div>
</div>
</div>
</section>
<div class="oe_structure" id="oe_structure_website_event_location_2"/>
</t>
</template>
<!-- User Navbar -->
<template id="user_navbar_inherit_website_event" inherit_id="website.user_navbar">
<xpath expr="//div[@id='o_new_content_menu_choices']//div[@name='module_website_event']" position="attributes">
@@ -0,0 +1,57 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<!-- Multipage event - Default template when creating a new page -->
<template id="default_page">
<t t-call="website.layout">
<div class="oe_structure oe_empty"/>
</t>
</template>
<!-- Multipage event - Default template for the Introduction page -->
<template id="template_intro">
<t t-call="website_event.layout">
<div class="oe_structure oe_empty" id="oe_structure_website_event_intro_1"/>
<section class="s_title pt32 pb32" data-vcss="001" data-snippet="s_title" data-name="Title">
<div class="container s_allow_columns">
<h1 style="text-align: center;">
<font style="font-size: 62px;" class="o_default_snippet_text">Introduction</font>
</h1>
</div>
</section>
<div class="oe_structure oe_empty" id="oe_structure_website_event_intro_2"/>
</t>
</template>
<!-- Multipage event - Default template for the Location page -->
<template id="template_location">
<t t-call="website_event.layout">
<div class="oe_structure" id="oe_structure_website_event_location_1"/>
<section class="pt32 pb32">
<div class="container">
<div class="row">
<div class="col-12">
<h1 class="o_page_header mb-3">Event Location</h1>
<h4 class="mb-3" t-field="event.address_id" t-options='{
"widget": "contact",
"fields": ["name"],
}'/>
<div class="mb-3" t-field="event.address_id" t-options='{
"widget": "contact",
"fields": ["address"],
"no_marker": True
}'/>
<div class="mb-3" t-field="event.address_id" t-options='{
"widget": "contact",
"fields": ["phone", "mobile", "email"],
"no_marker": True
}'/>
</div>
</div>
</div>
</section>
<div class="oe_structure" id="oe_structure_website_event_location_2"/>
</t>
</template>
</odoo>
+1 -1
View File
@@ -13,7 +13,7 @@
</div>
<div class="o_setting_right_pane">
<label for="website_menu"/>
<div class="row">
<div class="row" name="website_menu">
<div class="col-lg-8 mt16 text-muted">
Check this option to have menus for your event on the
website: registrations, schedule, map, ...
@@ -18,6 +18,7 @@
'views/event_sponsor_views.xml',
'views/event_views.xml',
'views/website_event_menu_views.xml',
'views/event_menus.xml',
],
'demo': [
'data/res_partner_demo.xml',
@@ -127,11 +127,6 @@ msgstr ""
msgid "About The Speaker"
msgstr ""
#. module: website_event_track
#: model:ir.model.fields,field_description:website_event_track.field_event_track_stage__is_done
msgid "Accepted Stage"
msgstr ""
#. module: website_event_track
#: model:ir.model.fields,field_description:website_event_track.field_event_sponsor__message_needaction
#: model:ir.model.fields,field_description:website_event_track.field_event_track__message_needaction
@@ -283,6 +278,11 @@ msgstr ""
msgid "Confirmed"
msgstr ""
#. module: website_event_track
#: model_terms:ir.actions.act_window,help:website_event_track.event_sponsor_action_from_event
msgid "Create a Sponsor"
msgstr ""
#. module: website_event_track
#: model:ir.model.fields,field_description:website_event_track.field_event_sponsor__create_uid
#: model:ir.model.fields,field_description:website_event_track.field_event_sponsor_type__create_uid
@@ -346,6 +346,11 @@ msgstr ""
msgid "Documents"
msgstr ""
#. module: website_event_track
#: model:ir.model.fields,field_description:website_event_track.field_event_track_stage__is_done
msgid "Done Stage"
msgstr ""
#. module: website_event_track
#: model_terms:ir.ui.view,arch_db:website_event_track.view_event_track_kanban
msgid "Dropdown menu"
@@ -377,6 +382,7 @@ msgstr ""
#: model:ir.model.fields,field_description:website_event_track.field_event_sponsor__event_id
#: model:ir.model.fields,field_description:website_event_track.field_event_track__event_id
#: model:ir.model.fields,field_description:website_event_track.field_website_event_menu__event_id
#: model_terms:ir.ui.view,arch_db:website_event_track.event_sponsor_view_search
#: model_terms:ir.ui.view,arch_db:website_event_track.view_event_track_search
msgid "Event"
msgstr ""
@@ -517,6 +523,7 @@ msgid "Grey"
msgstr ""
#. module: website_event_track
#: model_terms:ir.ui.view,arch_db:website_event_track.event_sponsor_view_search
#: model_terms:ir.ui.view,arch_db:website_event_track.view_event_track_search
msgid "Group By"
msgstr ""
@@ -653,11 +660,6 @@ msgstr ""
msgid "Location"
msgstr ""
#. module: website_event_track
#: model:ir.ui.menu,name:website_event_track.menu_event_track_location
msgid "Locations"
msgstr ""
#. module: website_event_track
#: model:ir.model.fields,field_description:website_event_track.field_event_sponsor__image_128
msgid "Logo"
@@ -689,6 +691,11 @@ msgstr ""
msgid "Menu Type"
msgstr ""
#. module: website_event_track
#: model:ir.actions.act_window,name:website_event_track.website_event_menu_action
msgid "Menus"
msgstr ""
#. module: website_event_track
#: model:ir.model.fields,field_description:website_event_track.field_event_sponsor__message_has_error
#: model:ir.model.fields,field_description:website_event_track.field_event_track__message_has_error
@@ -992,6 +999,11 @@ msgstr ""
msgid "Sponsors"
msgstr ""
#. module: website_event_track
#: model_terms:ir.ui.view,arch_db:website_event_track.event_sponsor_view_search
msgid "Sponsorship"
msgstr ""
#. module: website_event_track
#: model:ir.model.fields,field_description:website_event_track.field_event_track__stage_id
#: model_terms:ir.ui.view,arch_db:website_event_track.view_event_track_search
@@ -1130,6 +1142,11 @@ msgstr ""
msgid "Track End Date"
msgstr ""
#. module: website_event_track
#: model:ir.ui.menu,name:website_event_track.menu_event_track_location
msgid "Track Locations"
msgstr ""
#. module: website_event_track
#: model:mail.message.subtype,name:website_event_track.mt_track_ready
msgid "Track Ready"
@@ -1250,6 +1267,12 @@ msgstr ""
msgid "We will evaluate your proposition and get back to you shortly."
msgstr ""
#. module: website_event_track
#: model_terms:ir.ui.view,arch_db:website_event_track.event_sponsor_view_form
#: model_terms:ir.ui.view,arch_db:website_event_track.event_sponsor_view_tree
msgid "Website"
msgstr ""
#. module: website_event_track
#: model:ir.model,name:website_event_track.model_website_event_menu
msgid "Website Event Menu"
@@ -18,6 +18,6 @@ class TrackStage(models.Model):
fold = fields.Boolean(
string='Folded in Kanban',
help='This stage is folded in the kanban view when there are no records in that stage to display.')
is_done = fields.Boolean(string='Accepted Stage')
is_done = fields.Boolean(string='Done Stage')
is_cancel = fields.Boolean(string='Canceled Stage')
color = fields.Integer(string='Color')
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" ?>
<templates xml:space="preserve">
<t t-extend="website_event.customize_options">
<t t-name="website_event_track.customize_options" t-extend="website_event.customize_options">
<t t-jquery="a[name='display-website-menu']" t-operation="after">
<a href="#" name="display-showcase-talks" class="dropdown-item" role="menuitem">
<label class="o_switch" for="display-showcase-talks">
@@ -0,0 +1,49 @@
<?xml version="1.0"?>
<odoo><data>
<!-- MAIN ITEMS -->
<menuitem id="menu_event_track"
name="Tracks"
sequence="40"
action="action_event_track"
parent="event.event_main_menu"
groups="base.group_no_one"/>
<!-- CONFIGURATION -->
<menuitem id="event_track_stage_menu"
name="Track Stages"
action="event_track_stage_action"
parent="event.menu_event_configuration"
groups="base.group_no_one"
sequence="30"/>
<menuitem id="menu_event_track_location"
name="Track Locations"
action="action_event_track_location"
parent="event.menu_event_configuration"
groups="base.group_no_one"
sequence="32"/>
<menuitem
id="menu_event_track_tag"
name="Track Tags"
action="action_event_track_tag"
parent="event.menu_event_configuration"
groups="base.group_no_one"
sequence="34"/>
<menuitem id="menu_event_sponsor_type"
name="Sponsor Types"
action="event_sponsor_type_action"
parent="event.menu_event_configuration"
groups="base.group_no_one"
sequence="40"/>
<menuitem id="menu_website_event_menu"
name="Website Menus"
action="website_event_menu_action"
parent="event.menu_event_configuration"
groups="base.group_no_one"
sequence="99"/>
</data></odoo>
@@ -33,8 +33,6 @@
<field name="res_model">event.sponsor.type</field>
</record>
<menuitem action="event_sponsor_type_action" groups="base.group_no_one" id="menu_event_sponsor_type" parent="event.menu_event_configuration"/>
<record id="event_sponsor_view_search" model="ir.ui.view">
<field name="name">event.sponsor.search</field>
<field name="model">event.sponsor</field>
@@ -43,6 +41,10 @@
<field name="partner_id"/>
<field name="event_id"/>
<filter string="Archived" name="archived" domain="[('active', '=', False)]"/>
<group string="Group By" expand="0">
<filter string="Event" name="group_by_event_id" domain="[]" context="{'group_by': 'event_id'}"/>
<filter string="Sponsorship" name="group_by_sponsor_type_id" domain="[]" context="{'group_by': 'sponsor_type_id'}"/>
</group>
</search>
</field>
</record>
@@ -61,8 +63,7 @@
<group>
<field name="event_id"/>
<field name="partner_email" widget="email"/>
<field name="url" widget="url"/>
<field name="sequence" groups="base.group_no_one"/>
<field name="url" widget="url" string="Website"/>
</group>
<group>
<field name="sponsor_type_id"/>
@@ -87,7 +88,7 @@
<tree>
<field name="sequence" widget="handle"/>
<field name="partner_id"/>
<field name="url"/>
<field name="url" string="Website"/>
<field name="sponsor_type_id"/>
</tree>
</field>
@@ -126,6 +127,11 @@
<field name="res_model">event.sponsor</field>
<field name="view_mode">kanban,tree,form</field>
<field name="context">{'search_default_event_id': active_id, 'default_event_id': active_id}</field>
<field name="help" type="html">
<p class="o_view_nocontent_smiling_face">
Create a Sponsor
</p>
</field>
</record>
</data>
</odoo>
@@ -75,7 +75,7 @@
<t t-set="track" t-value="dt[1][location][0]"/>
<t t-if="track">
<td t-att-rowspan="dt[1][location][3]" t-attf-class="event_color_#{track.color} #{track and 'event_track' or ''}">
<t t-if="track">
<t t-if="track" name="track_agenda_track_cell">
<a t-attf-href="/event/#{ slug(event) }/track/#{ slug(track) }">
<span t-esc="track and track.name"/>
<span t-if="not track.website_published" class="badge badge-warning">unpublished</span>
@@ -307,7 +307,8 @@
You can add multiple speakers by separating names, emails and phones with commas.
</div>
</section>
<section id="forms" t-if="event.website_track_proposal">
<section id="forms" class="mb-5"
t-if="event.website_track_proposal">
<form class="mt32 js_website_submit_form" t-attf-action="/event/#{event.id}/track_proposal/post" method="post" enctype="multipart/form-data">
<input type="hidden" name="csrf_token" t-att-value="request.csrf_token()"/>
<div class="form-group row">
@@ -222,14 +222,6 @@
</field>
</record>
<menuitem
id="menu_event_track"
name="Tracks"
sequence="40"
action="action_event_track"
parent="event.event_main_menu"
groups="base.group_no_one"/>
<!-- EVENTS/CONFIGURATION/EVENT locations -->
<record model="ir.ui.view" id="view_event_location_form">
<field name="name">Event Locations</field>
@@ -260,12 +252,6 @@
<field name="res_model">event.track.location</field>
</record>
<menuitem
id="menu_event_track_location"
name="Locations"
action="action_event_track_location"
parent="event.menu_event_configuration"/>
<!-- EVENTS/CONFIGURATION/EVENT Tags -->
<record model="ir.ui.view" id="view_event_track_tag_form">
<field name="name">Track Tags</field>
@@ -296,12 +282,6 @@
<field name="res_model">event.track.tag</field>
</record>
<menuitem
id="menu_event_track_tag"
action="action_event_track_tag"
parent="event.menu_event_configuration"
groups="base.group_no_one"/>
<!-- EVENTS TRACK STAGES-->
<record id="event_track_stage_view_search" model="ir.ui.view">
<field name="name">event.track.stage.view.search</field>
@@ -386,10 +366,4 @@
</field>
</record>
<menuitem name="Track Stages"
id="event_track_stage_menu"
action="event_track_stage_action"
parent="event.menu_event_configuration"
groups="base.group_no_one"/>
</odoo>
@@ -6,7 +6,7 @@
<field name="model">event.type</field>
<field name="inherit_id" ref="website_event.event_type_view_form_inherit_website"/>
<field name="arch" type="xml">
<xpath expr="//div[@name='event_type_visibility_website']/div[hasclass('o_setting_right_pane')]" position='inside'>
<xpath expr="//div[@name='website_menu']" position='after'>
<div class="row mt16" attrs="{'invisible': [('website_menu', '=', False)]}">
<label class="col-lg-4" for="website_track"/> <field name="website_track"/>
</div>
@@ -17,30 +17,29 @@
</field>
</record>
<!-- Events Organisation/CONFIGURATION/EVENTS -->
<record id="view_event_form" model="ir.ui.view">
<field name="name">Event Tracks</field>
<field name="inherit_id" ref="event.view_event_form"/>
<field name="model">event.event</field>
<field name="priority" eval="3"/>
<field name="arch" type="xml">
<div name="button_box" position="inside">
<button name="%(action_event_track_from_event)d"
type="action"
class="oe_stat_button"
icon="fa-microphone"
context="{'default_date': date_begin}">
<field name="track_count" string="Tracks" widget="statinfo"/>
</button>
<button name="%(event_sponsor_action_from_event)d"
type="action"
class="oe_stat_button"
icon="fa-black-tie">
<field name="sponsor_count" string="Sponsors" widget="statinfo"/>
</button>
</div>
</field>
</record>
<record id="view_event_form" model="ir.ui.view">
<field name="name">Event Tracks</field>
<field name="inherit_id" ref="website_event.event_event_view_form_inherit_website"/>
<field name="model">event.event</field>
<field name="priority" eval="3"/>
<field name="arch" type="xml">
<xpath expr="//field[@name='is_published']" position="before">
<button name="%(action_event_track_from_event)d"
type="action"
class="oe_stat_button"
icon="fa-microphone"
context="{'default_date': date_begin}">
<field name="track_count" string="Tracks" widget="statinfo"/>
</button>
<button name="%(event_sponsor_action_from_event)d"
type="action"
class="oe_stat_button"
icon="fa-black-tie">
<field name="sponsor_count" string="Sponsors" widget="statinfo"/>
</button>
</xpath>
</field>
</record>
<record id="event_event_view_list_inherit_website_event_track" model="ir.ui.view">
<field name="name">event.event.view.list.inherit.website.event.track</field>
@@ -47,12 +47,5 @@
<field name="view_mode">tree,form</field>
</record>
<menuitem id="menu_website_event_menu"
name="Website Menus"
action="website_event_menu_action"
parent="event.menu_event_configuration"
groups="base.group_no_one"
sequence="99"/>
</data>
</odoo>
+11 -1
View File
@@ -528,6 +528,11 @@ class DurationConverter(models.AbstractModel):
description=_("Formatting: long, short, narrow (not used for digital)"),
default_value='long'
),
add_direction=dict(
type="boolean",
string=_("Add direction"),
description=_("Add directional information (not used for digital)")
),
)
return options
@@ -566,7 +571,12 @@ class DurationConverter(models.AbstractModel):
if not v:
continue
section = babel.dates.format_timedelta(
v*secs_per_unit, format=options.get('format', 'long'), threshold=1, locale=locale)
v*secs_per_unit,
granularity=round_to,
add_direction=options.get('add_direction'),
format=options.get('format', 'long'),
threshold=1,
locale=locale)
if section:
sections.append(section)