Jigar Amin (OpenERP) has proposed merging
lp:~openerp-dev/openobject-addons/trunk-import_salesforce-b9_meeting-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-b9_meeting-jam/+merge/67021
Improvements :
1) Import attendee like a new object (with mapping and getdata) that depend
on event a new table, but don't add a new check box
Kindly Review this
Thank You
--
https://code.launchpad.net/~openerp-dev/openobject-addons/trunk-import_salesforce-b9_meeting-jam/+merge/67021
Your team OpenERP R&D Team is subscribed to branch
lp:~openerp-dev/openobject-addons/trunk-import_salesforce.
=== modified file 'import_salesforce/wizard/import_salesforce.py'
--- import_salesforce/wizard/import_salesforce.py 2011-07-06 09:42:20 +0000
+++ import_salesforce/wizard/import_salesforce.py 2011-07-06 11:37:43 +0000
@@ -81,6 +81,7 @@
self.TABLE_PRODUCT: "SELECT Id,CreatedById, Description, Family, IsActive, Name, ProductCode FROM %s"%(self.TABLE_PRODUCT),
self.TABLE_EMPLOYEE: "SELECT Id, Phone, Email, MobilePhone, Name, Department, IsActive, ManagerId FROM %s"%(self.TABLE_USER),
self.TABLE_ACCOUNT: "SELECT Id, Name, AccountNumber, OwnerId, ParentId, Fax, Phone, Website , BillingStreet, BillingCity, BillingState, BillingCountry, BillingPostalCode, ShippingStreet, ShippingCity, ShippingState, ShippingPostalCode, ShippingCountry, Site, Type, Industry, AnnualRevenue, Description, TickerSymbol, Ownership, NumberOfEmployees, Sic, SLA__c, SLASerialNumber__c, CustomerPriority__c, SLAExpirationDate__c, NumberofLocations__c FROM %s"%(self.TABLE_ACCOUNT),
+ self.TABLE_ATTENDEE: "SELECT Id, Status, AttendeeId, EventId FROM %s"%(self.TABLE_ATTENDEE)
}
def get_data(self, table):
@@ -102,6 +103,7 @@
self.TABLE_PRODUCT: self.get_product_mapping(),
self.TABLE_EMPLOYEE: self.get_employee_mapping(),
self.TABLE_ACCOUNT: self.get_account_mapping(),
+ self.TABLE_ATTENDEE: self.get_attendee_mapping(),
}
def get_all_states(self, external_val, country_id):
@@ -560,29 +562,36 @@
'Email': user_rec.user_email})
return val
- def get_attendee(self, vals):
- attendee_vals = self._SFCLIENT.query("SELECT Id, Status, AttendeeId,EventId FROM %s WHERE EventId = '%s'"%(self.TABLE_ATTENDEE, vals.get('Id')))
- attendee_ids = []
- fields= {
- 'state': 'Status',
+ stats_attendee = {
+ 'New': 'needs-action',
+ 'Declined': 'decliene',
+ 'Accepted': 'accepted',
+ 'Maybe': 'tentative',
+ 'Deleted': 'delegated',
+ }
+
+ def get_attendee_mapping(self):
+ return {
+ 'model': 'calendar.attendee',
+ 'dependencies': [self.TABLE_MEETING],
+ 'hook': self.get_attendee_contact,
+ 'map': {
+ 'state': map_val('Status', self.stats_attendee, 'needs-action'),
'user_id/.id': 'UserId',
'partner_address_id/.id': 'ContactId',
'email': 'Email',
}
- stats_attendee = {
- 'New': 'needs-action',
- 'Declined': 'decliene',
- 'Accepted': 'accepted',
- 'Maybe': 'tentative',
- 'Deleted': 'delegated',
}
- for attendee in attendee_vals:
- self.get_attendee_contact(attendee)
- attendee.update({'Status': stats_attendee.get('Status', 'needs-action')})
- attendee.update({'id_new': attendee['Id'] + '_EventAttendee_'})
- nid = self.import_object_mapping(fields, attendee, 'calendar.attendee', self.TABLE_ATTENDEE, attendee.get('id_new'), self.DO_NOT_FIND_DOMAIN)
- attendee_ids.append(nid)
- return ','.join(attendee_ids)
+
+ def get_attendees(self, vals):
+ attendee_ids = self._SFCLIENT.query("SELECT Id FROM %s WHERE EventId = '%s'"%(self.TABLE_ATTENDEE, vals.get('Id')))
+ attendees = []
+ if attendee_ids:
+ for attendee in attendee_ids:
+ attendee_xmlid = self.xml_id_exist(self.TABLE_ATTENDEE, attendee.get('Id'))
+ if attendee_xmlid:
+ attendees.append(attendee_xmlid)
+ return ",".join(attendees)
def get_duration(self, val, duration):
if duration:
@@ -607,7 +616,7 @@
'duration': call(self.get_duration, value('DurationInMinutes')),
'allday': map_val('IsAllDayEvent', self.boolean_map),
'recurrency': map_val('IsRecurrence', self.boolean_map),
- 'attendee_ids/id': self.get_attendee,
+ 'attendee_ids/id': self.get_attendees,
}
}
@@ -891,7 +900,7 @@
if current.case:
nodes.append('Case')
if current.event:
- nodes.append('Event')
+ nodes.extend(['EventAttendee', 'Event'])
if current.task:
nodes.append('Task')
if current.attachment:
_______________________________________________
Mailing list: https://launchpad.net/~openerp-dev-gtk
Post to : [email protected]
Unsubscribe : https://launchpad.net/~openerp-dev-gtk
More help : https://help.launchpad.net/ListHelp