bzr revid: fp@tinyerp.com-20120926085454-0tk5yhd664es3kk1
This commit is contained in:
Fabien Pinckaers 2012-09-26 10:54:54 +02:00
commit d6daf0ff88
12 changed files with 59 additions and 15 deletions

View File

@ -307,7 +307,7 @@ class base_stage(object):
destination=False) destination=False)
def remind_user(self, cr, uid, ids, context=None, attach=False, destination=True): def remind_user(self, cr, uid, ids, context=None, attach=False, destination=True):
if 'message_post' in self: if hasattr(self, 'message_post'):
for case in self.browse(cr, uid, ids, context=context): for case in self.browse(cr, uid, ids, context=context):
if destination: if destination:
recipient_id = case.user_id.partner_id.id recipient_id = case.user_id.partner_id.id

View File

@ -300,6 +300,10 @@ class crm_lead(base_stage, format_address, osv.osv):
'city' : partner.city, 'city' : partner.city,
'state_id' : partner.state_id and partner.state_id.id or False, 'state_id' : partner.state_id and partner.state_id.id or False,
'country_id' : partner.country_id and partner.country_id.id or False, 'country_id' : partner.country_id and partner.country_id.id or False,
'email_from' : partner.email,
'phone' : partner.phone,
'mobile' : partner.mobile,
'fax' : partner.fax,
} }
return {'value' : values} return {'value' : values}
@ -594,6 +598,8 @@ class crm_lead(base_stage, format_address, osv.osv):
'stage_id': stage_id or False, 'stage_id': stage_id or False,
'date_action': time.strftime('%Y-%m-%d %H:%M:%S'), 'date_action': time.strftime('%Y-%m-%d %H:%M:%S'),
'date_open': time.strftime('%Y-%m-%d %H:%M:%S'), 'date_open': time.strftime('%Y-%m-%d %H:%M:%S'),
'email_from': customer and customer.email or lead.email_from,
'phone': customer and customer.phone or lead.phone,
} }
def convert_opportunity(self, cr, uid, ids, partner_id, user_ids=False, section_id=False, context=None): def convert_opportunity(self, cr, uid, ids, partner_id, user_ids=False, section_id=False, context=None):

View File

@ -60,5 +60,18 @@
<field name="domain_force">['|',('user_id','=',user.id),('show_as','=','busy')]</field> <field name="domain_force">['|',('user_id','=',user.id),('show_as','=','busy')]</field>
</record> </record>
<record id="crm_rule_personal_phonecall" model="ir.rule">
<field name="name">Personal Phone Calls</field>
<field ref="model_crm_phonecall" name="model_id"/>
<field name="domain_force">['|',('user_id','=',user.id),('user_id','=',False)]</field>
<field name="groups" eval="[(4, ref('base.group_sale_salesman'))]"/>
</record>
<record id="crm_rule_all_phones" model="ir.rule">
<field name="name">All Phones</field>
<field ref="model_crm_phonecall" name="model_id"/>
<field name="domain_force">[(1,'=',1)]</field>
<field name="groups" eval="[(4, ref('base.group_sale_salesman_all_leads'))]"/>
</record>
</data> </data>
</openerp> </openerp>

View File

@ -55,6 +55,8 @@ class crm_lead2partner(osv.osv_memory):
partner = self.pool.get('res.partner') partner = self.pool.get('res.partner')
lead = self.pool.get('crm.lead') lead = self.pool.get('crm.lead')
this = lead.browse(cr, uid, context.get('active_id'), context=context) this = lead.browse(cr, uid, context.get('active_id'), context=context)
if this.partner_id:
return this.partner_id.id
partner_id = False partner_id = False
if this.email_from: if this.email_from:
partner_ids = partner.search(cr, uid, [('email', '=', this.email_from)], context=context) partner_ids = partner.search(cr, uid, [('email', '=', this.email_from)], context=context)

View File

@ -10,7 +10,7 @@
<menuitem id="base.menu_aftersale" name="After-Sale Services" <menuitem id="base.menu_aftersale" name="After-Sale Services"
groups="base.group_sale_salesman" groups="base.group_sale_salesman"
parent="base.menu_main_pm" sequence="2" /> parent="base.menu_base_partner" sequence="2" />
<!-- Claims Menu --> <!-- Claims Menu -->
<record model="ir.actions.act_window" id="crm_case_categ_claim0"> <record model="ir.actions.act_window" id="crm_case_categ_claim0">

View File

@ -20,6 +20,7 @@
############################################################################## ##############################################################################
from base_status.base_state import base_state from base_status.base_state import base_state
from base_status.base_stage import base_stage
from crm import crm from crm import crm
from osv import fields, osv from osv import fields, osv
import tools import tools
@ -31,7 +32,7 @@ CRM_HELPDESK_STATES = (
crm.AVAILABLE_STATES[4][0], # Pending crm.AVAILABLE_STATES[4][0], # Pending
) )
class crm_helpdesk(base_state, osv.osv): class crm_helpdesk(base_state, base_stage, osv.osv):
""" Helpdesk Cases """ """ Helpdesk Cases """
_name = "crm.helpdesk" _name = "crm.helpdesk"

View File

@ -3,11 +3,10 @@
<data noupdate="1"> <data noupdate="1">
<!-- Top menu item --> <!-- Top menu item -->
<menuitem name="Project" <menuitem name="Sales"
id="base.menu_main_pm" id="base.menu_base_partner"/>
sequence="90"/>
<menuitem id="base.menu_aftersale" name="After-Sale Services" sequence="2" parent="base.menu_main_pm" /> <menuitem id="base.menu_aftersale" name="After-Sale Services" sequence="2" parent="base.menu_base_partner" />
<!-- Help Desk (menu) --> <!-- Help Desk (menu) -->

View File

@ -34,7 +34,7 @@
<field name="arch" type="xml"> <field name="arch" type="xml">
<form string="Open Questionnaire" version="7.0"> <form string="Open Questionnaire" version="7.0">
<separator colspan="4" string="Questionnaire"/> <separator colspan="4" string="Questionnaire"/>
<field name="question_ans_ids" colspan="4" nolabel="1" mode="tree,form" width="550" height="200"/> <field name="question_ans_ids" colspan="4" nolabel="1" mode="tree" width="550" height="200"/>
<footer> <footer>
<button name="questionnaire_compute" string="Save Data" type="object" class="oe_highlight"/> <button name="questionnaire_compute" string="Save Data" type="object" class="oe_highlight"/>
or or

View File

@ -33,7 +33,9 @@ Using this you can directly open Google Map from the URL widget.""",
'website': 'http://www.openerp.com', 'website': 'http://www.openerp.com',
'images': ['images/google_map.jpeg'], 'images': ['images/google_map.jpeg'],
'depends': ['base'], 'depends': ['base'],
'data': [], 'data': [
'google_map_view.xml'
],
'demo': [], 'demo': [],
'js': ['static/src/js/google_map.js'], 'js': ['static/src/js/google_map.js'],
'installable': True, 'installable': True,

View File

@ -25,8 +25,7 @@ class launch_map(osv.osv):
_inherit = "res.partner" _inherit = "res.partner"
def open_map(self, cr, uid, ids, context=None): def open_map(self, cr, uid, ids, context=None):
address_obj= self.pool.get('res.partner') partner = self.browse(cr, uid, ids, context=context)[0]
partner = address_obj.browse(cr, uid, ids, context=context)[0]
url="http://maps.google.com/maps?oi=map&q=" url="http://maps.google.com/maps?oi=map&q="
if partner.street: if partner.street:
url+=partner.street.replace(' ','+') url+=partner.street.replace(' ','+')
@ -39,9 +38,9 @@ class launch_map(osv.osv):
if partner.zip: if partner.zip:
url+='+'+partner.zip.replace(' ','+') url+='+'+partner.zip.replace(' ','+')
return { return {
'type': 'ir.actions.act_url', 'type': 'ir.actions.act_url',
'url':url, 'url':url,
'target': 'new' 'target': 'new'
} }
launch_map() launch_map()

View File

@ -0,0 +1,22 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
<record model="ir.ui.view" id="view_partner_google_map_inherit">
<field name="name">res.partner.google.map.inherit</field>
<field name="model">res.partner</field>
<field name="inherit_id" ref="base.view_partner_form"/>
<field name="arch" type="xml">
<field name="website" position="before">
<label for="open_map" string="Open Google Map"/>
<div>
<button name="open_map"
string="Map" type="object"/>
</div>
</field>
</field>
</record>
</data>
</openerp>

View File

@ -219,7 +219,7 @@
</record> </record>
<menuitem <menuitem
action="product_pricelist_action2" id="menu_product_pricelist_action2" action="product_pricelist_action2" id="menu_product_pricelist_action2"
parent="base.menu_base_config" sequence="20" groups="product.group_sale_pricelist"/> parent="product.menu_product_pricelist_main" sequence="1" groups="product.group_sale_pricelist"/>
<record id="product_price_type_view" model="ir.ui.view"> <record id="product_price_type_view" model="ir.ui.view">
<field name="name">product.price.type.form</field> <field name="name">product.price.type.form</field>