[MERGE] Merged with addons/trunk.

bzr revid: tde@openerp.com-20120911132044-vqmmkg5tr6ijy5m3
This commit is contained in:
Thibault Delavallée
2012-09-11 15:20:44 +02:00
7 changed files with 35 additions and 24 deletions
@@ -51,9 +51,11 @@ class mail_compose_message(osv.osv_memory):
context = {}
result = super(mail_compose_message, self).default_get(cr, uid, fields, context=context)
result['template_id'] = context.get('default_template_id', context.get('mail.compose.template_id', False))
# force html when using templates
# pre-render the template if any
if result.get('use_template'):
result['content_subtype'] = 'html'
onchange_res = self.onchange_use_template(cr, uid, [], result.get('use_template'), result.get('template_id'),
result.get('composition_mode'), result.get('model'), result.get('res_id'), context=context)
result.update(onchange_res['value'])
return result
_columns = {
@@ -11,14 +11,14 @@
<xpath expr="//form/footer/button" position="before">
<field name="use_template" invisible="1"/>
<button icon="gtk-paste" type="object" name="toggle_template"
string="" help="Use a message template" />
string="" help="Use a message template" invisible="1"/>
<button icon="gtk-save" type="object" name="save_as_template"
string="" help="Save as a new template"/>
string="" help="Save as a new template" invisible="1"/>
</xpath>
<xpath expr="//form/notebook" position="after">
<group attrs="{'invisible':[('use_template','=',False)]}" colspan="4" col="4">
<field name="use_template" invisible="1"/>
<field name="template_id" colspan="3"
<field name="template_id" colspan="3" invisible="1"
on_change="onchange_template_id(use_template, template_id, composition_mode, model, res_id, context)"/>
</group>
</xpath>
+12 -12
View File
@@ -17,19 +17,15 @@ openerp.mail = function(session) {
*/
session.web.FormView = session.web.FormView.extend({
// TDE FIXME TODO: CHECK WITH NEW BRANCH
do_action: function(action, on_close) {
if (action.res_model == 'mail.compose.message' &&
action.context && action.context.redirect == true &&
this.fields && this.fields.message_ids &&
this.fields.message_ids.view.get("actual_mode") != 'create') {
// debug
console.groupCollapsed('FormView do_action on mail.compose.message');
console.log('message_ids field:', this.fields.message_ids);
console.groupEnd();
var record_thread = this.fields.message_ids;
var thread = record_thread.thread;
thread.instantiate_composition_form('comment', true, false, 0, action.context);
return false;
thread.refresh_composition_form(action.context);
return true;
}
else {
return this._super(action, on_close);
@@ -234,7 +230,7 @@ openerp.mail = function(session) {
this.ds_compose.context = _.extend(this.ds_compose.context, this.options.context);
return this.ds_compose.call('default_get', [
['subject', 'body_text', 'body', 'attachment_ids', 'partner_ids', 'composition_mode',
'model', 'res_id', 'parent_id', 'content_subtype'],
'use_template', 'template_id', 'model', 'res_id', 'parent_id', 'content_subtype'],
this.ds_compose.get_context(),
]).then( function (result) { self.form_view.on_processed_onchange({'value': result}, []); });
},
@@ -433,6 +429,11 @@ openerp.mail = function(session) {
return compose_done;
},
refresh_composition_form: function (context) {
if (! this.compose_message_widget) return;
return this.compose_message_widget.refresh(context);
},
/** Clean the thread */
message_clean: function() {
this.$el.find('div.oe_mail_thread_display').empty();
@@ -611,7 +612,6 @@ openerp.mail = function(session) {
this.options.domain = this.options.domain || [];
this.options.context = {'default_model': 'mail.thread', 'default_res_id': false};
this.options.thread_level = this.options.thread_level || 0;
this.thread_list = [];
},
start: function() {
@@ -627,7 +627,7 @@ openerp.mail = function(session) {
},
destroy: function() {
for (var i in this.thread_list) { this.thread_list[i].destroy(); }
if (this.thread) { this.thread.destroy(); }
this._super.apply(this, arguments);
},
@@ -644,13 +644,13 @@ openerp.mail = function(session) {
default_model: this.view.model });
// create and render Thread widget
this.$el.find('div.oe_mail_recthread_main').empty();
for (var i in this.thread_list) { this.thread_list[i].destroy(); }
if (this.thread) { this.thread.destroy(); }
var thread = new mail.Thread(self, {
'context': this.options.context,
'thread_level': this.options.thread_level, 'show_header_compose': true,
'message_ids': this.get_value(),
'show_delete': true, 'composer': true });
this.thread_list.push(thread);
this.thread = thread;
return thread.appendTo(this.$el.find('div.oe_mail_recthread_main'));
},
});
+3 -1
View File
@@ -347,6 +347,7 @@
<field name="type">ir.actions.act_window</field>
<field name="res_model">purchase.order</field>
<field name="context">{'search_default_draft': 1}</field>
<field name="domain">[('state','in',('draft','sent','confirmed'))]</field>
<field name="view_mode">tree,form,graph,calendar</field>
<field name="search_view_id" ref="view_purchase_order_filter"/>
<field name="help" type="html">
@@ -371,7 +372,8 @@
<field name="type">ir.actions.act_window</field>
<field name="res_model">purchase.order</field>
<field name="view_mode">tree,form,graph,calendar</field>
<field name="context">{'search_default_approved': 1}</field>
<field name="context">{}</field>
<field name="domain">[('state','not in',('draft','sent','confirmed'))]</field>
<field name="search_view_id" ref="view_purchase_order_filter"/>
<field name="help" type="html">
<p class="oe_view_nocontent_create">
+1 -1
View File
@@ -47,7 +47,7 @@
<p>Hello${object.partner_id.name and ' ' or ''}${object.partner_id.name or ''},</p>
<p>Here is your ${object.state in ('draft', 'sent') and 'quotation' or 'order confirmation'} from {$object.company_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;">
&nbsp;&nbsp;<strong>REFERENCES</strong><br />
+8 -3
View File
@@ -769,13 +769,18 @@ class sale_order(osv.osv):
template_id = template and template[1] or False
res = mod_obj.get_object_reference(cr, uid, 'mail', 'email_compose_message_wizard_form')
res_id = res and res[1] or False
ctx = dict(context, active_model='sale.order', active_id=ids[0])
ctx.update({'mail.compose.template_id': template_id})
ctx = dict(context)
ctx.update({
'default_model': 'sale.order',
'default_res_id': ids[0],
'default_use_template': True,
'default_template_id': template_id,
})
return {
'view_type': 'form',
'view_mode': 'form',
'res_model': 'mail.compose.message',
'views': [(res_id,'form')],
'views': [(res_id, 'form')],
'view_id': res_id,
'type': 'ir.actions.act_window',
'target': 'new',
+4 -2
View File
@@ -404,7 +404,8 @@
<field name="view_type">form</field>
<field name="view_mode">tree,form,calendar,graph</field>
<field name="search_view_id" ref="view_sales_order_filter"/>
<field name="context">{"search_default_sales":1}</field>
<field name="context">{}</field>
<field name="domain">[('state','not in',('draft','sent','cancel'))]</field>
<field name="help" type="html">
<p class="oe_view_nocontent_create">
Click to create a quotation that can be converted into a sale
@@ -445,7 +446,8 @@
<field name="res_model">sale.order</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form,calendar,graph</field>
<field name="context">{"search_default_draft":1}</field>
<field name="context">{}</field>
<field name="domain">[('state','in',('draft','sent','cancel'))]</field>
<field name="search_view_id" ref="view_sales_order_filter"/>
<field name="help" type="html">
<p class="oe_view_nocontent_create">