[ADD]: Add Attendee in Meeting For sugarcrm
bzr revid: atp@tinyerp.com-20110411060216-obzpdy3cbm6vetid
This commit is contained in:
@@ -424,9 +424,7 @@ def get_account(sugar_obj, cr, uid, val, context=None):
|
||||
for model in model_obj.browse(cr, uid, model_ids):
|
||||
partner_address_id = model.res_id
|
||||
address_id = address_obj.browse(cr, uid, partner_address_id)
|
||||
if address_id.partner_id:
|
||||
partner_id = address_id.partner_id
|
||||
|
||||
partner_id = address_id and address_id.partner_id or False
|
||||
return partner_id, partner_address_id
|
||||
|
||||
def import_tasks(sugar_obj, cr, uid, context=None):
|
||||
@@ -460,6 +458,23 @@ def import_tasks(sugar_obj, cr, uid, context=None):
|
||||
meeting_obj.import_data(cr, uid, fields, [datas], mode='update', current_module='sugarcrm_import', noupdate=True, context=context)
|
||||
return True
|
||||
|
||||
def get_attendee_id(PortType, sessionid, module_name=None, module_id=None, val, context=None):
|
||||
if not context:
|
||||
context = {}
|
||||
model_obj = sugar_obj.pool.get('ir.model.data')
|
||||
att_obj = sugar_obj.pool.get('calendar.attendee')
|
||||
user_xml_id, user_email_id = sugar.user_get_attendee_list(PortType, sessionid, module_name='Meetings', module_id=val.get('id'))
|
||||
user_model_ids = find_mapped_id(sugar_obj, cr, uid, 'res.users', user_xml_id, context)
|
||||
user_resource_id = model_obj.browse(cr, uid, user_model_ids)
|
||||
if user_resource_id:
|
||||
user_id = user_resource_id[0].res_id
|
||||
attendees = att_obj.create(cr, uid, {'user_id': user_id, 'email': user_email_id})
|
||||
meeting_model_ids = find_mapped_id(sugar_obj, cr, uid, 'crm.meeting', val.get('id'), context)
|
||||
meeting_xml_id = sugar_obj.pool.get('ir.model.data').browse(cr, uid, meeting_model_ids)
|
||||
if meeting_xml_id:
|
||||
meeting_obj.write(cr, uid, [meeting_xml_id[0].res_id], {'attendee_ids': [(4, attendees)]})
|
||||
return True
|
||||
|
||||
def import_meetings(sugar_obj, cr, uid, context=None):
|
||||
if not context:
|
||||
context = {}
|
||||
@@ -487,6 +502,7 @@ def import_meetings(sugar_obj, cr, uid, context=None):
|
||||
val['alarm_id/.id'] = get_alarm_id(sugar_obj, cr, uid, val.get('reminder_time'), context)
|
||||
fields, datas = sugarcrm_fields_mapping.sugarcrm_fields_mapp(val, map_meeting)
|
||||
meeting_obj.import_data(cr, uid, fields, [datas], mode='update', current_module='sugarcrm_import', noupdate=True, context=context)
|
||||
get_attendee_id(portType, sessionid, module_name=None, module_id=None, val, context)
|
||||
return True
|
||||
|
||||
def get_calls_state(sugar_obj, cr, uid, val,context=None):
|
||||
|
||||
@@ -25,7 +25,8 @@ from sugarsoap_services import *
|
||||
from sugarsoap_services_types import *
|
||||
from osv import osv
|
||||
from tools.translate import _
|
||||
|
||||
import base64
|
||||
from lxml import etree
|
||||
class LoginError(Exception): pass
|
||||
|
||||
def login(username, password, url):
|
||||
@@ -61,6 +62,26 @@ def relation_search(portType, sessionid, module_name=None, module_id=None, relat
|
||||
ans_list.append(i.get_element_id())
|
||||
return ans_list
|
||||
|
||||
def user_get_attendee_list(portType, sessionid, module_name=None, module_id=None):
|
||||
se_req = get_attendee_listRequest()
|
||||
se_req._session = sessionid
|
||||
se_req._module_name = module_name
|
||||
se_req._id = module_id
|
||||
se_resp = portType.get_attendee_list(se_req)
|
||||
list = se_resp.get_element_return()
|
||||
arch = base64.decodestring(list.Result)
|
||||
eview = False
|
||||
attende_id = False
|
||||
attende_email_id = False
|
||||
eview = etree.XML(arch)
|
||||
for child in eview:
|
||||
for ch in child.getchildren():
|
||||
if ch.tag == 'id':
|
||||
attende_id = ch.text
|
||||
if ch.tag == 'email1':
|
||||
attende_email_id = ch.text
|
||||
return attende_id, attende_email_id
|
||||
|
||||
|
||||
def search(portType, sessionid, module_name=None):
|
||||
se_req = get_entry_listRequest()
|
||||
|
||||
Reference in New Issue
Block a user