openerp-dev-web team mailing list archive
-
openerp-dev-web team
-
Mailing list archive
-
Message #05651
lp:~openerp-dev/openobject-addons/trunk-import_salesforce-backlog3-jam into lp:~openerp-dev/openobject-addons/trunk-import_salesforce
Jigar Amin - OpenERP has proposed merging lp:~openerp-dev/openobject-addons/trunk-import_salesforce-backlog3-jam into lp:~openerp-dev/openobject-addons/trunk-import_salesforce.
Requested reviews:
Bhumika (OpenERP) (sbh-openerp)
For more details, see:
https://code.launchpad.net/~openerp-dev/openobject-addons/trunk-import_salesforce-backlog3-jam/+merge/58233
Hello,
Changes with merge proposal
+ Added the Missing Context condition for all methods.
+ Separated the Attachments import
Kindly Review this.
Thank You
--
https://code.launchpad.net/~openerp-dev/openobject-addons/trunk-import_salesforce-backlog3-jam/+merge/58233
Your team OpenERP R&D Team is subscribed to branch lp:~openerp-dev/openobject-addons/trunk-import_salesforce.
=== modified file 'import_salesforce/import_sf.py'
--- import_salesforce/import_sf.py 2011-04-18 07:27:51 +0000
+++ import_salesforce/import_sf.py 2011-04-19 06:53:30 +0000
@@ -80,10 +80,14 @@
return sql
-def importAttachment(sf_obj, cr, uid, sfc, context):
+def importAttachment(sf_obj, cr, uid, context):
+ if context == None:
+ context = {}
attachment_pool = sf_obj.pool.get('ir.attachment')
data_pool = sf_obj.pool.get('ir.model.data')
try:
+ sfc = beatbox.PythonClient()
+ sfc, sflogin = getSFLogin(sfc, LOGIN_DATA.get('username'), LOGIN_DATA.get('passToken'))
sqlStmt = prepareStatement(MODEL_MAP.get('Attachment').get('field_map'), 'Attachment')
sfVals = sfc.query(sqlStmt)
for rec in sfVals:
@@ -99,7 +103,8 @@
rec.update({'datas_fname': rec.get('Name')})
field, data = dataMapping(rec, fields)
attachment_pool.import_data(cr, uid, field, [data], mode='update', current_module='import_salesforce', noupdate=True, context=context)
- fields.pop('res_model')
+ if model_data:
+ fields.pop('res_model')
fields.pop('datas_fname')
except SoapFaultError, sfe:
@@ -114,6 +119,8 @@
def importNote(sf_obj, cr, uid, sfc, context):
+ if context == None:
+ context = {}
message_pool = sf_obj.pool.get('mailgate.message')
data_pool = sf_obj.pool.get('ir.model.data')
try:
@@ -150,6 +157,9 @@
'''
Helper Method to resolve title dependency
'''
+ if context == None:
+ context = {}
+
if salutation:
title_pool = sf_obj.pool.get('res.partner.title')
ids = title_pool.search(cr, uid, [('domain', '=', domain), '|', ('shortcut', '=', salutation), ('name', '=', salutation)])
@@ -165,6 +175,8 @@
'''
Helper Method to Priority of Lead/Opportunity
'''
+ if context == None:
+ context = {}
priMap = {
'Hot': '2',
'Warm': '3',
@@ -177,6 +189,9 @@
'''
Helper Method to resolve State dependency.
'''
+ if context == None:
+ context = {}
+
stateMap = {
'Open - Not Contacted': 'draft',
'Working - Contacted': 'open',
@@ -190,6 +205,9 @@
'''
Helper Method to resolve Status dependency.
'''
+ if context == None:
+ context = {}
+
stageMap = {
'Open - Not Contacted': 'New',
'Working - Contacted': 'Negotiation',
@@ -207,10 +225,16 @@
'''
Helper Method to to get SalesForce Owner id for User
'''
+ if context == None:
+ context = {}
+
return user.get('Id', False)
def getLocalId(sf_obj, cr, uid, state, country, context):
+ if context == None:
+ context = {}
+
if state or country:
state_pool = sf_obj.pool.get('res.country.state')
country_pool = sf_obj.pool.get('res.country')
@@ -226,6 +250,9 @@
def importLead(sf_obj, cr, uid, context):
+ if context == None:
+ context = {}
+
lead_pool = sf_obj.pool.get('crm.lead')
try:
sfc = beatbox.PythonClient()
@@ -259,6 +286,9 @@
def importUser(sf_obj, cr, uid, context):
+ if context == None:
+ context = {}
+
user_pool = sf_obj.pool.get('res.users')
try:
sfc = beatbox.PythonClient()
@@ -283,6 +313,9 @@
'''
Helper Method to resolve State dependency.
'''
+ if context == None:
+ context = {}
+
stateMap = {
'Prospecting': 'draft',
'Qualification': 'open',
@@ -302,6 +335,9 @@
'''
Helper Method to resolve Status dependency.
'''
+ if context == None:
+ context = {}
+
stageMap = {
'Prospecting': 'New',
'Qualification': 'Qualification',
@@ -322,6 +358,9 @@
def importOpportunityHistory(sf_obj, cr, uid, sfc, context):
+ if context == None:
+ context = {}
+
message_pool = sf_obj.pool.get('mailgate.message')
data_pool = sf_obj.pool.get('ir.model.data')
try:
@@ -359,6 +398,9 @@
def getOpportunityPartner(sf_obj, cr, uid, sfc, account_id, context):
+ if context == None:
+ context = {}
+
if account_id:
account = sfc.query("SELECT Id, Name FROM Account WHERE Id = '%s'"%account_id)
partner_pool = sf_obj.pool.get('res.partner')
@@ -369,6 +411,9 @@
def importOpportunity(sf_obj, cr, uid, context):
+ if context == None:
+ context = {}
+
lead_pool = sf_obj.pool.get('crm.lead')
try:
sfc = beatbox.PythonClient()
@@ -432,6 +477,9 @@
def importAddress(sf_obj, cr, uid, address, context):
+ if context == None:
+ context = {}
+
address_pool = sf_obj.pool.get('res.partner.address')
aids = []
for key, val in address.items():
@@ -447,6 +495,9 @@
def importContact(sf_obj, cr, uid, context):
+ if context == None:
+ context = {}
+
partner_pool = sf_obj.pool.get('res.partner')
try:
addressDict = {
@@ -531,6 +582,9 @@
'''
Helper Method to Priority of Lead/Opportunity
'''
+ if context == None:
+ context = {}
+
priMap = {
'High': '2',
'Medium': '3',
@@ -543,6 +597,9 @@
'''
Helper Method to resolve State dependency.
'''
+ if context == None:
+ context = {}
+
stateMap = {
'New': 'draft',
'Working': 'open',
@@ -553,6 +610,9 @@
def importCaseComment(sf_obj, cr, uid, sfc, context):
+ if context == None:
+ context = {}
+
message_pool = sf_obj.pool.get('mailgate.message')
data_pool = sf_obj.pool.get('ir.model.data')
try:
@@ -586,6 +646,9 @@
def importCase(sf_obj, cr, uid, context):
+ if context == None:
+ context = {}
+
claim_pool = sf_obj.pool.get('crm.claim')
try:
sfc = beatbox.PythonClient()
@@ -600,7 +663,7 @@
field, data = dataMapping(rec, MODEL_MAP.get('Case').get('field_map'))
claim_pool.import_data(cr, uid, field, [data], mode='update', current_module='import_salesforce', noupdate=True, context=context)
importCaseComment(sf_obj, cr, uid, sfc, context)
- importAttachment(sf_obj, cr, uid, sfc, context)
+
except SoapFaultError, sfe:
log = logging.getLogger('import.salesforce.SoapFaultError')
log.warning(str(sfe))
@@ -613,6 +676,9 @@
def getRecurrancy(sf_obj, cr, uid, rec, fields, context):
+ if context == None:
+ context = {}
+
rrule_type = {
'RecursEveryWeekday': 'daily',
'RecursDaily': 'daily',
@@ -656,6 +722,9 @@
def getPartnerId(sf_obj, cr, uid, rec, context):
+ if context == None:
+ context = {}
+
if rec.get('WhoId', False):
model_pool = sf_obj.pool.get('ir.model.data')
model_data_ids = model_pool.search(cr, uid, [('model', '=', 'res.partner'), ('name', '=', rec.get('WhoId'))])
@@ -665,6 +734,9 @@
def getEventUser(sf_obj, cr, uid, rec, context):
+ if context == None:
+ context = {}
+
model_pool = sf_obj.pool.get('ir.model.data')
user = email = address = False
model_partner_id = model_pool.search(cr, uid, [('name', '=', rec.get('AttendeeId', False))])
@@ -683,6 +755,9 @@
def getAttendee(sf_obj, cr, uid, sfc, context):
+ if context == None:
+ context = {}
+
attendee_pool = sf_obj.pool.get('calendar.attendee')
model_pool = sf_obj.pool.get('ir.model.data')
meeting_pool = sf_obj.pool.get('crm.meeting')
@@ -733,6 +808,9 @@
def importEvent(sf_obj, cr, uid, context):
+ if context == None:
+ context = {}
+
meeting_pool = sf_obj.pool.get('crm.meeting')
try:
sfc = beatbox.PythonClient()
@@ -788,6 +866,9 @@
def createActivity(sf_obj, cr, uid, fields, rec, model, context):
+ if context == None:
+ context = {}
+
model_pool = sf_obj.pool.get(model)
try:
rec.update({'Subject': rec.get('Subject')[0]})
@@ -806,6 +887,9 @@
def importActivity(sf_obj, cr, uid, context):
+ if context == None:
+ context = {}
+
cate_pool = sf_obj.pool.get('crm.case.categ')
modeldata_pool = sf_obj.pool.get('ir.model.data')
model_pool = sf_obj.pool.get('ir.model')
@@ -1094,19 +1178,21 @@
'contact': fields.boolean('Partner/Contacts', help="If Partner/Contacts is checked, SalesFroce Contact data imported to OpenERP Partner and Partner Address."),
'case': fields.boolean('Cases/Claim', help="If Cases/Claim is checked, SalesFroce Cases data imported to OpenERP CRM Claim."),
'event': fields.boolean('Event/Meetings', help="If Event/Meetings is checked, SalesFroce Cases data imported to OpenERP Meetings."),
+ 'attachment': fields.boolean('Attachments', help="If Attachments is checked, SalesFroce attachments data will imported to OpenERP Attachemnt, and if resource of the attachment is imported and it will linked to the repective documents."),
'task': fields.boolean('Acivity', help="If Activity is checked, SalesFroce Activity data will imported to OpenERP Meetings and if you want ot import data in separate than selectd 'With Type' from below slection else select 'Without Type'.\nSalesForce Activity is comprised of Email, Call, Meeting."),
'task_type': fields.selection([('wttype', 'Without Type'), ('wtype', 'With Type')], 'Activity Type', invisible=True, help="In SalesForce Acivity > Task, the Field Lavel Security of the field 'Type' is set for all user levels than select the 'With Type' option else select 'With Type' option."),
}
_defaults = {
- 'lead': True,
- 'opportunity': True,
- 'users': True,
- 'contact': True,
- 'event': True,
- 'task': True,
- 'case': True,
- 'task_type': 'wttype',
+ 'attachment': True,
+ 'lead': True,
+ 'opportunity': True,
+ 'users': True,
+ 'contact': True,
+ 'event': True,
+ 'task': True,
+ 'case': True,
+ 'task_type': 'wttype',
}
def _get_nodes(self, cr, uid, ids, context=None):
@@ -1131,6 +1217,8 @@
nodes.append('Task')
global ACT_TYPE
ACT_TYPE = current.task_type
+ if current.attachment:
+ nodes.append('Attachment')
return nodes
def sf_do_import(self, cr, uid, ids, context=None):
=== modified file 'import_salesforce/import_sf_view.xml'
--- import_salesforce/import_sf_view.xml 2011-04-06 07:24:44 +0000
+++ import_salesforce/import_sf_view.xml 2011-04-19 06:53:30 +0000
@@ -16,6 +16,7 @@
<field name='opportunity'/>
<field name='case'/>
<field name='event'/>
+ <field name='attachment'/>
<field name='task'/>
<newline/>
<field name='task_type' attrs="{'invisible': [('task', '!=', True)], 'required':[('task', '=', True)]}" colspan="4"/>
@@ -28,7 +29,7 @@
<button icon="gtk-execute" string="_Import" name="sf_do_import" type="object"/>
</group>
</group>
- </form>
+ </form>
</field>
</record>
</data>
=== modified file 'import_salesforce/wizard/sf_import_message.py'
--- import_salesforce/wizard/sf_import_message.py 2011-04-11 11:20:17 +0000
+++ import_salesforce/wizard/sf_import_message.py 2011-04-19 06:53:30 +0000
@@ -24,9 +24,7 @@
class sf_import_message(osv.osv):
- """
- Import Message
- """
+ """Import Message"""
_name = "sf.import.message"
_description = __doc__
_columns = {
@@ -37,7 +35,7 @@
if context == None:
context = {}
res = super(sf_import_message, self).default_get(cr, uid, fields, context=context)
- res.update({'name' : context.get('message')})
+ res.update({'name': context.get('message')})
return res
sf_import_message()
Follow ups