[MERGE]:sales

bzr revid: apa@tinyerp.com-20121121085129-yym3475muoawz650
This commit is contained in:
Amit Patel
2012-11-21 14:21:29 +05:30
8 changed files with 104 additions and 18 deletions
+4 -4
View File
@@ -846,7 +846,7 @@ class crm_lead(base_stage, format_address, osv.osv):
def stage_set_send_note(self, cr, uid, ids, stage_id, context=None):
""" Override of the (void) default notification method. """
stage_name = self.pool.get('crm.case.stage').name_get(cr, uid, [stage_id], context=context)[0][1]
return self.message_post(cr, uid, ids, body=_("Stage changed to <b>%s</b>.") % (stage_name), subtype="mt_crm_stage", context=context)
return self.message_post(cr, uid, ids, body= _("Stage changed to <b>%s</b>.") % (stage_name), subtype="crm.mt_lead_stage", context=context)
def case_get_note_msg_prefix(self, cr, uid, lead, context=None):
if isinstance(lead, (int, long)):
@@ -861,11 +861,11 @@ class crm_lead(base_stage, format_address, osv.osv):
def case_mark_lost_send_note(self, cr, uid, ids, context=None):
message = _("Opportunity has been <b>lost</b>.")
return self.message_post(cr, uid, ids, body=message, subtype="mt_crm_lost", context=context)
return self.message_post(cr, uid, ids, body=message, subtype="crm.mt_lead_lost", context=context)
def case_mark_won_send_note(self, cr, uid, ids, context=None):
message = _("Opportunity has been <b>won</b>.")
return self.message_post(cr, uid, ids, body=message, subtype="mt_crm_won", context=context)
return self.message_post(cr, uid, ids, body=message, subtype="crm.mt_lead_won", context=context)
def schedule_phonecall_send_note(self, cr, uid, ids, phonecall_id, action, context=None):
phonecall = self.pool.get('crm.phonecall').browse(cr, uid, [phonecall_id], context=context)[0]
@@ -882,7 +882,7 @@ class crm_lead(base_stage, format_address, osv.osv):
def convert_opportunity_send_note(self, cr, uid, lead, context=None):
message = _("Lead has been <b>converted to an opportunity</b>.")
lead.message_post(body=message)
lead.message_post(body=message, subtype="crm.mt_lead_convert_to_opportunity")
return True
def onchange_state(self, cr, uid, ids, state_id, context=None):
+43 -8
View File
@@ -154,21 +154,56 @@
<field name="object_id" search="[('model','=','crm.lead')]" model="ir.model"/>
</record>
<!-- mail subtype -->
<record id="mail.mt_crm_won" model="mail.message.subtype">
<field name="name">Won</field>
<field name="res_model">crm.lead</field>
</record>
<record id="mail.mt_crm_lost" model="mail.message.subtype">
<field name="name">Lost</field>
<record id="mt_lead_convert_to_opportunity" model="mail.message.subtype">
<field name="name">Convert to Opportunity</field>
<field name="res_model">crm.lead</field>
<field name="default" eval="False"/>
</record>
<record id="mail.mt_crm_stage" model="mail.message.subtype">
<record id="mt_lead_stage" model="mail.message.subtype">
<field name="name">Stage Changed</field>
<field name="res_model">crm.lead</field>
<field name="default" eval="False"/>
</record>
<record id="mt_lead_lost" model="mail.message.subtype">
<field name="name">Lost</field>
<field name="res_model">crm.lead</field>
<field name="default" eval="False"/>
</record>
<record id="mt_lead_won" model="mail.message.subtype">
<field name="name">Won</field>
<field name="res_model">crm.lead</field>
</record>
<record id="mt_salesteam_lead" model="mail.message.subtype">
<field name="name">Leads Created</field>
<field name="res_model">crm.case.section</field>
<field name="default" eval="False"/>
</record>
<record id="mt_salesteam_lead_opportunity" model="mail.message.subtype">
<field name="name">Leads to Opportunity</field>
<field name="res_model">crm.case.section</field>
<field name="default" eval="False"/>
</record>
<record id="mt_salesteam_stage" model="mail.message.subtype">
<field name="name">Leads Stage Changed</field>
<field name="res_model">crm.case.section</field>
<field name="default" eval="False"/>
</record>
<record id="mt_salesteam_lost" model="mail.message.subtype">
<field name="name">Opportunity Lost</field>
<field name="res_model">crm.case.section</field>
<field name="default" eval="False"/>
</record>
<record id="mt_salesteam_won" model="mail.message.subtype">
<field name="name">Opportunity Won</field>
<field name="res_model">crm.case.section</field>
</record>
</data>
</openerp>
+1 -1
View File
@@ -131,7 +131,7 @@
</page>
</notebook>
<div class="oe_chatter">
<field name="message_follower_ids" widget="mail_followers" help="Followers of this salesteam follow automatically all opportunities related to this salesteam."/>
<field name="message_follower_ids" widget="mail_followers" help="Follow this salesteam to automatically track the events associated to users of this team."/>
<field name="message_ids" widget="mail_thread"/>
</div>
</form>
@@ -107,13 +107,13 @@ class account_analytic_account(osv.osv):
def set_open(self, cr, uid, ids, context=None):
self.write(cr, uid, ids, {'state': 'open'}, context=context)
message = _("Contract has been <b>opened</b>.")
self.message_post(cr, uid, ids, body=message, context=context)
self.message_post(cr, uid, ids, body=message, subtype="hr_timesheet_invoice.mt_account_renewed", context=context)
return True
def set_pending(self, cr, uid, ids, context=None):
self.write(cr, uid, ids, {'state': 'pending'}, context=context)
message = _("Contract has been set as <b>pending</b>.")
self.message_post(cr, uid, ids, body=message, context=context)
self.message_post(cr, uid, ids, body=message, subtype="hr_timesheet_invoice.mt_account_renew", context=context)
return True
account_analytic_account()
@@ -23,14 +23,37 @@
</record>
<!-- mail: subtypes -->
<record id="mt_account_renew" model="mail.message.subtype">
<field name="name">Contract to Renew</field>
<field name="res_model">account.analytic.account</field>
</record>
<record id="mt_account_closed" model="mail.message.subtype">
<field name="name">finished</field>
<field name="name">Contract Finished</field>
<field name="res_model">account.analytic.account</field>
</record>
<record id="mt_account_renewed" model="mail.message.subtype">
<field name="name">Contract Renewed</field>
<field name="res_model">account.analytic.account</field>
</record>
<record id="mt_account_canceled" model="mail.message.subtype">
<field name="name">canceled</field>
<field name="name">Canceled</field>
<field name="res_model">account.analytic.account</field>
</record>
<record id="mt_salesteam_renew" model="mail.message.subtype">
<field name="name">Contract to Renew</field>
<field name="res_model">crm.case.section</field>
<field name="default" eval="False"/>
</record>
<record id="mt_salesteam_finished" model="mail.message.subtype">
<field name="name">Contract Finished</field>
<field name="res_model">crm.case.section</field>
<field name="default" eval="False"/>
</record>
<record id="mt_salesteam_renewed" model="mail.message.subtype">
<field name="name">Contract Renewed</field>
<field name="res_model">crm.case.section</field>
<field name="default" eval="False"/>
</record>
</data>
</openerp>
@@ -193,12 +193,17 @@ openerp_mail_followers = function(session, mail) {
/** Display subtypes: {'name': default, followed} */
display_subtypes:function (data) {
var self = this;
var subtype = [];
var subtype_list_ul = this.$('.oe_subtype_list');
subtype_list_ul.empty();
var records = data[this.view.datarecord.id || this.view.dataset.ids[0]].message_subtype_data;
_(records).each(function (record, record_name) {
record.name = record_name;
record.followed = record.followed || undefined;
subtype.push(record);
})
subtype.sort(function(a,b){return a.id - b.id});
_(subtype).each(function (record) {
$(session.web.qweb.render('mail.followers.subtype', {'record': record})).appendTo( self.$('.oe_subtype_list') );
});
},
+1 -1
View File
@@ -682,7 +682,7 @@ class sale_order(osv.osv):
def confirm_send_note(self, cr, uid, ids, context=None):
for obj in self.browse(cr, uid, ids, context=context):
self.message_post(cr, uid, [obj.id], body=_("Quotation for <em>%s</em> <b>converted</b> to Sale Order of %s %s.") % (obj.partner_id.name, obj.amount_total, obj.pricelist_id.currency_id.symbol), context=context)
self.message_post(cr, uid, [obj.id], body=_("Quotation for <em>%s</em> <b>converted</b> to Sale Order of %s %s.") % (obj.partner_id.name, obj.amount_total, obj.pricelist_id.currency_id.symbol), subtype="sale.mt_order_confirmed", context=context)
def cancel_send_note(self, cr, uid, ids, context=None):
for obj in self.browse(cr, uid, ids, context=context):
+23
View File
@@ -43,5 +43,28 @@
<field name="body"><![CDATA[<p>This application lets you create and send quotations and process your sales orders; from delivery to invoicing.</p>
<p>If you need to manage your sales pipeline (leads, opportunities, phonecalls), the <i>CRM</i> application may be useful. Use the Settings menu to install it.</p>]]></field>
</record>
<!-- Subtype: sale.order -->
<record id="mt_quotation_sent" model="mail.message.subtype">
<field name="name">Quotation sent</field>
<field name="res_model">sale.order</field>
</record>
<record id="mt_order_confirmed" model="mail.message.subtype">
<field name="name">Sale Order Confirmed</field>
<field name="res_model">sale.order</field>
</record>
<record id="mt_salesteam_sent" model="mail.message.subtype">
<field name="name">Quotation sent</field>
<field name="res_model">crm.case.section</field>
<field name="default" eval="False"/>
</record>
<record id="mt_salesteam_confirmed" model="mail.message.subtype">
<field name="name">Sale Order Confirmed</field>
<field name="res_model">crm.case.section</field>
<field name="default" eval="False"/>
</record>
</data>
</openerp>