1. The merge of the "email_template" module into the "mail" module. 2. The send action of the mass mailing has been moved from the frontend to a cron, because it was too slow to send over 10,000 mails (the user's browser was blocked for 15 - 20 minutes). Mass mailings have now their own process in the kanban view. 3. Mails sent from the mail form are sent immediatly instead of from the mail queue (for instance, when you go to sales > customers > list view > select 2 -3 customers > More > Partner Mass Mailing). 4. Users have now the choice from which mailing list they want to unsubscribe when they click on the unsubscribe link at the bottom of the mail. 5. Mass mailings inherit from their campaign UTMs and mass mailing campaigns are linked to an UTM campaign. 6. Many little improvements
262 lines
13 KiB
XML
262 lines
13 KiB
XML
<openerp>
|
|
<data>
|
|
<!-- After installation of the module, open the quotations menu -->
|
|
<record id="open_quotation_menu" model="ir.actions.client">
|
|
<field name="name">Open Quotations</field>
|
|
<field name="tag">reload</field>
|
|
<field name="params" eval="{'menu_id': ref('sale.menu_sale_quotations')}"/>
|
|
</record>
|
|
<record id="base.open_menu" model="ir.actions.todo">
|
|
<field name="action_id" ref="open_quotation_menu"/>
|
|
<field name="state">open</field>
|
|
</record>
|
|
|
|
<!--
|
|
Update Email template to send right quote url
|
|
-->
|
|
|
|
<record id="sale.email_template_edi_sale" model="mail.template">
|
|
<field name="body_html"><![CDATA[
|
|
<div style="font-family: 'Lucica Grande', Ubuntu, Arial, Verdana, sans-serif; font-size: 12px; color: rgb(34, 34, 34); background-color: #FFF; ">
|
|
|
|
<p>Hello ${object.partner_id.name},</p>
|
|
|
|
<p>Here is your ${object.state in ('draft', 'sent') and 'quotation' or 'order confirmation'} from ${object.company_id.name}: </p>
|
|
|
|
<p style="border-left: 1px solid #8e0000; margin-left: 30px;">
|
|
<strong>REFERENCES</strong><br />
|
|
Order number: <strong>${object.name}</strong><br />
|
|
Order total: <strong>${object.amount_total} ${object.pricelist_id.currency_id.name}</strong><br />
|
|
Order date: ${object.date_order}<br />
|
|
% if object.origin:
|
|
Order reference: ${object.origin}<br />
|
|
% endif
|
|
% if object.client_order_ref:
|
|
Your reference: ${object.client_order_ref}<br />
|
|
% endif
|
|
% if object.user_id:
|
|
Your contact: <a href="mailto:${object.user_id.email or ''}?subject=Order%20${object.name}">${object.user_id.name}</a>
|
|
% endif
|
|
</p>
|
|
<p>
|
|
You can view your quotation online:
|
|
</p>
|
|
<a style="display:block; width: 150px; height:20px; margin-left: 120px; color: #DDD; font-family: 'Lucida Grande', Helvetica, Arial, sans-serif; font-size: 13px; font-weight: bold; text-align: center; text-decoration: none !important; line-height: 1; padding: 5px 0px 0px 0px; background-color: #8E0000; border-radius: 5px 5px; background-repeat: repeat no-repeat;"
|
|
href="/quote/${object.id}/${object.access_token}">View ${object.state in ('draft', 'sent') and 'Quotation' or 'Order'}</a>
|
|
|
|
% if object.paypal_url:
|
|
<br/>
|
|
<p>It is also possible to directly pay with Paypal:</p>
|
|
<a style="margin-left: 120px;" href="${object.paypal_url}">
|
|
<img class="oe_edi_paypal_button" src="https://www.paypal.com/en_US/i/btn/btn_paynowCC_LG.gif"/>
|
|
</a>
|
|
% endif
|
|
|
|
<br/>
|
|
<p>If you have any question, do not hesitate to contact us.</p>
|
|
<p>Thank you for choosing ${object.company_id.name or 'us'}!</p>
|
|
<br/>
|
|
<br/>
|
|
<div style="width: 375px; margin: 0px; padding: 0px; background-color: #8E0000; border-top-left-radius: 5px 5px; border-top-right-radius: 5px 5px; background-repeat: repeat no-repeat;">
|
|
<h3 style="margin: 0px; padding: 2px 14px; font-size: 12px; color: #DDD;">
|
|
<strong style="text-transform:uppercase;">${object.company_id.name}</strong></h3>
|
|
</div>
|
|
<div style="width: 347px; margin: 0px; padding: 5px 14px; line-height: 16px; background-color: #F2F2F2;">
|
|
<span style="color: #222; margin-bottom: 5px; display: block; ">
|
|
% if object.company_id.street:
|
|
${object.company_id.street}<br/>
|
|
% endif
|
|
% if object.company_id.street2:
|
|
${object.company_id.street2}<br/>
|
|
% endif
|
|
% if object.company_id.city or object.company_id.zip:
|
|
${object.company_id.zip} ${object.company_id.city}<br/>
|
|
% endif
|
|
% if object.company_id.country_id:
|
|
${object.company_id.state_id and ('%s, ' % object.company_id.state_id.name) or ''} ${object.company_id.country_id.name or ''}<br/>
|
|
% endif
|
|
</span>
|
|
% if object.company_id.phone:
|
|
<div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">
|
|
Phone: ${object.company_id.phone}
|
|
</div>
|
|
% endif
|
|
% if object.company_id.website:
|
|
<div>
|
|
Web : <a href="${object.company_id.website}">${object.company_id.website}</a>
|
|
</div>
|
|
%endif
|
|
<p></p>
|
|
</div>
|
|
</div>
|
|
]]></field>
|
|
</record>
|
|
|
|
<record id="website_quote_template_default" model="sale.quote.template">
|
|
<field name="name">Default Template</field>
|
|
<field name="number_of_days">30</field>
|
|
<field name="website_description" type="xml">
|
|
<section data-snippet-id="title">
|
|
<center><h1 class="page-header">Our offer</h1></center>
|
|
</section>
|
|
<section data-snippet-id="text-block">
|
|
<div class="row">
|
|
<div class="col-md-12">
|
|
<p>
|
|
<h3 class="text-muted">Our offer is based on 3 commitments, which drive our business and our partners:</h3>
|
|
</p>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
<section data-snippet-id="quality">
|
|
<div class="row mt32">
|
|
<div class="col-md-4">
|
|
<div class="panel panel-info">
|
|
<div class="panel-heading">
|
|
<center><h3 class="panel-title">Quality</h3></center>
|
|
</div>
|
|
<div class="panel-body">
|
|
<p>
|
|
Quality in many ways, our reputation was built on the first value.
|
|
</p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="col-md-4">
|
|
<div class="panel panel-info">
|
|
<div class="panel-heading">
|
|
<center><h3 class="panel-title">Service</h3></center>
|
|
</div>
|
|
<div class="panel-body">
|
|
<p>
|
|
We are always reachable to help you, do not hesitate to contact us at any time.
|
|
</p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="col-md-4">
|
|
<div class="panel panel-info">
|
|
<div class="panel-heading">
|
|
<center><h3 class="panel-title">Price</h3></center>
|
|
</div>
|
|
<div class="panel-body">
|
|
<p>
|
|
Our prices are the lowest in the region, if you find cheaper elsewhere, we will refund the difference
|
|
</p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
<section data-snippet-id="text-block">
|
|
<center><h2>Your products/services</h2></center>
|
|
<p>
|
|
<h3 class="text-muted">
|
|
The description of products/services from your quotation will be displayed below
|
|
</h3>
|
|
</p>
|
|
<p>
|
|
<b> To write a quotation description, edit your product, go the sales tab and add a text in "Description for quotations"</b>
|
|
</p>
|
|
</section>
|
|
</field>
|
|
</record>
|
|
</data>
|
|
|
|
<!-- Mail template is done in a NOUPDATE block
|
|
so users can freely customize/delete them -->
|
|
<data noupdate="1">
|
|
<!--Email template -->
|
|
<record id="email_template_edi_sale" model="mail.template">
|
|
<field name="name">Sales Order - Send by Email (Online Quote)</field>
|
|
<field name="email_from">${(object.user_id.email or '')|safe}</field>
|
|
<field name="subject">${object.company_id.name|safe} ${object.state in ('draft', 'sent') and 'Quotation' or 'Order'} (Ref ${object.name or 'n/a' })</field>
|
|
<field name="partner_to">${object.partner_invoice_id.id}</field>
|
|
<field name="model_id" ref="sale.model_sale_order"/>
|
|
<field name="auto_delete" eval="True"/>
|
|
<field name="report_template" ref="sale.report_sale_order"/>
|
|
<field name="report_name">${(object.name or '').replace('/','_')}_${object.state == 'draft' and 'draft' or ''}</field>
|
|
<field name="lang">${object.partner_id.lang}</field>
|
|
<field name="user_signature" eval="True"/>
|
|
<field name="body_html"><![CDATA[
|
|
<div style="font-family: 'Lucica Grande', Ubuntu, Arial, Verdana, sans-serif; font-size: 12px; color: rgb(34, 34, 34); background-color: rgb(255, 255, 255); ">
|
|
|
|
<p>Hello ${object.partner_id.name},</p>
|
|
|
|
<p>Here is your ${object.state in ('draft', 'sent') and 'quotation' or 'order confirmation'} from ${object.company_id.name}: </p>
|
|
|
|
<p style="border-left: 1px solid #8e0000; margin-left: 30px;">
|
|
<strong>REFERENCES</strong><br />
|
|
Order number: <strong>${object.name}</strong><br />
|
|
Order total: <strong>${object.amount_total} ${object.pricelist_id.currency_id.name}</strong><br />
|
|
Order date: ${object.date_order}<br />
|
|
% if object.origin:
|
|
Order reference: ${object.origin}<br />
|
|
% endif
|
|
% if object.client_order_ref:
|
|
Your reference: ${object.client_order_ref}<br />
|
|
% endif
|
|
% if object.user_id:
|
|
Your contact: <a href="mailto:${object.user_id.email or ''}?subject=Order%20${object.name}">${object.user_id.name}</a>
|
|
% endif
|
|
</p>
|
|
|
|
<% set signup_url = object.get_signup_url() %>
|
|
% if signup_url and object.amount_total > 0 :
|
|
<p>
|
|
You can access this document and pay online via our Customer Portal:
|
|
</p>
|
|
<a style="display:block; width: 150px; height:20px; margin-left: 120px; color: #DDD; font-family: 'Lucida Grande', Helvetica, Arial, sans-serif; font-size: 13px; font-weight: bold; text-align: center; text-decoration: none !important; line-height: 1; padding: 5px 0px 0px 0px; background-color: #8E0000; border-radius: 5px 5px; background-repeat: repeat no-repeat;"
|
|
href="${signup_url}">View ${object.state in ('draft', 'sent') and 'Quotation' or 'Order'}</a>
|
|
% endif
|
|
|
|
% if object.paypal_url and object.amount_total > 0 :
|
|
<br/>
|
|
<p>It is also possible to directly pay with Paypal:</p>
|
|
<a style="margin-left: 120px;" href="${object.paypal_url}">
|
|
<img class="oe_edi_paypal_button" src="https://www.paypal.com/en_US/i/btn/btn_paynowCC_LG.gif"/>
|
|
</a>
|
|
% endif
|
|
|
|
<br/>
|
|
<p>If you have any question, do not hesitate to contact us.</p>
|
|
<p>Thank you for choosing ${object.company_id.name or 'us'}!</p>
|
|
<br/>
|
|
<br/>
|
|
<div style="width: 375px; margin: 0px; padding: 0px; background-color: #8E0000; border-top-left-radius: 5px 5px; border-top-right-radius: 5px 5px; background-repeat: repeat no-repeat;">
|
|
<h3 style="margin: 0px; padding: 2px 14px; font-size: 12px; color: #DDD;">
|
|
<strong style="text-transform:uppercase;">${object.company_id.name}</strong></h3>
|
|
</div>
|
|
<div style="width: 347px; margin: 0px; padding: 5px 14px; line-height: 16px; background-color: #F2F2F2;">
|
|
<span style="color: #222; margin-bottom: 5px; display: block; ">
|
|
% if object.company_id.street:
|
|
${object.company_id.street}<br/>
|
|
% endif
|
|
% if object.company_id.street2:
|
|
${object.company_id.street2}<br/>
|
|
% endif
|
|
% if object.company_id.city or object.company_id.zip:
|
|
${object.company_id.zip} ${object.company_id.city}<br/>
|
|
% endif
|
|
% if object.company_id.country_id:
|
|
${object.company_id.state_id and ('%s, ' % object.company_id.state_id.name) or ''} ${object.company_id.country_id.name or ''}<br/>
|
|
% endif
|
|
</span>
|
|
% if object.company_id.phone:
|
|
<div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">
|
|
Phone: ${object.company_id.phone}
|
|
</div>
|
|
% endif
|
|
% if object.company_id.website:
|
|
<div>
|
|
Web : <a href="${object.company_id.website}">${object.company_id.website}</a>
|
|
</div>
|
|
% endif
|
|
<p></p>
|
|
</div>
|
|
</div>
|
|
]]></field>
|
|
</record>
|
|
</data>
|
|
</openerp>
|