Files
odoo_source/addons/project/data/project_mail_template_data.xml
T
kujiu 9de1bc0eef [IMP] Improve compatibility with screen readers (accessibility) (#24574)
Today, Odoo is really tricky to use without seeing the screen, it must be improved to be usable.

This PR forbid to use labels without a "for" attribute, add some title, rule and aria attributes in HTML. With that, Odoo will be fully usable with a screen reader.


* [IMP] Labels must have a for attribute. Improve accessibility.
* [IMP] Better error message when trying to read a missing cached value
* [FIX] Add some aria-label and title attributes for screen readers.
* [FIX] Template name is not included in the error message in case of SyntaxError in QWeb
* [FIX] Improve the Tour failed at step error message to be more explicit.
* [IMP] Add aria-labels
* [FIX] Add missing aria-label on failing test
* [IMP] aria-hidden means hidden. Fix all bad aria-hidden and hide aria-hidden for all.
* [IMP] Color names on kanban views and many2many tags
* [IMP] Add some checks on views for accessibility.
* [IMP] Add `alt` attribute on `img` tags.
* [IMP] Add aria-label and title on non-described icons
* [IMP] Add button role to widgets with btn class
* [IMP] Translate aria and formatted attributes.
* [IMP] Remove wrong aria-labelledby
* [IMP] Add menu role on dropdowns
* [IMP] Buttons must be focusable
* [IMP] Add aria attributes on progress bars
* [IMP] Improve accessibility of basic widgets
* [IMP] Change main layout to more semantic tags
* [IMP] Add menuitem role when missing
* [IMP] Remove wrong role='presentation'
* [IMP] Improve accessibility of tab panels
* [IMP] Add aria-invalid on invalid fields
* [IMP] Add aria-sort on ordered columns
* [IMP] Add role on alerts
* [IMP] Use dialog role, header, main and footer tags for modals
* [IMP] Add labels on o_status
* [IMP] Improve accessibility of kanban view with feeds and articles
* [IMP] Add alerts in case of new messages
* [IMP] Add widget, navigation or img role to aria-labelled items
2018-06-22 21:22:21 +02:00

205 lines
12 KiB
XML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<data noupdate="1">
<!-- notify to admin of module installation -->
<record id="mail_template_data_module_install_project" model="mail.template">
<field name="name">Project: Spam admin after install</field>
<field name="subject">Your Odoo Project application</field>
<field name="email_from">help@odoo.com</field>
<field name="email_to">${user.email|safe}</field>
<field name="lang">${user.lang}</field>
<field name="model_id" ref="base.model_ir_module_module"/>
<field name="auto_delete" eval="True"/>
<field name="scheduled_date">${(datetime.datetime.now() + relativedelta(days=3)).strftime('%Y-%m-%d %H:%M')}</field>
<field name="body_html" ><![CDATA[
<div style="margin: 10px auto;">
% set last_created_project = user.env['project.project'].search([('alias_id','!=',False)], order="create_date desc")[0]
<table cellspacing="0" cellpadding="0" style="width:100%;">
<tbody>
<tr>
<td style="padding:2px;width:30%;">
<img src="web/static/src/img/logo.png" alt="Logo"/>
</td>
<td style="vertical-align: top; padding: 8px 10px;text-align: left;font-size: 14px;">
<a href="web/login" style="float:right ;margin:15px auto;background: #875A7B;border-radius: 5px;color: #ffffff;font-size: 16px;padding: 10px 20px 10px 20px;text-decoration: none;">Auto Login</a>
</td>
</tr>
</tbody>
</table>
<table style="width:100%;text-align:justify;margin:0 auto;border-collapse:collapse;border-top:1px solid lightgray"">
<tbody>
<tr>
<td style="padding:15px 10px;font-size:20px">
<p dir="ltr" style="font-size:15px;margin-top:0pt;margin-bottom:0pt;">
<span>Your Odoo Project application is up and running</span></p><br>
<p dir="ltr" style="margin-top:0pt;margin-bottom:8pt;">
<span style="font-size:13px;font-weight:bold;">What’s next?</span></p>
<ul style="margin-top:0pt;margin-bottom:0pt;font-size:13px;list-style-type:disc;">
% if last_created_project:
<li dir="ltr">
<p dir="ltr" style="margin-top:0pt;margin-bottom:0pt;">
<span>Try creating a task by sending an email to </span>
<a href="mailto:${last_created_project.alias_id.name_get()[0][1] if last_created_project.alias_id.alias_domain else user.company_id.email}">
<span style="font-weight:bold; text-decoration:underline;">${last_created_project.alias_id.name_get()[0][1] if last_created_project.alias_id.alias_domain else user.company_id.email}</span>
</a>
</p>
</li>
% endif
<li dir="ltr">
<p dir="ltr" style="margin-top:0pt;margin-bottom:8pt;">
<span><a href="/web#view_type=list&model=res.users&action=base.action_res_users">
<span style="font-weight:bold; text-decoration:underline;">Invite new users</span></a></span>
<span>to collaborate</span>
</p>
</li>
</ul> <br>
<ul style="margin-top:0pt;margin-bottom:0pt;font-size:13px;list-style-type:disc;">
<li dir="ltr">
<p dir="ltr" style="margin-top:0pt;margin-bottom:0pt;">
<span>Track hours with timesheets,</span>
</p>
</li>
<li dir="ltr">
<p dir="ltr" style="margin-top:0pt;margin-bottom:0pt;">
<span>Plan tasks and resources with forecasts,</span>
</p>
</li>
<li dir="ltr">
<p dir="ltr" style="margin-top:0pt;margin-bottom:0pt;">
<span>Get smart reporting and accurate dashboards,</span>
</p>
</li>
<li dir="ltr">
<p dir="ltr" style="margin-top:0pt;margin-bottom:0pt;">
<span>Bill time on tasks or issues,</span>
</p>
</li>
<li dir="ltr">
<p dir="ltr" style="margin-top:0pt;margin-bottom:8pt;">
<span>And much more...</span>
</p>
</li>
</ul>
<br>
<p dir="ltr" style="font-size:13px;line-height:1.3;margin-top:0pt;margin-bottom:8pt;">
<span style="font-weight:bold;">Need Help?</span>
<span style="font-style:italic;">You’re not alone</span>
</p>
<p dir="ltr" style="font-size:13px;margin-top:0pt;margin-bottom:8pt;">
<span>We would be delighted to assist you along the way. Contact us through our
<a href="https://www.odoo.com/help">support form</a> if you have any question.
You can also discover how to get the best out of Odoo Project with our </span>
<a target="_blank" href="https://www.odoo.com/documentation/user/11.0/project.html">
<span style="text-decoration:underline;">User Documentation</span></a>
</span><span> or with our </span>
<a target="_blank" href="https://www.odoo.com/documentation">
<span style="text-decoration:underline;">API Documentation</span></a>
</p>
<br>
<p dir="ltr" style="font-size:13px;margin-top:0pt;margin-bottom:8pt;"><span>Enjoy your Odoo experience,</span></p>
</td>
</tr>
</tbody>
</table>
<div dir="ltr" style="font-size:13px;margin-top:0pt;margin-bottom:8pt;color:grey">
<span><br/>-- <br/>The Odoo Team<br/>PS: People love Odoo, check </span><a target="_blank" href="https://twitter.com/odoo/favorites"><span style="text-decoration:underline;">what they say about it.</span></a></span>
</div>
</div>]]></field>
</record>
<function
id="mail_template_function_module_install_project"
model="mail.template"
name="send_mail"
eval="[ref('mail_template_data_module_install_project'), ref('base.module_project')]"/>
<!-- Sample stage-related template -->
<record id="mail_template_data_project_task" model="mail.template">
<field name="name">Task: Reception Acknowledgment</field>
<field name="model_id" ref="project.model_project_task"/>
<field name="subject">Reception of ${object.name}</field>
<field name="use_default_to" eval="True"/>
<field name="body_html" type="html">
<div>
Dear ${object.partner_id.name or 'customer'},<br/>
Thank you for your enquiry.<br />
If you have any questions, please let us know.
<br/><br/>
Thank you,
<br/>
</div>
</field>
<field name="auto_delete" eval="True"/>
<field name="user_signature" eval="True"/>
</record>
<!-- Mail sent to request a rating for a task -->
<record id="rating_project_request_email_template" model="mail.template">
<field name="name">Task: Rating Request</field>
<field name="model_id" ref="project.model_project_task"/>
<field name="subject">${object.project_id.company_id.name}: Satisfaction Survey</field>
<field name="email_from">${('"%s" &lt;%s&gt;' % (object.rating_get_rated_partner_id().name, object.rating_get_rated_partner_id().email) if object.rating_get_rated_partner_id().email else '') | safe}</field>
<field name="partner_to" >${object.rating_get_partner_id().id}</field>
<field name="body_html" type="html">
<div>
% set access_token = object.rating_get_access_token()
% set partner = object.rating_get_partner_id()
<table border="0" cellpadding="0" cellspacing="0" width="590" style="width:100%; margin:0px auto;">
<tbody>
<tr><td valign="top" style="font-size: 14px;">
Hello ${partner.name},<br/>
Please take a moment to rate our services related to the task "<strong>${object.name}</strong>"
% if object.rating_get_rated_partner_id().name:
assigned to <strong>${object.rating_get_rated_partner_id().name}</strong>.<br/>
% else:
.<br/>
% endif
</td></tr>
<tr><td style="text-align: center;">
<table border="0" cellpadding="0" cellspacing="0" width="590" summary="o_mail_notification" style="width:100%; margin: 32px 0px 32px 0px;">
<tr><td style="font-size: 14px;">
<strong>Tell us how you feel about our service</strong><br/>
<span style="text-color: #888888">(click on one of these smileys)</span>
</td></tr>
<tr><td style="font-size: 14px;">
<table style="width:100%;text-align:center;">
<tr>
<td>
<a href="/rating/${access_token}/10">
<img alt="Satisfied" src="/rating/static/src/img/rating_10.png" title="Satisfied"/>
</a>
</td>
<td>
<a href="/rating/${access_token}/5">
<img alt="Not satisfied" src="/rating/static/src/img/rating_5.png" title="Not satisfied"/>
</a>
</td>
<td>
<a href="/rating/${access_token}/1">
<img alt="Highly Dissatisfied" src="/rating/static/src/img/rating_1.png" title="Highly Dissatisfied"/>
</a>
</td>
</tr>
</table>
</td></tr>
</table>
</td></tr>
<tr><td valign="top" style="font-size: 14px;">
We appreciate your feedback. It helps us to improve continuously.
% if object.project_id.rating_status == 'stage':
<br/><span style="margin: 0px 0px 0px 0px; font-size: 12px; opacity: 0.5; color: #454748;">This customer survey has been sent because your task has been moved to the stage <b>${object.stage_id.name}</b></span>
% endif
% if object.project_id.rating_status == 'periodic':
<br/><span style="margin: 0px 0px 0px 0px; font-size: 12px; opacity: 0.5; color: #454748;">This customer survey is sent <b>${object.project_id.rating_status_period}</b> as long as the task is in the <b>${object.stage_id.name}</b> stage.</span>
% endif
</td></tr>
</tbody>
</table>
</div>
</field>
<field name="auto_delete" eval="True"/>
<field name="user_signature" eval="False"/>
</record>
</data>
</odoo>