[MERGE] Merge res.partner.address from crm reatled module
bzr revid: sbh@tinyerp.com-20120307095644-ah9pasc3ksg4qkcv
This commit is contained in:
@@ -60,7 +60,6 @@ class crm_lead(crm_case, osv.osv):
|
||||
'stage_id': _read_group_stage_ids
|
||||
}
|
||||
|
||||
# overridden because res.partner.address has an inconvenient name_get,
|
||||
# especially if base_contact is installed.
|
||||
def name_get(self, cr, user, ids, context=None):
|
||||
if isinstance(ids, (int, long)):
|
||||
@@ -147,7 +146,6 @@ class crm_lead(crm_case, osv.osv):
|
||||
return res
|
||||
|
||||
_columns = {
|
||||
# Overridden from res.partner.address:
|
||||
'partner_id': fields.many2one('res.partner', 'Partner', ondelete='set null',
|
||||
select=True, help="Optional linked partner, usually after conversion of the lead"),
|
||||
|
||||
@@ -172,7 +170,7 @@ class crm_lead(crm_case, osv.osv):
|
||||
'contact_name': fields.char('Contact Name', size=64),
|
||||
'partner_name': fields.char("Customer Name", size=64,help='The name of the future partner company that will be created while converting the lead into opportunity', select=1),
|
||||
'optin': fields.boolean('Opt-In', help="If opt-in is checked, this contact has accepted to receive emails."),
|
||||
'optout': fields.boolean('Opt-Out', help="If opt-out is checked, this contact has refused to receive emails or unsubscribed to a campaign."),
|
||||
'opt_out': fields.boolean('Opt-Out', help="If opt-out is checked, this contact has refused to receive emails or unsubscribed to a campaign."),
|
||||
'type':fields.selection([ ('lead','Lead'), ('opportunity','Opportunity'), ],'Type', help="Type is used to separate Leads and Opportunities"),
|
||||
'priority': fields.selection(crm.AVAILABLE_PRIORITIES, 'Priority', select=True),
|
||||
'date_closed': fields.datetime('Closed', readonly=True),
|
||||
@@ -233,10 +231,10 @@ class crm_lead(crm_case, osv.osv):
|
||||
return {'value': {'email_from': address.email, 'phone': address.phone, 'country_id': address.country_id.id}}
|
||||
|
||||
def on_change_optin(self, cr, uid, ids, optin):
|
||||
return {'value':{'optin':optin,'optout':False}}
|
||||
return {'value':{'optin':optin,'opt_out':False}}
|
||||
|
||||
def on_change_optout(self, cr, uid, ids, optout):
|
||||
return {'value':{'optout':optout,'optin':False}}
|
||||
return {'value':{'opt_out':optout,'optin':False}}
|
||||
|
||||
def onchange_stage_id(self, cr, uid, ids, stage_id, context={}):
|
||||
if not stage_id:
|
||||
|
||||
@@ -186,7 +186,7 @@
|
||||
<group colspan="2" col="2">
|
||||
<separator string="Mailings" colspan="2" col="2"/>
|
||||
<field name="optin" on_change="on_change_optin(optin)"/>
|
||||
<field name="optout" on_change="on_change_optout(optout)"/>
|
||||
<field name="opt_out" on_change="on_change_optout(opt_out)"/>
|
||||
</group>
|
||||
<group colspan="2" col="2">
|
||||
<separator string="Statistics" colspan="2" col="2"/>
|
||||
@@ -539,7 +539,7 @@
|
||||
<group colspan="2" col="2">
|
||||
<separator string="Mailings" colspan="2"/>
|
||||
<field name="optin" on_change="on_change_optin(optin)"/>
|
||||
<field name="optout" on_change="on_change_optout(optout)"/>
|
||||
<field name="opt_out" on_change="on_change_optout(opt_out)"/>
|
||||
</group>
|
||||
</page>
|
||||
<page string="Communication & History" groups="base.group_extended">
|
||||
|
||||
@@ -26,13 +26,11 @@ access_crm_case_resource_type_manager,crm_case_resource_type manager,model_crm_c
|
||||
access_crm_phonecall_report_user,crm.phonecall.report.user,model_crm_phonecall_report,base.group_sale_salesman,1,0,0,0
|
||||
access_crm_phonecall_report_manager,crm.phonecall.report,model_crm_phonecall_report,base.group_sale_manager,1,1,1,1
|
||||
access_res_partner_manager,res.partner.crm.manager,base.model_res_partner,base.group_sale_manager,1,0,0,0
|
||||
access_res_partner_address_manager,res.partner.address.crm.user.manager,base.model_res_partner_address,base.group_sale_manager,1,0,0,0
|
||||
access_res_partner_category_manager,res.partner.category.crm.manager,base.model_res_partner_category,base.group_sale_manager,1,0,0,0
|
||||
mail_mail_message_manager,mail.message.manager,mail.model_mail_message,base.group_sale_manager,1,0,0,0
|
||||
access_calendar_attendee_crm_user,calendar.attendee.crm.user,model_calendar_attendee,base.group_sale_salesman,1,1,1,0
|
||||
access_calendar_attendee_crm_manager,calendar.attendee.crm.manager,model_calendar_attendee,base.group_sale_manager,1,1,1,1
|
||||
access_res_partner,res.partner.crm.user,base.model_res_partner,base.group_sale_salesman,1,1,1,0
|
||||
access_res_partner_address,res.partner.address.crm.user,base.model_res_partner_address,base.group_sale_salesman,1,1,1,0
|
||||
access_res_partner_category,res.partner.category.crm.user,base.model_res_partner_category,base.group_sale_salesman,1,1,1,0
|
||||
mail_mailgate_thread,mail.thread,mail.model_mail_thread,base.group_sale_salesman,1,1,1,1
|
||||
mail_gateway_mail_message_user,mail.message.user,mail.model_mail_message,base.group_sale_salesman,1,1,1,1
|
||||
|
||||
|
@@ -15,7 +15,7 @@
|
||||
name: 'Need 20 Days of Consultancy'
|
||||
type: opportunity
|
||||
state: draft
|
||||
optout: True
|
||||
opt_out: True
|
||||
-
|
||||
I create phonecall record to call partner onchange method.
|
||||
-
|
||||
|
||||
@@ -70,9 +70,6 @@ class crm_claim(crm.crm_case, osv.osv):
|
||||
" mail gateway."),
|
||||
'company_id': fields.many2one('res.company', 'Company'),
|
||||
'partner_id': fields.many2one('res.partner', 'Partner'),
|
||||
'partner_address_id': fields.many2one('res.partner.address', 'Partner Contact', \
|
||||
# domain="[('partner_id','=',partner_id)]"
|
||||
),
|
||||
'email_cc': fields.text('Watchers Emails', size=252, help="These email addresses will be added to the CC field of all inbound and outbound emails for this record before being sent. Separate multiple email addresses with a comma"),
|
||||
'email_from': fields.char('Email', size=128, help="These people will receive email."),
|
||||
'partner_phone': fields.char('Phone', size=32),
|
||||
@@ -89,7 +86,6 @@ class crm_claim(crm.crm_case, osv.osv):
|
||||
_defaults = {
|
||||
'user_id': crm.crm_case._get_default_user,
|
||||
'partner_id': crm.crm_case._get_default_partner,
|
||||
'partner_address_id': crm.crm_case._get_default_partner_address,
|
||||
'email_from':crm.crm_case. _get_default_email,
|
||||
'state': lambda *a: 'draft',
|
||||
'section_id':crm.crm_case. _get_section,
|
||||
@@ -105,23 +101,11 @@ class crm_claim(crm.crm_case, osv.osv):
|
||||
:param email: ignored
|
||||
"""
|
||||
if not part:
|
||||
return {'value': {'partner_address_id': False,
|
||||
'email_from': False,
|
||||
'partner_phone': False
|
||||
}}
|
||||
addr = self.pool.get('res.partner').address_get(cr, uid, [part], ['contact'])
|
||||
data = {'partner_address_id': addr['contact']}
|
||||
data.update(self.onchange_partner_address_id(cr, uid, ids, addr['contact'])['value'])
|
||||
return {'value': data}
|
||||
|
||||
def onchange_partner_address_id(self, cr, uid, ids, add, email=False):
|
||||
"""This function returns value of partner email based on Partner Address
|
||||
:param part: Partner's id
|
||||
:param email: ignored
|
||||
"""
|
||||
if not add:
|
||||
return {'value': {'email_from': False}}
|
||||
address = self.pool.get('res.partner.address').browse(cr, uid, add)
|
||||
return {'value': {'email_from': False,
|
||||
'partner_phone': False
|
||||
}
|
||||
}
|
||||
address = self.pool.get('res.partner').browse(cr, uid, part)
|
||||
return {'value': {'email_from': address.email, 'partner_phone': address.phone}}
|
||||
|
||||
def case_open(self, cr, uid, ids, *args):
|
||||
|
||||
@@ -7,7 +7,6 @@
|
||||
-->
|
||||
|
||||
<record id="crm_case_claim01" model="crm.claim">
|
||||
<field name="partner_address_id" ref="base.res_partner_address_15"/>
|
||||
<field eval="time.strftime('%Y-%m-04 10:45:36')" name="date"/>
|
||||
<field name="partner_id" ref="base.res_partner_11"/>
|
||||
<field eval=""3"" name="priority"/>
|
||||
@@ -21,7 +20,6 @@
|
||||
</record>
|
||||
|
||||
<record id="crm_case_claim02" model="crm.claim">
|
||||
<field name="partner_address_id" ref="base.res_partner_address_6"/>
|
||||
<field eval="time.strftime('%Y-%m-11 11:19:25')" name="date"/>
|
||||
<field name="partner_id" ref="base.res_partner_6"/>
|
||||
<field eval=""4"" name="priority"/>
|
||||
@@ -35,7 +33,6 @@
|
||||
</record>
|
||||
|
||||
<record id="crm_case_claim03" model="crm.claim">
|
||||
<field name="partner_address_id" ref="base.res_partner_address_2"/>
|
||||
<field eval="time.strftime('%Y-%m-15 17:44:12')" name="date"/>
|
||||
<field name="partner_id" ref="base.res_partner_10"/>
|
||||
<field eval=""2"" name="priority"/>
|
||||
@@ -63,7 +60,6 @@
|
||||
</record>
|
||||
|
||||
<record id="crm_case_claim05" model="crm.claim">
|
||||
<field name="partner_address_id" ref="base.res_partner_address_10"/>
|
||||
<field eval="time.strftime('%Y-%m-28 16:20:43')" name="date"/>
|
||||
<field name="partner_id" ref="base.res_partner_5"/>
|
||||
<field eval=""3"" name="priority"/>
|
||||
@@ -77,7 +73,6 @@
|
||||
</record>
|
||||
|
||||
<record id="crm_case_claim06" model="crm.claim">
|
||||
<field name="partner_address_id" ref="base.res_partner_address_1"/>
|
||||
<field name="partner_id" ref="base.res_partner_9"/>
|
||||
<field eval=""3"" name="priority"/>
|
||||
<field name="user_id" ref="base.user_root"/>
|
||||
|
||||
@@ -90,8 +90,6 @@
|
||||
<separator colspan="2" string="Claim Reporter"/>
|
||||
<field name="partner_id" string="Partner"
|
||||
on_change="onchange_partner_id(partner_id)" />
|
||||
<field name="partner_address_id" string="Contact"
|
||||
on_change="onchange_partner_address_id(partner_address_id, email_from)" />
|
||||
<field name="partner_phone"/>
|
||||
<field name="email_from" widget="email"/>
|
||||
</group>
|
||||
@@ -289,15 +287,5 @@
|
||||
res_model="crm.claim"
|
||||
src_model="res.partner"/>
|
||||
|
||||
|
||||
<act_window
|
||||
domain="[('partner_address_id', '=', active_id)]"
|
||||
context="{'default_partner_address_id': active_id}"
|
||||
id="act_claim_partner_address"
|
||||
name="Claims"
|
||||
view_mode="tree,form"
|
||||
res_model="crm.claim"
|
||||
src_model="res.partner.address"/>
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
|
||||
@@ -47,8 +47,6 @@ class crm_fundraising(crm.crm_case, osv.osv):
|
||||
select=True, help='Sales team to which Case belongs to. Define Responsible user and Email account for mail gateway.'),
|
||||
'company_id': fields.many2one('res.company', 'Company'),
|
||||
'partner_id': fields.many2one('res.partner', 'Partner'),
|
||||
'partner_address_id': fields.many2one('res.partner.address', 'Partner Contact', \
|
||||
domain="[('partner_id','=',partner_id)]"),
|
||||
'email_cc': fields.text('Watchers Emails', size=252 , help="These email addresses will be added to the CC field of all inbound and outbound emails for this record before being sent. Separate multiple email addresses with a comma"),
|
||||
'email_from': fields.char('Email', size=128, help="These people will receive email."),
|
||||
'date_closed': fields.datetime('Closed', readonly=True),
|
||||
@@ -100,7 +98,6 @@ class crm_fundraising(crm.crm_case, osv.osv):
|
||||
'active': 1,
|
||||
'user_id': crm.crm_case._get_default_user,
|
||||
'partner_id': crm.crm_case._get_default_partner,
|
||||
'partner_address_id': crm.crm_case._get_default_partner_address,
|
||||
'email_from': crm.crm_case. _get_default_email,
|
||||
'state': 'draft',
|
||||
'section_id': crm.crm_case. _get_section,
|
||||
|
||||
@@ -3,7 +3,6 @@
|
||||
<data noupdate="1">
|
||||
<record id="crm_case_helpingstreetchildren0" model="crm.fundraising">
|
||||
<field eval="50" name="probability"/>
|
||||
<field name="partner_address_id" ref="base.res_partner_address_1"/>
|
||||
<field eval="1" name="active"/>
|
||||
<field name="type_id" ref="type_fund3"/>
|
||||
<field eval="3.0" name="duration"/>
|
||||
@@ -22,7 +21,6 @@
|
||||
<data noupdate="1">
|
||||
<record id="crm_case_helpingearthquakevictims0" model="crm.fundraising">
|
||||
<field eval="80" name="probability"/>
|
||||
<field name="partner_address_id" ref="base.main_address"/>
|
||||
<field eval="1" name="active"/>
|
||||
<field name="type_id" ref="type_fund4"/>
|
||||
<field name="partner_id" ref="base.main_partner"/>
|
||||
@@ -39,7 +37,6 @@
|
||||
</data>
|
||||
<data noupdate="1">
|
||||
<record id="crm_case_donatingbookstoschoollibraries0" model="crm.fundraising">
|
||||
<field name="partner_address_id" ref="base.res_partner_address_zen"/>
|
||||
<field eval="1" name="active"/>
|
||||
<field name="type_id" ref="type_fund1"/>
|
||||
<field eval="5.0" name="duration"/>
|
||||
@@ -56,7 +53,6 @@
|
||||
</data>
|
||||
<data noupdate="1">
|
||||
<record id="crm_case_renovatinggovernmentschools0" model="crm.fundraising">
|
||||
<field name="partner_address_id" ref="base.res_partner_address_7"/>
|
||||
<field eval="1" name="active"/>
|
||||
<field name="type_id" ref="type_fund2"/>
|
||||
<field eval="3.0" name="duration"/>
|
||||
@@ -74,7 +70,6 @@
|
||||
</data>
|
||||
<data noupdate="1">
|
||||
<record id="crm_case_donatingambulancestohospitals0" model="crm.fundraising">
|
||||
<field name="partner_address_id" ref="base.res_partner_address_13"/>
|
||||
<field eval="1" name="active"/>
|
||||
<field name="type_id" ref="type_fund4"/>
|
||||
<field name="partner_id" ref="base.res_partner_14"/>
|
||||
@@ -91,7 +86,6 @@
|
||||
</data>
|
||||
<data noupdate="1">
|
||||
<record id="crm_case_donatinghospitalequipments0" model="crm.fundraising">
|
||||
<field name="partner_address_id" ref="base.res_partner_address_2"/>
|
||||
<field eval="1" name="active"/>
|
||||
<field name="type_id" ref="type_fund3"/>
|
||||
<field name="partner_id" ref="base.res_partner_10"/>
|
||||
@@ -109,7 +103,6 @@
|
||||
</data>
|
||||
<data noupdate="1">
|
||||
<record id="crm_case_encouragingarts0" model="crm.fundraising">
|
||||
<field name="partner_address_id" ref="base.res_partner_address_14"/>
|
||||
<field eval="1" name="active"/>
|
||||
<field name="type_id" ref="type_fund2"/>
|
||||
<field eval="7.0" name="duration"/>
|
||||
@@ -127,7 +120,6 @@
|
||||
<data noupdate="1">
|
||||
<record id="crm_case_promotingculturalprogramsandpreservingdyingartforms0" model="crm.fundraising">
|
||||
<field eval="10" name="probability"/>
|
||||
<field name="partner_address_id" ref="base.res_partner_address_1"/>
|
||||
<field eval="1" name="active"/>
|
||||
<field name="type_id" ref="type_fund1"/>
|
||||
<field eval="6.0" name="duration"/>
|
||||
|
||||
@@ -94,10 +94,6 @@
|
||||
<field name="partner_id" select="1"
|
||||
on_change="onchange_partner_id(partner_id, email_from)"
|
||||
colspan="2" />
|
||||
<field name="partner_address_id"
|
||||
string="Contact"
|
||||
on_change="onchange_partner_address_id(partner_address_id, email_from)"
|
||||
colspan="1" />
|
||||
<field name="email_from" colspan="2"/>
|
||||
</group>
|
||||
<group colspan="2" col="2">
|
||||
|
||||
@@ -58,8 +58,6 @@ class crm_helpdesk(crm.crm_case, osv.osv):
|
||||
'company_id': fields.many2one('res.company', 'Company'),
|
||||
'date_closed': fields.datetime('Closed', readonly=True),
|
||||
'partner_id': fields.many2one('res.partner', 'Partner'),
|
||||
'partner_address_id': fields.many2one('res.partner.address', 'Partner Contact', \
|
||||
domain="[('partner_id','=',partner_id)]"),
|
||||
'email_cc': fields.text('Watchers Emails', size=252 , help="These email addresses will be added to the CC field of all inbound and outbound emails for this record before being sent. Separate multiple email addresses with a comma"),
|
||||
'email_from': fields.char('Email', size=128, help="These people will receive email."),
|
||||
'date': fields.datetime('Date'),
|
||||
@@ -86,7 +84,6 @@ class crm_helpdesk(crm.crm_case, osv.osv):
|
||||
'active': lambda *a: 1,
|
||||
'user_id': crm.crm_case._get_default_user,
|
||||
'partner_id': crm.crm_case._get_default_partner,
|
||||
'partner_address_id': crm.crm_case._get_default_partner_address,
|
||||
'email_from': crm.crm_case. _get_default_email,
|
||||
'state': lambda *a: 'draft',
|
||||
'date': lambda *a: time.strftime('%Y-%m-%d %H:%M:%S'),
|
||||
|
||||
@@ -38,7 +38,6 @@
|
||||
</record>
|
||||
|
||||
<record id="crm_helpdesk_howtocreateanewmodule0" model="crm.helpdesk">
|
||||
<field name="partner_address_id" ref="base.res_partner_address_9"/>
|
||||
<field eval="1" name="active"/>
|
||||
<field name="partner_id" ref="base.res_partner_2"/>
|
||||
<field name="user_id" ref="base.user_root"/>
|
||||
|
||||
@@ -47,9 +47,6 @@
|
||||
<field name="partner_id" colspan="2"
|
||||
on_change="onchange_partner_id(partner_id, email_from)"
|
||||
select="1" />
|
||||
<field name="partner_address_id" colspan="2"
|
||||
on_change="onchange_partner_address_id(partner_address_id, email_from)"
|
||||
/>
|
||||
<newline/>
|
||||
<field name="email_from" colspan="2"/>
|
||||
<button name="remind_partner"
|
||||
|
||||
@@ -37,7 +37,7 @@ The most appropriate partner can be assigned.
|
||||
You can also use the geolocalization without using the GPS coordinates.
|
||||
""",
|
||||
'author': 'OpenERP SA',
|
||||
'depends': ['crm'],
|
||||
'depends': ['crm', 'account'],
|
||||
'demo_xml': [
|
||||
'res_partner_demo.xml',
|
||||
],
|
||||
|
||||
@@ -89,14 +89,11 @@ class res_partner(osv.osv):
|
||||
}
|
||||
def geo_localize(self, cr, uid, ids, context=None):
|
||||
for partner in self.browse(cr, uid, ids, context=context):
|
||||
if not partner.address:
|
||||
continue
|
||||
contact = partner.address[0] #TOFIX: should be get latitude and longitude for default contact?
|
||||
addr = ', '.join(filter(None, [
|
||||
contact.street,
|
||||
"%s %s" % (contact.zip , contact.city),
|
||||
contact.state_id and contact.state_id.name,
|
||||
contact.country_id and contact.country_id.name]))
|
||||
partner.street,
|
||||
"%s %s" % (partner.zip , partner.city),
|
||||
partner.state_id and partner.state_id.name,
|
||||
partner.country_id and partner.country_id.name]))
|
||||
result = geo_find(tools.ustr(addr))
|
||||
if result:
|
||||
self.write(cr, uid, [partner.id], {
|
||||
@@ -192,7 +189,7 @@ class crm_lead(osv.osv):
|
||||
('partner_weight', '>', 0),
|
||||
('partner_latitude', '>', latitude - 2), ('partner_latitude', '<', latitude + 2),
|
||||
('partner_longitude', '>', longitude - 1.5), ('partner_longitude', '<', longitude + 1.5),
|
||||
('country', '=', lead.country_id.id),
|
||||
('country_id', '=', lead.country_id.id),
|
||||
], context=context)
|
||||
|
||||
# 2. second way: in the same country, big area
|
||||
@@ -201,7 +198,7 @@ class crm_lead(osv.osv):
|
||||
('partner_weight', '>', 0),
|
||||
('partner_latitude', '>', latitude - 4), ('partner_latitude', '<', latitude + 4),
|
||||
('partner_longitude', '>', longitude - 3), ('partner_longitude', '<' , longitude + 3),
|
||||
('country', '=', lead.country_id.id),
|
||||
('country_id', '=', lead.country_id.id),
|
||||
], context=context)
|
||||
|
||||
|
||||
@@ -210,7 +207,7 @@ class crm_lead(osv.osv):
|
||||
# still haven't found any, let's take all partners in the country!
|
||||
partner_ids = res_partner.search(cr, uid, [
|
||||
('partner_weight', '>', 0),
|
||||
('country', '=', lead.country_id.id),
|
||||
('country_id', '=', lead.country_id.id),
|
||||
], context=context)
|
||||
|
||||
# 6. sixth way: closest partner whatsoever, just to have at least one result
|
||||
|
||||
@@ -51,7 +51,7 @@ class crm_partner_report_assign(osv.osv):
|
||||
SELECT
|
||||
coalesce(i.id, p.id - 1000000000) as id,
|
||||
p.id as partner_id,
|
||||
(SELECT country_id FROM res_partner_address a WHERE a.partner_id=p.id AND country_id is not null limit 1) as country_id,
|
||||
(SELECT country_id FROM res_partner a WHERE a.partner_id=p.id AND country_id is not null limit 1) as country_id,
|
||||
p.grade_id,
|
||||
p.activation,
|
||||
p.date_review,
|
||||
|
||||
@@ -37,7 +37,6 @@ class crm_lead_forward_to_partner(osv.osv_memory):
|
||||
'user_id': fields.many2one('res.users', "User"),
|
||||
'attachment_ids': fields.many2many('ir.attachment','lead_forward_to_partner_attachment_rel', 'wizard_id', 'attachment_id', 'Attachments'),
|
||||
'partner_id' : fields.many2one('res.partner', 'Partner'),
|
||||
'address_id' : fields.many2one('res.partner.address', 'Address'),
|
||||
'history': fields.selection([('info', 'Case Information'), ('latest', 'Latest email'), ('whole', 'Whole Story')], 'Send history', required=True),
|
||||
}
|
||||
|
||||
@@ -75,27 +74,15 @@ class crm_lead_forward_to_partner(osv.osv_memory):
|
||||
"""This function fills address information based on partner/user selected
|
||||
"""
|
||||
if not partner_id:
|
||||
return {'value' : {'email_to' : False, 'address_id': False}}
|
||||
|
||||
return {'value' : {'email_to' : False}}
|
||||
partner_obj = self.pool.get('res.partner')
|
||||
addr = partner_obj.address_get(cr, uid, [partner_id], ['contact'])
|
||||
data = {'address_id': addr['contact']}
|
||||
data.update(self.on_change_address(cr, uid, ids, addr['contact'])['value'])
|
||||
|
||||
data = {}
|
||||
partner = partner_obj.browse(cr, uid, [partner_id])
|
||||
user_id = partner and partner[0].user_id or False
|
||||
email = user_id and user_id.user_email or ''
|
||||
data.update({'email_cc' : email, 'user_id': user_id and user_id.id or False})
|
||||
return {
|
||||
'value' : data,
|
||||
'domain' : {'address_id' : partner_id and "[('partner_id', '=', partner_id)]" or "[]"}
|
||||
}
|
||||
|
||||
def on_change_address(self, cr, uid, ids, address_id):
|
||||
email = ''
|
||||
if address_id:
|
||||
email = self.pool.get('res.partner.address').browse(cr, uid, address_id).email
|
||||
return {'value': {'email_to' : email}}
|
||||
data.update({'email_from': partner and partner[0].email or "",
|
||||
'email_cc' : user_id and user_id.user_email or '',
|
||||
'user_id': user_id and user_id.id or False})
|
||||
return {'value' : data}
|
||||
|
||||
def action_forward(self, cr, uid, ids, context=None):
|
||||
"""
|
||||
|
||||
@@ -20,7 +20,6 @@
|
||||
</group>
|
||||
<group col="4" colspan="4" attrs="{'invisible' : [('send_to','!=','partner')]}">
|
||||
<field name="partner_id" attrs="{'required' : [('send_to','=','partner')]}" on_change="on_change_partner(partner_id)" colspan="2" />
|
||||
<field name="address_id" string="Contact" on_change="on_change_address(address_id)" colspan="2" />
|
||||
</group>
|
||||
</group>
|
||||
<separator string="" colspan="4" />
|
||||
|
||||
@@ -22,13 +22,12 @@
|
||||
I'm creating new partner "John" with his email "info@mycustomer.com".
|
||||
-
|
||||
!record {model: res.partner, id: res_partner_john0}:
|
||||
address:
|
||||
- city: Bruxelles
|
||||
country_id: base.be
|
||||
street: Rue des Palais 51, bte 33
|
||||
type: default
|
||||
zip: '1000'
|
||||
email: 'info@mycustomer.com'
|
||||
city: Bruxelles
|
||||
country_id: base.be
|
||||
street: Rue des Palais 51, bte 33
|
||||
type: default
|
||||
zip: '1000'
|
||||
email: 'info@mycustomer.com'
|
||||
name: John
|
||||
category_id:
|
||||
- res_partner_category_customers0
|
||||
|
||||
Reference in New Issue
Block a user