← Back to team overview

openerp-dev-web team mailing list archive

[Merge] lp:~openerp-dev/openobject-addons/trunk_sugarcrm_import_atp into lp:~openerp-dev/openobject-addons/trunk-import_sugarcrm

 

Atul Patel(OpenERP) has proposed merging lp:~openerp-dev/openobject-addons/trunk_sugarcrm_import_atp into lp:~openerp-dev/openobject-addons/trunk-import_sugarcrm.

Requested reviews:
  Bhumika (OpenERP) (sbh-openerp)

For more details, see:
https://code.launchpad.net/~openerp-dev/openobject-addons/trunk_sugarcrm_import_atp/+merge/50101

1) Import SugarCRM Leads data into Openerp crm lead form.

2) Import SugarCRM Opportunity data into Openerp Opportunity form

3) Import SugarCRM contacts data into openerp customers form.


Thanks

-- 
https://code.launchpad.net/~openerp-dev/openobject-addons/trunk_sugarcrm_import_atp/+merge/50101
Your team OpenERP R&D Team is subscribed to branch lp:~openerp-dev/openobject-addons/trunk-import_sugarcrm.
=== modified file 'crm/crm.py'
--- crm/crm.py	2011-01-14 00:11:01 +0000
+++ crm/crm.py	2011-02-17 07:28:57 +0000
@@ -303,7 +303,10 @@
         if not add:
             return {'value': {'email_from': False}}
         address = self.pool.get('res.partner.address').browse(cr, uid, add)
-        return {'value': {'email_from': address.email, 'phone': address.phone}}
+        if address.email:
+            return {'value': {'email_from': address.email, 'phone': address.phone}}
+        else:
+            return {'value': {'phone': address.phone}}
 
     def _history(self, cr, uid, cases, keyword, history=False, subject=None, email=False, details=None, email_from=False, message_id=False, attach=[], context=None):
         mailgate_pool = self.pool.get('mailgate.thread')
@@ -742,6 +745,15 @@
     _columns = {
         'context_section_id': fields.many2one('crm.case.section', 'Sales Team'),
     }
+    def write(self, cr, uid, ids, vals, context=None):
+        res = super(users, self).write(cr, uid, ids, vals, context=context)
+        section_obj=self.pool.get('crm.case.section')
+        if isinstance(ids, (str, int, long)):
+            ids = [ids]
+        for user in self.browse(cr, uid, ids, context):
+            if user.context_section_id:
+               section_obj.write(cr, uid, [user.context_section_id.id], {'member_ids':[(4, user.id)]},context)
+        return res    
 users()
 
 

=== modified file 'crm/crm_meeting_view.xml'
--- crm/crm_meeting_view.xml	2011-01-20 17:20:12 +0000
+++ crm/crm_meeting_view.xml	2011-02-17 07:28:57 +0000
@@ -59,7 +59,7 @@
                             <field name="section_id" widget="selection"
                                 groups="base.group_extended"/>
                         </group><group col="2" colspan="2">
-                            <separator colspan="2" string="Contacts"/>
+                            <separator colspan="2" string="Contact"/>
                             <field name="partner_id" string="Partner"
                                 on_change="onchange_partner_id(partner_id)" />
                             <field name="partner_address_id"

=== modified file 'crm/wizard/crm_add_note_view.xml'
--- crm/wizard/crm_add_note_view.xml	2011-01-14 00:11:01 +0000
+++ crm/wizard/crm_add_note_view.xml	2011-02-17 07:28:57 +0000
@@ -30,7 +30,7 @@
                     <separator string="" colspan="6"/>
                     <group colspan="6" col="4" >
                         <field name="state" />
-                        <button string="_Cancel" icon="gtk-cancel" special="cancel" />
+                        <button string="_Cancel" icon="gtk-close" special="cancel" />
                         <button name="action_add" type="object" string="_Add" icon="gtk-ok" />
                     </group>
                 </form>

=== added directory 'import_sugarcrm'
=== added file 'import_sugarcrm/__init__.py'
--- import_sugarcrm/__init__.py	1970-01-01 00:00:00 +0000
+++ import_sugarcrm/__init__.py	2011-02-17 07:28:57 +0000
@@ -0,0 +1,24 @@
+# -*- coding: utf-8 -*-
+##############################################################################
+#
+#    OpenERP, Open Source Management Solution
+#    Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>).
+#
+#    This program is free software: you can redistribute it and/or modify
+#    it under the terms of the GNU Affero General Public License as
+#    published by the Free Software Foundation, either version 3 of the
+#    License, or (at your option) any later version.
+#
+#    This program is distributed in the hope that it will be useful,
+#    but WITHOUT ANY WARRANTY; without even the implied warranty of
+#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+#    GNU Affero General Public License for more details.
+#
+#    You should have received a copy of the GNU Affero General Public License
+#    along with this program.  If not, see <http://www.gnu.org/licenses/>.
+#
+##############################################################################
+
+import import_sugarcrm
+import sugar
+import wizard

=== added file 'import_sugarcrm/__openerp__.py'
--- import_sugarcrm/__openerp__.py	1970-01-01 00:00:00 +0000
+++ import_sugarcrm/__openerp__.py	2011-02-17 07:28:57 +0000
@@ -0,0 +1,39 @@
+# -*- coding: utf-8 -*-
+##############################################################################
+#
+#    OpenERP, Open Source Management Solution
+#    Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>).
+#
+#    This program is free software: you can redistribute it and/or modify
+#    it under the terms of the GNU Affero General Public License as
+#    published by the Free Software Foundation, either version 3 of the
+#    License, or (at your option) any later version.
+#
+#    This program is distributed in the hope that it will be useful,
+#    but WITHOUT ANY WARRANTY; without even the implied warranty of
+#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+#    GNU Affero General Public License for more details.
+#
+#    You should have received a copy of the GNU Affero General Public License
+#    along with this program.  If not, see <http://www.gnu.org/licenses/>.
+#
+##############################################################################
+
+{
+    'name': 'Import SugarCRM Data into OpenERP Module.',
+    'version': '1.0',
+    'category': 'Generic Modules',
+    'description': """This Module Import SugarCRM "Leads", "Opportunity", "Accounts" and "contacts" Data into OpenERP Module.""",
+    'author': 'OpenERP SA',
+    'website': 'http://www.openerp.com',
+    'depends': [],
+    'init_xml': [],
+    'update_xml': ["wizard/sugarcrm_login_view.xml",
+                   "wizard/import_message_view.xml",
+                   "import_sugarcrm_view.xml"],
+    'demo_xml': [],
+    'test': [],
+    'installable': True,
+    'active': False,
+}
+# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

=== added file 'import_sugarcrm/import_sugarcrm.py'
--- import_sugarcrm/import_sugarcrm.py	1970-01-01 00:00:00 +0000
+++ import_sugarcrm/import_sugarcrm.py	2011-02-17 07:28:57 +0000
@@ -0,0 +1,216 @@
+# -*- coding: utf-8 -*-
+##############################################################################
+#
+#    OpenERP, Open Source Management Solution
+#    Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>).
+#
+#    This program is free software: you can redistribute it and/or modify
+#    it under the terms of the GNU Affero General Public License as
+#    published by the Free Software Foundation, either version 3 of the
+#    License, or (at your option) any later version.
+#
+#    This program is distributed in the hope that it will be useful,
+#    but WITHOUT ANY WARRANTY; without even the implied warranty of
+#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+#    GNU Affero General Public License for more details.
+#
+#    You should have received a copy of the GNU Affero General Public License
+#    along with this program.  If not, see <http://www.gnu.org/licenses/>.
+#
+##############################################################################
+from operator import itemgetter
+from osv import fields, osv
+import sugar
+from tools.translate import _
+
+class import_sugarcrm(osv.osv):
+     """Import SugarCRM DATA"""
+
+     _name = "import.sugarcrm"
+     _description = __doc__
+     _columns = {
+        'mod_name':fields.selection([
+            ('lead','Leads'),
+            ('opportunity','Opportunities'),
+            ('accounts','Accounts'),
+            ('contact','Contacts'),
+        ],'Module Name', help="Module Name is used to specify which Module data want to Import"),
+         'username': fields.char('User Name', size=64),
+         'password': fields.char('Password', size=24),
+     }
+
+     def _get_all(self, cr, uid, model, sugar_val, context=None):
+           models = self.pool.get(model)
+           all_model_ids = models.search(cr, uid, [('name', '=', sugar_val)])
+           output = [(False, '')]
+           output = sorted([(o.id, o.name)
+                    for o in models.browse(cr, uid, all_model_ids,
+                                           context=context)],
+                   key=itemgetter(1))
+           return output
+
+     def _get_all_states(self, cr, uid, sugar_val, context=None):
+        return self._get_all(
+            cr, uid, 'res.country.state', sugar_val, context=context)
+
+     def _get_all_countries(self, cr, uid, sugar_val, context=None):
+        return self._get_all(
+            cr, uid, 'res.country', sugar_val, context=context)
+
+     def _create_lead(self, cr, uid, sugar_val, country, state, context=None):
+           lead_pool = self.pool.get("crm.lead")
+           
+           stage_id = ''
+           stage_pool = self.pool.get('crm.case.stage')
+           if sugar_val.get('status','') == 'New':
+               sugar_stage = 'New'
+           elif sugar_val.get('status','') == 'Assigned':
+               sugar_stage = 'Qualification'
+           elif sugar_val.get('status','') == 'In Progress':
+               sugar_stage = 'Proposition'
+           elif sugar_val.get('status','') == 'Recycled':
+               sugar_stage = 'Negotiation'
+           elif sugar_val.get('status','') == 'Dead':
+               sugar_stage = 'Lost'
+           else:
+               sugar_stage = ''
+           stage_ids = stage_pool.search(cr, uid, [("type", '=', 'lead'), ('name', '=', sugar_stage)])
+
+           for stage in stage_pool.browse(cr, uid, stage_ids):
+               stage_id = stage.id     
+                     
+           vals = {'name': sugar_val.get('first_name','')+' '+ sugar_val.get('last_name',''),
+                   'contact_name': sugar_val.get('first_name','')+' '+ sugar_val.get('last_name',''),
+                   'user_id':sugar_val.get('created_by',''),
+                   'description': sugar_val.get('description',''),
+                   'partner_name': sugar_val.get('first_name','')+' '+ sugar_val.get('last_name',''),
+                   'email_from': sugar_val.get('email1',''),
+                   'stage_id': stage_id or '',
+                   'phone': sugar_val.get('phone_work',''),
+                   'mobile': sugar_val.get('phone_mobile',''),
+                   'write_date':sugar_val.get('date_modified',''),
+                   'function':sugar_val.get('title',''),
+                   'street': sugar_val.get('primary_address_street',''),
+                   'zip': sugar_val.get('primary_address_postalcode',''),
+                   'city':sugar_val.get('primary_address_city',''),
+                   'country_id': country and country[0][0] or False,
+                   'state_id': state and state[0][0] or False
+           }
+           new_lead_id = lead_pool.create(cr, uid, vals)
+           return new_lead_id
+
+     def _create_opportunity(self, cr, uid, sugar_val, country, state, context=None):
+
+           lead_pool = self.pool.get("crm.lead")
+           stage_id = ''
+           stage_pool = self.pool.get('crm.case.stage')
+           if sugar_val.get('sales_stage','') == 'Need Analysis':
+               sugar_stage = 'New'
+           elif sugar_val.get('sales_stage','') == 'Closed Lost':
+               sugar_stage = 'Lost'
+           elif sugar_val.get('sales_stage','') == 'Closed Won':
+               sugar_stage = 'Won'
+           elif sugar_val.get('sales_stage','') == 'Value Proposition':
+               sugar_stage = 'Proposition'
+           elif sugar_val.get('sales_stage','') == 'Negotiation/Review':
+               sugar_stage = 'Negotiation'
+           else:
+               sugar_stage = ''
+           stage_ids = stage_pool.search(cr, uid, [("type", '=', 'opportunity'), ('name', '=', sugar_stage)])           
+           for stage in stage_pool.browse(cr, uid, stage_ids):
+               stage_id = stage.id
+           vals = {'name': sugar_val.get('name',''),
+               'probability': sugar_val.get('probability',''),
+               'user_id': sugar_val.get('created_by', ''),
+               'stage_id': stage_id or '',
+               'type': 'opportunity',
+               'user_id': sugar_val.get('created_by',''),
+               'planned_revenue': sugar_val.get('amount_usdollar'),
+               'write_date':sugar_val.get('date_modified',''),
+           }
+           new_opportunity_id = lead_pool.create(cr, uid, vals)
+           return new_opportunity_id
+
+     def _create_contact(self, cr, uid, sugar_val, country, state, context=None):
+           addr_pool = self.pool.get("res.partner.address")
+           partner_pool = self.pool.get("res.partner")
+
+           vals =  {'name': sugar_val.get('first_name','')+' '+ sugar_val.get('last_name',''),
+                            'partner_id': sugar_val.get('account_id'),
+           }
+           new_partner_id = partner_pool.create(cr, uid, vals)
+           addr_vals = {'partner_id': new_partner_id,
+                        'name': sugar_val.get('first_name','')+' '+ sugar_val.get('last_name',''),
+                        'function':sugar_val.get('title',''),
+                        'phone': sugar_val.get('phone_home'),
+                        'mobile': sugar_val.get('phone_mobile'),
+                        'fax': sugar_val.get('phone_fax'),
+                        'street': sugar_val.get('primary_address_street',''),
+                        'zip': sugar_val.get('primary_address_postalcode',''),
+                        'city':sugar_val.get('primary_address_city',''),
+                        'country_id': country and country[0][0] or False,
+                        'state_id': state and state[0][0] or False,
+                        'email': sugar_val.get('email1'),
+           }
+           addr_pool.create(cr, uid, addr_vals)
+           return new_partner_id
+
+
+     def import_data(self, cr, uid, ids,context=None):
+       if not context:
+        context={}
+       for current in self.browse(cr, uid, ids):
+        if current.mod_name == 'lead' or current.mod_name == 'opportunity':
+          module_name = 'crm'
+
+        elif current.mod_name == "accounts":
+          module_name = 'account'
+        else:
+          module_name = 'base'
+
+        ids = self.pool.get("ir.module.module").search(cr, uid, [("name", '=',
+           module_name), ('state', '=', 'installed')])
+        if not ids:
+           raise osv.except_osv(_('Error !'), _('Please  Install %s Module') % (module_name))
+
+        if current.mod_name == 'lead':
+           sugar_name = "Leads"
+        elif current.mod_name == 'opportunity':
+           sugar_name="Opportunities"
+        elif current.mod_name == 'accounts':
+           sugar_name="Accounts"
+        elif current.mod_name == 'contact':
+           sugar_name="Contacts"
+       PortType,sessionid = sugar.login(context.get('username',''), context.get('password',''))
+       sugar_data = sugar.search(PortType,sessionid,sugar_name)
+       if sugar_data:    
+           for sugar_val in sugar_data:
+                country = self._get_all_countries(cr, uid, sugar_val.get('primary_address_country'), context)
+                state = self._get_all_states(cr, uid, sugar_val.get('primary_address_state'), context)
+                if sugar_name == "Leads":
+                    self._create_lead(cr, uid, sugar_val, country, state, context)
+    
+                elif sugar_name == "Opportunities":
+                    self._create_opportunity(cr, uid, sugar_val, country, state,context)
+    
+                elif sugar_name == "Contacts":
+                    self._create_contact(cr, uid, sugar_val, country, state, context)
+                    
+       obj_model = self.pool.get('ir.model.data')
+       model_data_ids = obj_model.search(cr,uid,[('model','=','ir.ui.view'),('name','=','import.message.form')])
+       resource_id = obj_model.read(cr, uid, model_data_ids, fields=['res_id'])
+       return {
+            'view_type': 'form',
+            'view_mode': 'form',
+            'res_model': 'import.message',
+            'views': [(resource_id,'form')],
+            'type': 'ir.actions.act_window',
+            'target': 'new',
+        }                    
+
+import_sugarcrm()
+
+
+
+
+

=== added file 'import_sugarcrm/import_sugarcrm_view.xml'
--- import_sugarcrm/import_sugarcrm_view.xml	1970-01-01 00:00:00 +0000
+++ import_sugarcrm/import_sugarcrm_view.xml	2011-02-17 07:28:57 +0000
@@ -0,0 +1,43 @@
+<?xml version="1.0"?>
+<openerp>
+    <data>
+
+    <!-- Import Sugarcrm Form View -->
+        <record model="ir.ui.view" id="view_import_sugarcrm_form">
+            <field name="name">import.sugarcrm.form</field>
+            <field name="model">import.sugarcrm</field>
+            <field name="type">form</field>
+            <field name="arch" type="xml">
+                <form string="Import Sugarcrm">
+                    <group colspan="4" >
+                         <separator string="Select SugarCRM Module Name" colspan="4"/>
+                         <field name="mod_name" />
+                         <field name="username" invisible="1"/>
+                         <field name="password" invisible="1"/>
+                    </group>
+                        <separator string="" colspan="4" />
+                    <group colspan="4" >
+                        <label string="" colspan="2"/>
+                        <button  icon="gtk-cancel" special="cancel" string="_Cancel"/>
+                        <button name="import_data" string="Import"
+                                type="object" icon="gtk-ok"/>
+                   </group>
+                </form>
+            </field>
+        </record>
+
+        <!-- Import Sugarcrm Action -->
+
+    <record model="ir.actions.act_window" id="action_import_sugarcrm">
+        <field name="name">Import Sugarcrm</field>
+        <field name="res_model">import.sugarcrm</field>
+        <field name="view_type">form</field>
+        <field name="view_mode">tree,form</field>
+        <field name="view_id" ref="view_import_sugarcrm_form"/>
+        <field name="target">new</field>
+    </record>
+
+
+    </data>
+</openerp>
+

=== added file 'import_sugarcrm/sugar.py'
--- import_sugarcrm/sugar.py	1970-01-01 00:00:00 +0000
+++ import_sugarcrm/sugar.py	2011-02-17 07:28:57 +0000
@@ -0,0 +1,42 @@
+
+import hashlib
+from sugarsoap_services import *
+from sugarsoap_services_types import *;
+
+import sys;
+
+class LoginError(Exception): pass
+
+def login(username, password):
+    loc = sugarsoapLocator();
+
+    portType = loc.getsugarsoapPortType();
+    request = loginRequest();
+    uauth = ns0.user_auth_Def(request);
+    request._user_auth = uauth;
+
+    uauth._user_name = username;
+    uauth._password = hashlib.md5(password).hexdigest();
+    uauth._version = '1.1';
+
+    response = portType.login(request);
+    if -1 == response._return._id:
+        raise LoginError(response._return._error._description);
+    return (portType, response._return._id);
+
+def search(portType, sessionid, module_name=None):
+  se_req = get_entry_listRequest();
+  se_req._session = sessionid
+  se_req._module_name = module_name
+  se_resp = portType.get_entry_list(se_req);
+  list = se_resp._return._entry_list;
+  ans_list = []
+  for i in list:
+      ans_dir = {};
+      for j in i._name_value_list:
+          ans_dir[j._name.encode('utf-8')] = j._value.encode('utf-8')
+        #end for
+      ans_list.append(ans_dir);
+    #end for
+  return ans_list;
+

=== added file 'import_sugarcrm/sugarsoap_services.py'
--- import_sugarcrm/sugarsoap_services.py	1970-01-01 00:00:00 +0000
+++ import_sugarcrm/sugarsoap_services.py	2011-02-17 07:28:57 +0000
@@ -0,0 +1,1384 @@
+##################################################
+# sugarsoap_services.py
+# generated by ZSI.generate.wsdl2python
+##################################################
+
+
+from sugarsoap_services_types import *
+from osv import osv
+from tools.translate import _
+
+
+try:
+    import ZSI
+    from ZSI.TCcompound import Struct
+    from ZSI import client
+except ImportError:
+    raise osv.except_osv(_('ZSI Import Error!'), _('Please install SOAP for python - ZSI-2.0-rc3.tar.gz'))
+
+
+
+
+# Locator
+class sugarsoapLocator:
+    sugarsoapPortType_address = "http://localhost/sugarcrm/soap.php";
+    def getsugarsoapPortTypeAddress(self):
+        return sugarsoapLocator.sugarsoapPortType_address
+    def getsugarsoapPortType(self, url=None, **kw):
+        return sugarsoapBindingSOAP(url or sugarsoapLocator.sugarsoapPortType_address, **kw)
+
+# Methods
+class sugarsoapBindingSOAP:
+    def __init__(self, url, **kw):
+        kw.setdefault("readerclass", None)
+        kw.setdefault("writerclass", None)
+        # no resource properties
+        self.binding = client.Binding(url=url, **kw)
+        # no ws-addressing
+
+    # op: create_session
+    def create_session(self, request):
+        if isinstance(request, create_sessionRequest) is False:
+            raise TypeError, "%s incorrect request type" % (request.__class__)
+        kw = {}
+        # no input wsaction
+        self.binding.Send(None, None, request, soapaction="http://localhost/sugarcrm/soap.php/create_session";, encodingStyle="http://schemas.xmlsoap.org/soap/encoding/";, **kw)
+        # no output wsaction
+        typecode = Struct(pname=None, ofwhat=create_sessionResponse.typecode.ofwhat, pyclass=create_sessionResponse.typecode.pyclass)
+        response = self.binding.Receive(typecode)
+        return response
+
+    # op: end_session
+    def end_session(self, request):
+        if isinstance(request, end_sessionRequest) is False:
+            raise TypeError, "%s incorrect request type" % (request.__class__)
+        kw = {}
+        # no input wsaction
+        self.binding.Send(None, None, request, soapaction="http://localhost/sugarcrm/soap.php/end_session";, encodingStyle="http://schemas.xmlsoap.org/soap/encoding/";, **kw)
+        # no output wsaction
+        typecode = Struct(pname=None, ofwhat=end_sessionResponse.typecode.ofwhat, pyclass=end_sessionResponse.typecode.pyclass)
+        response = self.binding.Receive(typecode)
+        return response
+
+    # op: contact_by_email
+    def contact_by_email(self, request):
+        if isinstance(request, contact_by_emailRequest) is False:
+            raise TypeError, "%s incorrect request type" % (request.__class__)
+        kw = {}
+        # no input wsaction
+        self.binding.Send(None, None, request, soapaction="http://localhost/sugarcrm/soap.php/contact_by_email";, encodingStyle="http://schemas.xmlsoap.org/soap/encoding/";, **kw)
+        # no output wsaction
+        typecode = Struct(pname=None, ofwhat=contact_by_emailResponse.typecode.ofwhat, pyclass=contact_by_emailResponse.typecode.pyclass)
+        response = self.binding.Receive(typecode)
+        return response
+
+    # op: user_list
+    def user_list(self, request):
+        if isinstance(request, user_listRequest) is False:
+            raise TypeError, "%s incorrect request type" % (request.__class__)
+        kw = {}
+        # no input wsaction
+        self.binding.Send(None, None, request, soapaction="http://localhost/sugarcrm/soap.php/user_list";, encodingStyle="http://schemas.xmlsoap.org/soap/encoding/";, **kw)
+        # no output wsaction
+        typecode = Struct(pname=None, ofwhat=user_listResponse.typecode.ofwhat, pyclass=user_listResponse.typecode.pyclass)
+        response = self.binding.Receive(typecode)
+        return response
+
+    # op: search
+    def search(self, request):
+        if isinstance(request, searchRequest) is False:
+            raise TypeError, "%s incorrect request type" % (request.__class__)
+        kw = {}
+        # no input wsaction
+        self.binding.Send(None, None, request, soapaction="http://localhost/sugarcrm/soap.php/search";, encodingStyle="http://schemas.xmlsoap.org/soap/encoding/";, **kw)
+        # no output wsaction
+        typecode = Struct(pname=None, ofwhat=searchResponse.typecode.ofwhat, pyclass=searchResponse.typecode.pyclass)
+        response = self.binding.Receive(typecode)
+        return response
+
+    # op: track_email
+    def track_email(self, request):
+        if isinstance(request, track_emailRequest) is False:
+            raise TypeError, "%s incorrect request type" % (request.__class__)
+        kw = {}
+        # no input wsaction
+        self.binding.Send(None, None, request, soapaction="http://localhost/sugarcrm/soap.php/track_email";, encodingStyle="http://schemas.xmlsoap.org/soap/encoding/";, **kw)
+        # no output wsaction
+        typecode = Struct(pname=None, ofwhat=track_emailResponse.typecode.ofwhat, pyclass=track_emailResponse.typecode.pyclass)
+        response = self.binding.Receive(typecode)
+        return response
+
+    # op: create_contact
+    def create_contact(self, request):
+        if isinstance(request, create_contactRequest) is False:
+            raise TypeError, "%s incorrect request type" % (request.__class__)
+        kw = {}
+        # no input wsaction
+        self.binding.Send(None, None, request, soapaction="http://localhost/sugarcrm/soap.php/create_contact";, encodingStyle="http://schemas.xmlsoap.org/soap/encoding/";, **kw)
+        # no output wsaction
+        typecode = Struct(pname=None, ofwhat=create_contactResponse.typecode.ofwhat, pyclass=create_contactResponse.typecode.pyclass)
+        response = self.binding.Receive(typecode)
+        return response
+
+    # op: create_lead
+    def create_lead(self, request):
+        if isinstance(request, create_leadRequest) is False:
+            raise TypeError, "%s incorrect request type" % (request.__class__)
+        kw = {}
+        # no input wsaction
+        self.binding.Send(None, None, request, soapaction="http://localhost/sugarcrm/soap.php/create_lead";, encodingStyle="http://schemas.xmlsoap.org/soap/encoding/";, **kw)
+        # no output wsaction
+        typecode = Struct(pname=None, ofwhat=create_leadResponse.typecode.ofwhat, pyclass=create_leadResponse.typecode.pyclass)
+        response = self.binding.Receive(typecode)
+        return response
+
+    # op: create_account
+    def create_account(self, request):
+        if isinstance(request, create_accountRequest) is False:
+            raise TypeError, "%s incorrect request type" % (request.__class__)
+        kw = {}
+        # no input wsaction
+        self.binding.Send(None, None, request, soapaction="http://localhost/sugarcrm/soap.php/create_account";, encodingStyle="http://schemas.xmlsoap.org/soap/encoding/";, **kw)
+        # no output wsaction
+        typecode = Struct(pname=None, ofwhat=create_accountResponse.typecode.ofwhat, pyclass=create_accountResponse.typecode.pyclass)
+        response = self.binding.Receive(typecode)
+        return response
+
+    # op: create_opportunity
+    def create_opportunity(self, request):
+        if isinstance(request, create_opportunityRequest) is False:
+            raise TypeError, "%s incorrect request type" % (request.__class__)
+        kw = {}
+        # no input wsaction
+        self.binding.Send(None, None, request, soapaction="http://localhost/sugarcrm/soap.php/create_opportunity";, encodingStyle="http://schemas.xmlsoap.org/soap/encoding/";, **kw)
+        # no output wsaction
+        typecode = Struct(pname=None, ofwhat=create_opportunityResponse.typecode.ofwhat, pyclass=create_opportunityResponse.typecode.pyclass)
+        response = self.binding.Receive(typecode)
+        return response
+
+    # op: create_case
+    def create_case(self, request):
+        if isinstance(request, create_caseRequest) is False:
+            raise TypeError, "%s incorrect request type" % (request.__class__)
+        kw = {}
+        # no input wsaction
+        self.binding.Send(None, None, request, soapaction="http://localhost/sugarcrm/soap.php/create_case";, encodingStyle="http://schemas.xmlsoap.org/soap/encoding/";, **kw)
+        # no output wsaction
+        typecode = Struct(pname=None, ofwhat=create_caseResponse.typecode.ofwhat, pyclass=create_caseResponse.typecode.pyclass)
+        response = self.binding.Receive(typecode)
+        return response
+
+    # op: login
+    def login(self, request):
+        if isinstance(request, loginRequest) is False:
+            raise TypeError, "%s incorrect request type" % (request.__class__)
+        kw = {}
+        # no input wsaction
+        self.binding.Send(None, None, request, soapaction="http://localhost/sugarcrm/soap.php/login";, encodingStyle="http://schemas.xmlsoap.org/soap/encoding/";, **kw)
+        # no output wsaction
+        typecode = Struct(pname=None, ofwhat=loginResponse.typecode.ofwhat, pyclass=loginResponse.typecode.pyclass)
+        response = self.binding.Receive(typecode)
+        return response
+
+    # op: is_loopback
+    def is_loopback(self, request):
+        if isinstance(request, is_loopbackRequest) is False:
+            raise TypeError, "%s incorrect request type" % (request.__class__)
+        kw = {}
+        # no input wsaction
+        self.binding.Send(None, None, request, soapaction="http://localhost/sugarcrm/soap.php/is_loopback";, encodingStyle="http://schemas.xmlsoap.org/soap/encoding/";, **kw)
+        # no output wsaction
+        typecode = Struct(pname=None, ofwhat=is_loopbackResponse.typecode.ofwhat, pyclass=is_loopbackResponse.typecode.pyclass)
+        response = self.binding.Receive(typecode)
+        return response
+
+    # op: seamless_login
+    def seamless_login(self, request):
+        if isinstance(request, seamless_loginRequest) is False:
+            raise TypeError, "%s incorrect request type" % (request.__class__)
+        kw = {}
+        # no input wsaction
+        self.binding.Send(None, None, request, soapaction="http://localhost/sugarcrm/soap.php/seamless_login";, encodingStyle="http://schemas.xmlsoap.org/soap/encoding/";, **kw)
+        # no output wsaction
+        typecode = Struct(pname=None, ofwhat=seamless_loginResponse.typecode.ofwhat, pyclass=seamless_loginResponse.typecode.pyclass)
+        response = self.binding.Receive(typecode)
+        return response
+
+    # op: get_entry_list
+    def get_entry_list(self, request):
+        if isinstance(request, get_entry_listRequest) is False:
+            raise TypeError, "%s incorrect request type" % (request.__class__)
+        kw = {}
+        # no input wsaction
+        self.binding.Send(None, None, request, soapaction="http://localhost/sugarcrm/soap.php/get_entry_list";, encodingStyle="http://schemas.xmlsoap.org/soap/encoding/";, **kw)
+        # no output wsaction
+        typecode = Struct(pname=None, ofwhat=get_entry_listResponse.typecode.ofwhat, pyclass=get_entry_listResponse.typecode.pyclass)
+        try:
+            response = self.binding.Receive(typecode)
+        except:
+            return None    
+        return response
+
+    # op: get_entry
+    def get_entry(self, request):
+        if isinstance(request, get_entryRequest) is False:
+            raise TypeError, "%s incorrect request type" % (request.__class__)
+        kw = {}
+        # no input wsaction
+        self.binding.Send(None, None, request, soapaction="http://localhost/sugarcrm/soap.php/get_entry";, encodingStyle="http://schemas.xmlsoap.org/soap/encoding/";, **kw)
+        # no output wsaction
+        typecode = Struct(pname=None, ofwhat=get_entryResponse.typecode.ofwhat, pyclass=get_entryResponse.typecode.pyclass)
+        response = self.binding.Receive(typecode)
+        return response
+
+    # op: get_entries
+    def get_entries(self, request):
+        if isinstance(request, get_entriesRequest) is False:
+            raise TypeError, "%s incorrect request type" % (request.__class__)
+        kw = {}
+        # no input wsaction
+        self.binding.Send(None, None, request, soapaction="http://localhost/sugarcrm/soap.php/get_entries";, encodingStyle="http://schemas.xmlsoap.org/soap/encoding/";, **kw)
+        # no output wsaction
+        typecode = Struct(pname=None, ofwhat=get_entriesResponse.typecode.ofwhat, pyclass=get_entriesResponse.typecode.pyclass)
+        response = self.binding.Receive(typecode)
+        return response
+
+    # op: set_entry
+    def set_entry(self, request):
+        if isinstance(request, set_entryRequest) is False:
+            raise TypeError, "%s incorrect request type" % (request.__class__)
+        kw = {}
+        # no input wsaction
+        self.binding.Send(None, None, request, soapaction="http://localhost/sugarcrm/soap.php/set_entry";, encodingStyle="http://schemas.xmlsoap.org/soap/encoding/";, **kw)
+        # no output wsaction
+        typecode = Struct(pname=None, ofwhat=set_entryResponse.typecode.ofwhat, pyclass=set_entryResponse.typecode.pyclass)
+        response = self.binding.Receive(typecode)
+        return response
+
+    # op: set_entries
+    def set_entries(self, request):
+        if isinstance(request, set_entriesRequest) is False:
+            raise TypeError, "%s incorrect request type" % (request.__class__)
+        kw = {}
+        # no input wsaction
+        self.binding.Send(None, None, request, soapaction="http://localhost/sugarcrm/soap.php/set_entries";, encodingStyle="http://schemas.xmlsoap.org/soap/encoding/";, **kw)
+        # no output wsaction
+        typecode = Struct(pname=None, ofwhat=set_entriesResponse.typecode.ofwhat, pyclass=set_entriesResponse.typecode.pyclass)
+        response = self.binding.Receive(typecode)
+        return response
+
+    # op: set_note_attachment
+    def set_note_attachment(self, request):
+        if isinstance(request, set_note_attachmentRequest) is False:
+            raise TypeError, "%s incorrect request type" % (request.__class__)
+        kw = {}
+        # no input wsaction
+        self.binding.Send(None, None, request, soapaction="http://localhost/sugarcrm/soap.php/set_note_attachment";, encodingStyle="http://schemas.xmlsoap.org/soap/encoding/";, **kw)
+        # no output wsaction
+        typecode = Struct(pname=None, ofwhat=set_note_attachmentResponse.typecode.ofwhat, pyclass=set_note_attachmentResponse.typecode.pyclass)
+        response = self.binding.Receive(typecode)
+        return response
+
+    # op: get_note_attachment
+    def get_note_attachment(self, request):
+        if isinstance(request, get_note_attachmentRequest) is False:
+            raise TypeError, "%s incorrect request type" % (request.__class__)
+        kw = {}
+        # no input wsaction
+        self.binding.Send(None, None, request, soapaction="http://localhost/sugarcrm/soap.php/get_note_attachment";, encodingStyle="http://schemas.xmlsoap.org/soap/encoding/";, **kw)
+        # no output wsaction
+        typecode = Struct(pname=None, ofwhat=get_note_attachmentResponse.typecode.ofwhat, pyclass=get_note_attachmentResponse.typecode.pyclass)
+        response = self.binding.Receive(typecode)
+        return response
+
+    # op: relate_note_to_module
+    def relate_note_to_module(self, request):
+        if isinstance(request, relate_note_to_moduleRequest) is False:
+            raise TypeError, "%s incorrect request type" % (request.__class__)
+        kw = {}
+        # no input wsaction
+        self.binding.Send(None, None, request, soapaction="http://localhost/sugarcrm/soap.php/relate_note_to_module";, encodingStyle="http://schemas.xmlsoap.org/soap/encoding/";, **kw)
+        # no output wsaction
+        typecode = Struct(pname=None, ofwhat=relate_note_to_moduleResponse.typecode.ofwhat, pyclass=relate_note_to_moduleResponse.typecode.pyclass)
+        response = self.binding.Receive(typecode)
+        return response
+
+    # op: get_related_notes
+    def get_related_notes(self, request):
+        if isinstance(request, get_related_notesRequest) is False:
+            raise TypeError, "%s incorrect request type" % (request.__class__)
+        kw = {}
+        # no input wsaction
+        self.binding.Send(None, None, request, soapaction="http://localhost/sugarcrm/soap.php/get_related_notes";, encodingStyle="http://schemas.xmlsoap.org/soap/encoding/";, **kw)
+        # no output wsaction
+        typecode = Struct(pname=None, ofwhat=get_related_notesResponse.typecode.ofwhat, pyclass=get_related_notesResponse.typecode.pyclass)
+        response = self.binding.Receive(typecode)
+        return response
+
+    # op: logout
+    def logout(self, request):
+        if isinstance(request, logoutRequest) is False:
+            raise TypeError, "%s incorrect request type" % (request.__class__)
+        kw = {}
+        # no input wsaction
+        self.binding.Send(None, None, request, soapaction="http://localhost/sugarcrm/soap.php/logout";, encodingStyle="http://schemas.xmlsoap.org/soap/encoding/";, **kw)
+        # no output wsaction
+        typecode = Struct(pname=None, ofwhat=logoutResponse.typecode.ofwhat, pyclass=logoutResponse.typecode.pyclass)
+        response = self.binding.Receive(typecode)
+        return response
+
+    # op: get_module_fields
+    def get_module_fields(self, request):
+        if isinstance(request, get_module_fieldsRequest) is False:
+            raise TypeError, "%s incorrect request type" % (request.__class__)
+        kw = {}
+        # no input wsaction
+        self.binding.Send(None, None, request, soapaction="http://localhost/sugarcrm/soap.php/get_module_fields";, encodingStyle="http://schemas.xmlsoap.org/soap/encoding/";, **kw)
+        # no output wsaction
+        typecode = Struct(pname=None, ofwhat=get_module_fieldsResponse.typecode.ofwhat, pyclass=get_module_fieldsResponse.typecode.pyclass)
+        response = self.binding.Receive(typecode)
+        return response
+
+    # op: get_available_modules
+    def get_available_modules(self, request):
+        if isinstance(request, get_available_modulesRequest) is False:
+            raise TypeError, "%s incorrect request type" % (request.__class__)
+        kw = {}
+        # no input wsaction
+        self.binding.Send(None, None, request, soapaction="http://localhost/sugarcrm/soap.php/get_available_modules";, encodingStyle="http://schemas.xmlsoap.org/soap/encoding/";, **kw)
+        # no output wsaction
+        typecode = Struct(pname=None, ofwhat=get_available_modulesResponse.typecode.ofwhat, pyclass=get_available_modulesResponse.typecode.pyclass)
+        response = self.binding.Receive(typecode)
+        return response
+
+    # op: update_portal_user
+    def update_portal_user(self, request):
+        if isinstance(request, update_portal_userRequest) is False:
+            raise TypeError, "%s incorrect request type" % (request.__class__)
+        kw = {}
+        # no input wsaction
+        self.binding.Send(None, None, request, soapaction="http://localhost/sugarcrm/soap.php/update_portal_user";, encodingStyle="http://schemas.xmlsoap.org/soap/encoding/";, **kw)
+        # no output wsaction
+        typecode = Struct(pname=None, ofwhat=update_portal_userResponse.typecode.ofwhat, pyclass=update_portal_userResponse.typecode.pyclass)
+        response = self.binding.Receive(typecode)
+        return response
+
+    # op: test
+    def test(self, request):
+        if isinstance(request, testRequest) is False:
+            raise TypeError, "%s incorrect request type" % (request.__class__)
+        kw = {}
+        # no input wsaction
+        self.binding.Send(None, None, request, soapaction="http://localhost/sugarcrm/soap.php/test";, encodingStyle="http://schemas.xmlsoap.org/soap/encoding/";, **kw)
+        # no output wsaction
+        typecode = Struct(pname=None, ofwhat=testResponse.typecode.ofwhat, pyclass=testResponse.typecode.pyclass)
+        response = self.binding.Receive(typecode)
+        return response
+
+    # op: get_user_id
+    def get_user_id(self, request):
+        if isinstance(request, get_user_idRequest) is False:
+            raise TypeError, "%s incorrect request type" % (request.__class__)
+        kw = {}
+        # no input wsaction
+        self.binding.Send(None, None, request, soapaction="http://localhost/sugarcrm/soap.php/get_user_id";, encodingStyle="http://schemas.xmlsoap.org/soap/encoding/";, **kw)
+        # no output wsaction
+        typecode = Struct(pname=None, ofwhat=get_user_idResponse.typecode.ofwhat, pyclass=get_user_idResponse.typecode.pyclass)
+        response = self.binding.Receive(typecode)
+        return response
+
+    # op: get_user_team_id
+    def get_user_team_id(self, request):
+        if isinstance(request, get_user_team_idRequest) is False:
+            raise TypeError, "%s incorrect request type" % (request.__class__)
+        kw = {}
+        # no input wsaction
+        self.binding.Send(None, None, request, soapaction="http://localhost/sugarcrm/soap.php/get_user_team_id";, encodingStyle="http://schemas.xmlsoap.org/soap/encoding/";, **kw)
+        # no output wsaction
+        typecode = Struct(pname=None, ofwhat=get_user_team_idResponse.typecode.ofwhat, pyclass=get_user_team_idResponse.typecode.pyclass)
+        response = self.binding.Receive(typecode)
+        return response
+
+    # op: get_server_time
+    def get_server_time(self, request):
+        if isinstance(request, get_server_timeRequest) is False:
+            raise TypeError, "%s incorrect request type" % (request.__class__)
+        kw = {}
+        # no input wsaction
+        self.binding.Send(None, None, request, soapaction="http://localhost/sugarcrm/soap.php/get_server_time";, encodingStyle="http://schemas.xmlsoap.org/soap/encoding/";, **kw)
+        # no output wsaction
+        typecode = Struct(pname=None, ofwhat=get_server_timeResponse.typecode.ofwhat, pyclass=get_server_timeResponse.typecode.pyclass)
+        response = self.binding.Receive(typecode)
+        return response
+
+    # op: get_gmt_time
+    def get_gmt_time(self, request):
+        if isinstance(request, get_gmt_timeRequest) is False:
+            raise TypeError, "%s incorrect request type" % (request.__class__)
+        kw = {}
+        # no input wsaction
+        self.binding.Send(None, None, request, soapaction="http://localhost/sugarcrm/soap.php/get_gmt_time";, encodingStyle="http://schemas.xmlsoap.org/soap/encoding/";, **kw)
+        # no output wsaction
+        typecode = Struct(pname=None, ofwhat=get_gmt_timeResponse.typecode.ofwhat, pyclass=get_gmt_timeResponse.typecode.pyclass)
+        response = self.binding.Receive(typecode)
+        return response
+
+    # op: get_sugar_flavor
+    def get_sugar_flavor(self, request):
+        if isinstance(request, get_sugar_flavorRequest) is False:
+            raise TypeError, "%s incorrect request type" % (request.__class__)
+        kw = {}
+        # no input wsaction
+        self.binding.Send(None, None, request, soapaction="http://localhost/sugarcrm/soap.php/get_sugar_flavor";, encodingStyle="http://schemas.xmlsoap.org/soap/encoding/";, **kw)
+        # no output wsaction
+        typecode = Struct(pname=None, ofwhat=get_sugar_flavorResponse.typecode.ofwhat, pyclass=get_sugar_flavorResponse.typecode.pyclass)
+        response = self.binding.Receive(typecode)
+        return response
+
+    # op: get_server_version
+    def get_server_version(self, request):
+        if isinstance(request, get_server_versionRequest) is False:
+            raise TypeError, "%s incorrect request type" % (request.__class__)
+        kw = {}
+        # no input wsaction
+        self.binding.Send(None, None, request, soapaction="http://localhost/sugarcrm/soap.php/get_server_version";, encodingStyle="http://schemas.xmlsoap.org/soap/encoding/";, **kw)
+        # no output wsaction
+        typecode = Struct(pname=None, ofwhat=get_server_versionResponse.typecode.ofwhat, pyclass=get_server_versionResponse.typecode.pyclass)
+        response = self.binding.Receive(typecode)
+        return response
+
+    # op: get_relationships
+    def get_relationships(self, request):
+        if isinstance(request, get_relationshipsRequest) is False:
+            raise TypeError, "%s incorrect request type" % (request.__class__)
+        kw = {}
+        # no input wsaction
+        self.binding.Send(None, None, request, soapaction="http://localhost/sugarcrm/soap.php/get_relationships";, encodingStyle="http://schemas.xmlsoap.org/soap/encoding/";, **kw)
+        # no output wsaction
+        typecode = Struct(pname=None, ofwhat=get_relationshipsResponse.typecode.ofwhat, pyclass=get_relationshipsResponse.typecode.pyclass)
+        response = self.binding.Receive(typecode)
+        return response
+
+    # op: set_relationship
+    def set_relationship(self, request):
+        if isinstance(request, set_relationshipRequest) is False:
+            raise TypeError, "%s incorrect request type" % (request.__class__)
+        kw = {}
+        # no input wsaction
+        self.binding.Send(None, None, request, soapaction="http://localhost/sugarcrm/soap.php/set_relationship";, encodingStyle="http://schemas.xmlsoap.org/soap/encoding/";, **kw)
+        # no output wsaction
+        typecode = Struct(pname=None, ofwhat=set_relationshipResponse.typecode.ofwhat, pyclass=set_relationshipResponse.typecode.pyclass)
+        response = self.binding.Receive(typecode)
+        return response
+
+    # op: set_relationships
+    def set_relationships(self, request):
+        if isinstance(request, set_relationshipsRequest) is False:
+            raise TypeError, "%s incorrect request type" % (request.__class__)
+        kw = {}
+        # no input wsaction
+        self.binding.Send(None, None, request, soapaction="http://localhost/sugarcrm/soap.php/set_relationships";, encodingStyle="http://schemas.xmlsoap.org/soap/encoding/";, **kw)
+        # no output wsaction
+        typecode = Struct(pname=None, ofwhat=set_relationshipsResponse.typecode.ofwhat, pyclass=set_relationshipsResponse.typecode.pyclass)
+        response = self.binding.Receive(typecode)
+        return response
+
+    # op: set_document_revision
+    def set_document_revision(self, request):
+        if isinstance(request, set_document_revisionRequest) is False:
+            raise TypeError, "%s incorrect request type" % (request.__class__)
+        kw = {}
+        # no input wsaction
+        self.binding.Send(None, None, request, soapaction="http://localhost/sugarcrm/soap.php/set_document_revision";, encodingStyle="http://schemas.xmlsoap.org/soap/encoding/";, **kw)
+        # no output wsaction
+        typecode = Struct(pname=None, ofwhat=set_document_revisionResponse.typecode.ofwhat, pyclass=set_document_revisionResponse.typecode.pyclass)
+        response = self.binding.Receive(typecode)
+        return response
+
+    # op: search_by_module
+    def search_by_module(self, request):
+        if isinstance(request, search_by_moduleRequest) is False:
+            raise TypeError, "%s incorrect request type" % (request.__class__)
+        kw = {}
+        # no input wsaction
+        self.binding.Send(None, None, request, soapaction="http://localhost/sugarcrm/soap.php/search_by_module";, encodingStyle="http://schemas.xmlsoap.org/soap/encoding/";, **kw)
+        # no output wsaction
+        typecode = Struct(pname=None, ofwhat=search_by_moduleResponse.typecode.ofwhat, pyclass=search_by_moduleResponse.typecode.pyclass)
+        response = self.binding.Receive(typecode)
+        return response
+
+    # op: sync_get_modified_relationships
+    def sync_get_modified_relationships(self, request):
+        if isinstance(request, sync_get_modified_relationshipsRequest) is False:
+            raise TypeError, "%s incorrect request type" % (request.__class__)
+        kw = {}
+        # no input wsaction
+        self.binding.Send(None, None, request, soapaction="http://localhost/sugarcrm/soap.php/sync_get_modified_relationships";, encodingStyle="http://schemas.xmlsoap.org/soap/encoding/";, **kw)
+        # no output wsaction
+        typecode = Struct(pname=None, ofwhat=sync_get_modified_relationshipsResponse.typecode.ofwhat, pyclass=sync_get_modified_relationshipsResponse.typecode.pyclass)
+        response = self.binding.Receive(typecode)
+        return response
+
+    # op: get_modified_entries
+    def get_modified_entries(self, request):
+        if isinstance(request, get_modified_entriesRequest) is False:
+            raise TypeError, "%s incorrect request type" % (request.__class__)
+        kw = {}
+        # no input wsaction
+        self.binding.Send(None, None, request, soapaction="http://localhost/sugarcrm/soap.php/get_modified_entries";, encodingStyle="http://schemas.xmlsoap.org/soap/encoding/";, **kw)
+        # no output wsaction
+        typecode = Struct(pname=None, ofwhat=get_modified_entriesResponse.typecode.ofwhat, pyclass=get_modified_entriesResponse.typecode.pyclass)
+        response = self.binding.Receive(typecode)
+        return response
+
+    # op: get_attendee_list
+    def get_attendee_list(self, request):
+        if isinstance(request, get_attendee_listRequest) is False:
+            raise TypeError, "%s incorrect request type" % (request.__class__)
+        kw = {}
+        # no input wsaction
+        self.binding.Send(None, None, request, soapaction="http://localhost/sugarcrm/soap.php/get_attendee_list";, encodingStyle="http://schemas.xmlsoap.org/soap/encoding/";, **kw)
+        # no output wsaction
+        typecode = Struct(pname=None, ofwhat=get_attendee_listResponse.typecode.ofwhat, pyclass=get_attendee_listResponse.typecode.pyclass)
+        response = self.binding.Receive(typecode)
+        return response
+
+_create_sessionRequestTypecode = Struct(pname=("http://www.sugarcrm.com/sugarcrm","create_session";), ofwhat=[ZSI.TC.String(pname="user_name", aname="_user_name", typed=False, encoded=None, minOccurs=1, maxOccurs=1, nillable=True), ZSI.TC.String(pname="password", aname="_password", typed=False, encoded=None, minOccurs=1, maxOccurs=1, nillable=True)], pyclass=None, encoded="http://www.sugarcrm.com/sugarcrm";)
+class create_sessionRequest:
+    typecode = _create_sessionRequestTypecode
+    __metaclass__ = pyclass_type
+    def __init__(self):
+        self._user_name = None
+        self._password = None
+        return
+create_sessionRequest.typecode.pyclass = create_sessionRequest
+
+_create_sessionResponseTypecode = Struct(pname=("http://www.sugarcrm.com/sugarcrm","create_sessionResponse";), ofwhat=[ZSI.TC.String(pname="return", aname="_return", typed=False, encoded=None, minOccurs=1, maxOccurs=1, nillable=True)], pyclass=None, encoded="http://www.sugarcrm.com/sugarcrm";)
+class create_sessionResponse:
+    typecode = _create_sessionResponseTypecode
+    __metaclass__ = pyclass_type
+    def __init__(self):
+        self._return = None
+        return
+create_sessionResponse.typecode.pyclass = create_sessionResponse
+
+_end_sessionRequestTypecode = Struct(pname=("http://www.sugarcrm.com/sugarcrm","end_session";), ofwhat=[ZSI.TC.String(pname="user_name", aname="_user_name", typed=False, encoded=None, minOccurs=1, maxOccurs=1, nillable=True)], pyclass=None, encoded="http://www.sugarcrm.com/sugarcrm";)
+class end_sessionRequest:
+    typecode = _end_sessionRequestTypecode
+    __metaclass__ = pyclass_type
+    def __init__(self):
+        self._user_name = None
+        return
+end_sessionRequest.typecode.pyclass = end_sessionRequest
+
+_end_sessionResponseTypecode = Struct(pname=("http://www.sugarcrm.com/sugarcrm","end_sessionResponse";), ofwhat=[ZSI.TC.String(pname="return", aname="_return", typed=False, encoded=None, minOccurs=1, maxOccurs=1, nillable=True)], pyclass=None, encoded="http://www.sugarcrm.com/sugarcrm";)
+class end_sessionResponse:
+    typecode = _end_sessionResponseTypecode
+    __metaclass__ = pyclass_type
+    def __init__(self):
+        self._return = None
+        return
+end_sessionResponse.typecode.pyclass = end_sessionResponse
+
+_contact_by_emailRequestTypecode = Struct(pname=("http://www.sugarcrm.com/sugarcrm","contact_by_email";), ofwhat=[ZSI.TC.String(pname="user_name", aname="_user_name", typed=False, encoded=None, minOccurs=1, maxOccurs=1, nillable=True), ZSI.TC.String(pname="password", aname="_password", typed=False, encoded=None, minOccurs=1, maxOccurs=1, nillable=True), ZSI.TC.String(pname="email_address", aname="_email_address", typed=False, encoded=None, minOccurs=1, maxOccurs=1, nillable=True)], pyclass=None, encoded="http://www.sugarcrm.com/sugarcrm";)
+class contact_by_emailRequest:
+    typecode = _contact_by_emailRequestTypecode
+    __metaclass__ = pyclass_type
+    def __init__(self):
+        self._user_name = None
+        self._password = None
+        self._email_address = None
+        return
+contact_by_emailRequest.typecode.pyclass = contact_by_emailRequest
+
+_contact_by_emailResponseTypecode = Struct(pname=("http://www.sugarcrm.com/sugarcrm","contact_by_emailResponse";), ofwhat=[ns0.contact_detail_array_Def(pname="return", aname="_return", typed=False, encoded=None, minOccurs=1, maxOccurs=1, nillable=True)], pyclass=None, encoded="http://www.sugarcrm.com/sugarcrm";)
+class contact_by_emailResponse:
+    typecode = _contact_by_emailResponseTypecode
+    __metaclass__ = pyclass_type
+    def __init__(self):
+        self._return = None
+        return
+contact_by_emailResponse.typecode.pyclass = contact_by_emailResponse
+
+_user_listRequestTypecode = Struct(pname=("http://www.sugarcrm.com/sugarcrm","user_list";), ofwhat=[ZSI.TC.String(pname="user_name", aname="_user_name", typed=False, encoded=None, minOccurs=1, maxOccurs=1, nillable=True), ZSI.TC.String(pname="password", aname="_password", typed=False, encoded=None, minOccurs=1, maxOccurs=1, nillable=True)], pyclass=None, encoded="http://www.sugarcrm.com/sugarcrm";)
+class user_listRequest:
+    typecode = _user_listRequestTypecode
+    __metaclass__ = pyclass_type
+    def __init__(self):
+        self._user_name = None
+        self._password = None
+        return
+user_listRequest.typecode.pyclass = user_listRequest
+
+_user_listResponseTypecode = Struct(pname=("http://www.sugarcrm.com/sugarcrm","user_listResponse";), ofwhat=[ns0.user_detail_array_Def(pname="return", aname="_return", typed=False, encoded=None, minOccurs=1, maxOccurs=1, nillable=True)], pyclass=None, encoded="http://www.sugarcrm.com/sugarcrm";)
+class user_listResponse:
+    typecode = _user_listResponseTypecode
+    __metaclass__ = pyclass_type
+    def __init__(self):
+        self._return = None
+        return
+user_listResponse.typecode.pyclass = user_listResponse
+
+_searchRequestTypecode = Struct(pname=("http://www.sugarcrm.com/sugarcrm","search";), ofwhat=[ZSI.TC.String(pname="user_name", aname="_user_name", typed=False, encoded=None, minOccurs=1, maxOccurs=1, nillable=True), ZSI.TC.String(pname="password", aname="_password", typed=False, encoded=None, minOccurs=1, maxOccurs=1, nillable=True), ZSI.TC.String(pname="name", aname="_name", typed=False, encoded=None, minOccurs=1, maxOccurs=1, nillable=True)], pyclass=None, encoded="http://www.sugarcrm.com/sugarcrm";)
+class searchRequest:
+    typecode = _searchRequestTypecode
+    __metaclass__ = pyclass_type
+    def __init__(self):
+        self._user_name = None
+        self._password = None
+        self._name = None
+        return
+searchRequest.typecode.pyclass = searchRequest
+
+_searchResponseTypecode = Struct(pname=("http://www.sugarcrm.com/sugarcrm","searchResponse";), ofwhat=[ns0.contact_detail_array_Def(pname="return", aname="_return", typed=False, encoded=None, minOccurs=1, maxOccurs=1, nillable=True)], pyclass=None, encoded="http://www.sugarcrm.com/sugarcrm";)
+class searchResponse:
+    typecode = _searchResponseTypecode
+    __metaclass__ = pyclass_type
+    def __init__(self):
+        self._return = None
+        return
+searchResponse.typecode.pyclass = searchResponse
+
+_track_emailRequestTypecode = Struct(pname=("http://www.sugarcrm.com/sugarcrm","track_email";), ofwhat=[ZSI.TC.String(pname="user_name", aname="_user_name", typed=False, encoded=None, minOccurs=1, maxOccurs=1, nillable=True), ZSI.TC.String(pname="password", aname="_password", typed=False, encoded=None, minOccurs=1, maxOccurs=1, nillable=True), ZSI.TC.String(pname="parent_id", aname="_parent_id", typed=False, encoded=None, minOccurs=1, maxOccurs=1, nillable=True), ZSI.TC.String(pname="contact_ids", aname="_contact_ids", typed=False, encoded=None, minOccurs=1, maxOccurs=1, nillable=True), ZSI.TCtimes.gDate(pname="date_sent", aname="_date_sent", typed=False, encoded=None, minOccurs=1, maxOccurs=1, nillable=True), ZSI.TC.String(pname="email_subject", aname="_email_subject", typed=False, encoded=None, minOccurs=1, maxOccurs=1, nillable=True), ZSI.TC.String(pname="email_body", aname="_email_body", typed=False, encoded=None, minOccurs=1, maxOccurs=1, nillable=True)], pyclass=None, encoded="http://www.sugarcrm.com/sugarcrm";)
+class track_emailRequest:
+    typecode = _track_emailRequestTypecode
+    __metaclass__ = pyclass_type
+    def __init__(self):
+        self._user_name = None
+        self._password = None
+        self._parent_id = None
+        self._contact_ids = None
+        self._date_sent = None
+        self._email_subject = None
+        self._email_body = None
+        return
+track_emailRequest.typecode.pyclass = track_emailRequest
+
+_track_emailResponseTypecode = Struct(pname=("http://www.sugarcrm.com/sugarcrm","track_emailResponse";), ofwhat=[ZSI.TC.String(pname="return", aname="_return", typed=False, encoded=None, minOccurs=1, maxOccurs=1, nillable=True)], pyclass=None, encoded="http://www.sugarcrm.com/sugarcrm";)
+class track_emailResponse:
+    typecode = _track_emailResponseTypecode
+    __metaclass__ = pyclass_type
+    def __init__(self):
+        self._return = None
+        return
+track_emailResponse.typecode.pyclass = track_emailResponse
+
+_create_contactRequestTypecode = Struct(pname=("http://www.sugarcrm.com/sugarcrm","create_contact";), ofwhat=[ZSI.TC.String(pname="user_name", aname="_user_name", typed=False, encoded=None, minOccurs=1, maxOccurs=1, nillable=True), ZSI.TC.String(pname="password", aname="_password", typed=False, encoded=None, minOccurs=1, maxOccurs=1, nillable=True), ZSI.TC.String(pname="first_name", aname="_first_name", typed=False, encoded=None, minOccurs=1, maxOccurs=1, nillable=True), ZSI.TC.String(pname="last_name", aname="_last_name", typed=False, encoded=None, minOccurs=1, maxOccurs=1, nillable=True), ZSI.TC.String(pname="email_address", aname="_email_address", typed=False, encoded=None, minOccurs=1, maxOccurs=1, nillable=True)], pyclass=None, encoded="http://www.sugarcrm.com/sugarcrm";)
+class create_contactRequest:
+    typecode = _create_contactRequestTypecode
+    __metaclass__ = pyclass_type
+    def __init__(self):
+        self._user_name = None
+        self._password = None
+        self._first_name = None
+        self._last_name = None
+        self._email_address = None
+        return
+create_contactRequest.typecode.pyclass = create_contactRequest
+
+_create_contactResponseTypecode = Struct(pname=("http://www.sugarcrm.com/sugarcrm","create_contactResponse";), ofwhat=[ZSI.TC.String(pname="return", aname="_return", typed=False, encoded=None, minOccurs=1, maxOccurs=1, nillable=True)], pyclass=None, encoded="http://www.sugarcrm.com/sugarcrm";)
+class create_contactResponse:
+    typecode = _create_contactResponseTypecode
+    __metaclass__ = pyclass_type
+    def __init__(self):
+        self._return = None
+        return
+create_contactResponse.typecode.pyclass = create_contactResponse
+
+_create_leadRequestTypecode = Struct(pname=("http://www.sugarcrm.com/sugarcrm","create_lead";), ofwhat=[ZSI.TC.String(pname="user_name", aname="_user_name", typed=False, encoded=None, minOccurs=1, maxOccurs=1, nillable=True), ZSI.TC.String(pname="password", aname="_password", typed=False, encoded=None, minOccurs=1, maxOccurs=1, nillable=True), ZSI.TC.String(pname="first_name", aname="_first_name", typed=False, encoded=None, minOccurs=1, maxOccurs=1, nillable=True), ZSI.TC.String(pname="last_name", aname="_last_name", typed=False, encoded=None, minOccurs=1, maxOccurs=1, nillable=True), ZSI.TC.String(pname="email_address", aname="_email_address", typed=False, encoded=None, minOccurs=1, maxOccurs=1, nillable=True)], pyclass=None, encoded="http://www.sugarcrm.com/sugarcrm";)
+class create_leadRequest:
+    typecode = _create_leadRequestTypecode
+    __metaclass__ = pyclass_type
+    def __init__(self):
+        self._user_name = None
+        self._password = None
+        self._first_name = None
+        self._last_name = None
+        self._email_address = None
+        return
+create_leadRequest.typecode.pyclass = create_leadRequest
+
+_create_leadResponseTypecode = Struct(pname=("http://www.sugarcrm.com/sugarcrm","create_leadResponse";), ofwhat=[ZSI.TC.String(pname="return", aname="_return", typed=False, encoded=None, minOccurs=1, maxOccurs=1, nillable=True)], pyclass=None, encoded="http://www.sugarcrm.com/sugarcrm";)
+class create_leadResponse:
+    typecode = _create_leadResponseTypecode
+    __metaclass__ = pyclass_type
+    def __init__(self):
+        self._return = None
+        return
+create_leadResponse.typecode.pyclass = create_leadResponse
+
+_create_accountRequestTypecode = Struct(pname=("http://www.sugarcrm.com/sugarcrm","create_account";), ofwhat=[ZSI.TC.String(pname="user_name", aname="_user_name", typed=False, encoded=None, minOccurs=1, maxOccurs=1, nillable=True), ZSI.TC.String(pname="password", aname="_password", typed=False, encoded=None, minOccurs=1, maxOccurs=1, nillable=True), ZSI.TC.String(pname="name", aname="_name", typed=False, encoded=None, minOccurs=1, maxOccurs=1, nillable=True), ZSI.TC.String(pname="phone", aname="_phone", typed=False, encoded=None, minOccurs=1, maxOccurs=1, nillable=True), ZSI.TC.String(pname="website", aname="_website", typed=False, encoded=None, minOccurs=1, maxOccurs=1, nillable=True)], pyclass=None, encoded="http://www.sugarcrm.com/sugarcrm";)
+class create_accountRequest:
+    typecode = _create_accountRequestTypecode
+    __metaclass__ = pyclass_type
+    def __init__(self):
+        self._user_name = None
+        self._password = None
+        self._name = None
+        self._phone = None
+        self._website = None
+        return
+create_accountRequest.typecode.pyclass = create_accountRequest
+
+_create_accountResponseTypecode = Struct(pname=("http://www.sugarcrm.com/sugarcrm","create_accountResponse";), ofwhat=[ZSI.TC.String(pname="return", aname="_return", typed=False, encoded=None, minOccurs=1, maxOccurs=1, nillable=True)], pyclass=None, encoded="http://www.sugarcrm.com/sugarcrm";)
+class create_accountResponse:
+    typecode = _create_accountResponseTypecode
+    __metaclass__ = pyclass_type
+    def __init__(self):
+        self._return = None
+        return
+create_accountResponse.typecode.pyclass = create_accountResponse
+
+_create_opportunityRequestTypecode = Struct(pname=("http://www.sugarcrm.com/sugarcrm","create_opportunity";), ofwhat=[ZSI.TC.String(pname="user_name", aname="_user_name", typed=False, encoded=None, minOccurs=1, maxOccurs=1, nillable=True), ZSI.TC.String(pname="password", aname="_password", typed=False, encoded=None, minOccurs=1, maxOccurs=1, nillable=True), ZSI.TC.String(pname="name", aname="_name", typed=False, encoded=None, minOccurs=1, maxOccurs=1, nillable=True), ZSI.TC.String(pname="amount", aname="_amount", typed=False, encoded=None, minOccurs=1, maxOccurs=1, nillable=True)], pyclass=None, encoded="http://www.sugarcrm.com/sugarcrm";)
+class create_opportunityRequest:
+    typecode = _create_opportunityRequestTypecode
+    __metaclass__ = pyclass_type
+    def __init__(self):
+        self._user_name = None
+        self._password = None
+        self._name = None
+        self._amount = None
+        return
+create_opportunityRequest.typecode.pyclass = create_opportunityRequest
+
+_create_opportunityResponseTypecode = Struct(pname=("http://www.sugarcrm.com/sugarcrm","create_opportunityResponse";), ofwhat=[ZSI.TC.String(pname="return", aname="_return", typed=False, encoded=None, minOccurs=1, maxOccurs=1, nillable=True)], pyclass=None, encoded="http://www.sugarcrm.com/sugarcrm";)
+class create_opportunityResponse:
+    typecode = _create_opportunityResponseTypecode
+    __metaclass__ = pyclass_type
+    def __init__(self):
+        self._return = None
+        return
+create_opportunityResponse.typecode.pyclass = create_opportunityResponse
+
+_create_caseRequestTypecode = Struct(pname=("http://www.sugarcrm.com/sugarcrm","create_case";), ofwhat=[ZSI.TC.String(pname="user_name", aname="_user_name", typed=False, encoded=None, minOccurs=1, maxOccurs=1, nillable=True), ZSI.TC.String(pname="password", aname="_password", typed=False, encoded=None, minOccurs=1, maxOccurs=1, nillable=True), ZSI.TC.String(pname="name", aname="_name", typed=False, encoded=None, minOccurs=1, maxOccurs=1, nillable=True)], pyclass=None, encoded="http://www.sugarcrm.com/sugarcrm";)
+class create_caseRequest:
+    typecode = _create_caseRequestTypecode
+    __metaclass__ = pyclass_type
+    def __init__(self):
+        self._user_name = None
+        self._password = None
+        self._name = None
+        return
+create_caseRequest.typecode.pyclass = create_caseRequest
+
+_create_caseResponseTypecode = Struct(pname=("http://www.sugarcrm.com/sugarcrm","create_caseResponse";), ofwhat=[ZSI.TC.String(pname="return", aname="_return", typed=False, encoded=None, minOccurs=1, maxOccurs=1, nillable=True)], pyclass=None, encoded="http://www.sugarcrm.com/sugarcrm";)
+class create_caseResponse:
+    typecode = _create_caseResponseTypecode
+    __metaclass__ = pyclass_type
+    def __init__(self):
+        self._return = None
+        return
+create_caseResponse.typecode.pyclass = create_caseResponse
+
+_loginRequestTypecode = Struct(pname=("http://www.sugarcrm.com/sugarcrm","login";), ofwhat=[ns0.user_auth_Def(pname="user_auth", aname="_user_auth", typed=False, encoded=None, minOccurs=1, maxOccurs=1, nillable=True), ZSI.TC.String(pname="application_name", aname="_application_name", typed=False, encoded=None, minOccurs=1, maxOccurs=1, nillable=True)], pyclass=None, encoded="http://www.sugarcrm.com/sugarcrm";)
+class loginRequest:
+    typecode = _loginRequestTypecode
+    __metaclass__ = pyclass_type
+    def __init__(self):
+        self._user_auth = None
+        self._application_name = None
+        return
+loginRequest.typecode.pyclass = loginRequest
+
+_loginResponseTypecode = Struct(pname=("http://www.sugarcrm.com/sugarcrm","loginResponse";), ofwhat=[ns0.set_entry_result_Def(pname="return", aname="_return", typed=False, encoded=None, minOccurs=1, maxOccurs=1, nillable=True)], pyclass=None, encoded="http://www.sugarcrm.com/sugarcrm";)
+class loginResponse:
+    typecode = _loginResponseTypecode
+    __metaclass__ = pyclass_type
+    def __init__(self):
+        self._return = None
+        return
+loginResponse.typecode.pyclass = loginResponse
+
+_is_loopbackRequestTypecode = Struct(pname=("http://www.sugarcrm.com/sugarcrm","is_loopback";), ofwhat=[], pyclass=None, encoded="http://www.sugarcrm.com/sugarcrm";)
+class is_loopbackRequest:
+    typecode = _is_loopbackRequestTypecode
+    __metaclass__ = pyclass_type
+    def __init__(self):
+        return
+is_loopbackRequest.typecode.pyclass = is_loopbackRequest
+
+_is_loopbackResponseTypecode = Struct(pname=("http://www.sugarcrm.com/sugarcrm","is_loopbackResponse";), ofwhat=[ZSI.TCnumbers.Iint(pname="return", aname="_return", typed=False, encoded=None, minOccurs=1, maxOccurs=1, nillable=True)], pyclass=None, encoded="http://www.sugarcrm.com/sugarcrm";)
+class is_loopbackResponse:
+    typecode = _is_loopbackResponseTypecode
+    __metaclass__ = pyclass_type
+    def __init__(self):
+        self._return = None
+        return
+is_loopbackResponse.typecode.pyclass = is_loopbackResponse
+
+_seamless_loginRequestTypecode = Struct(pname=("http://www.sugarcrm.com/sugarcrm","seamless_login";), ofwhat=[ZSI.TC.String(pname="session", aname="_session", typed=False, encoded=None, minOccurs=1, maxOccurs=1, nillable=True)], pyclass=None, encoded="http://www.sugarcrm.com/sugarcrm";)
+class seamless_loginRequest:
+    typecode = _seamless_loginRequestTypecode
+    __metaclass__ = pyclass_type
+    def __init__(self):
+        self._session = None
+        return
+seamless_loginRequest.typecode.pyclass = seamless_loginRequest
+
+_seamless_loginResponseTypecode = Struct(pname=("http://www.sugarcrm.com/sugarcrm","seamless_loginResponse";), ofwhat=[ZSI.TCnumbers.Iint(pname="return", aname="_return", typed=False, encoded=None, minOccurs=1, maxOccurs=1, nillable=True)], pyclass=None, encoded="http://www.sugarcrm.com/sugarcrm";)
+class seamless_loginResponse:
+    typecode = _seamless_loginResponseTypecode
+    __metaclass__ = pyclass_type
+    def __init__(self):
+        self._return = None
+        return
+seamless_loginResponse.typecode.pyclass = seamless_loginResponse
+
+_get_entry_listRequestTypecode = Struct(pname=("http://www.sugarcrm.com/sugarcrm","get_entry_list";), ofwhat=[ZSI.TC.String(pname="session", aname="_session", typed=False, encoded=None, minOccurs=1, maxOccurs=1, nillable=True), ZSI.TC.String(pname="module_name", aname="_module_name", typed=False, encoded=None, minOccurs=1, maxOccurs=1, nillable=True), ZSI.TC.String(pname="query", aname="_query", typed=False, encoded=None, minOccurs=1, maxOccurs=1, nillable=True), ZSI.TC.String(pname="order_by", aname="_order_by", typed=False, encoded=None, minOccurs=1, maxOccurs=1, nillable=True), ZSI.TCnumbers.Iint(pname="offset", aname="_offset", typed=False, encoded=None, minOccurs=1, maxOccurs=1, nillable=True), ns0.select_fields_Def(pname="select_fields", aname="_select_fields", typed=False, encoded=None, minOccurs=1, maxOccurs=1, nillable=True), ZSI.TCnumbers.Iint(pname="max_results", aname="_max_results", typed=False, encoded=None, minOccurs=1, maxOccurs=1, nillable=True), ZSI.TCnumbers.Iint(pname="deleted", aname="_deleted", typed=False, encoded=None, minOccurs=1, maxOccurs=1, nillable=True)], pyclass=None, encoded="http://www.sugarcrm.com/sugarcrm";)
+class get_entry_listRequest:
+    typecode = _get_entry_listRequestTypecode
+    __metaclass__ = pyclass_type
+    def __init__(self):
+        self._session = None
+        self._module_name = None
+        self._query = None
+        self._order_by = None
+        self._offset = None
+        self._select_fields = None
+        self._max_results = None
+        self._deleted = None
+        return
+get_entry_listRequest.typecode.pyclass = get_entry_listRequest
+
+_get_entry_listResponseTypecode = Struct(pname=("http://www.sugarcrm.com/sugarcrm","get_entry_listResponse";), ofwhat=[ns0.get_entry_list_result_Def(pname="return", aname="_return", typed=False, encoded=None, minOccurs=1, maxOccurs=1, nillable=True)], pyclass=None, encoded="http://www.sugarcrm.com/sugarcrm";)
+class get_entry_listResponse:
+    typecode = _get_entry_listResponseTypecode
+    __metaclass__ = pyclass_type
+    def __init__(self):
+        self._return = None
+        return
+get_entry_listResponse.typecode.pyclass = get_entry_listResponse
+
+_get_entryRequestTypecode = Struct(pname=("http://www.sugarcrm.com/sugarcrm","get_entry";), ofwhat=[ZSI.TC.String(pname="session", aname="_session", typed=False, encoded=None, minOccurs=1, maxOccurs=1, nillable=True), ZSI.TC.String(pname="module_name", aname="_module_name", typed=False, encoded=None, minOccurs=1, maxOccurs=1, nillable=True), ZSI.TC.String(pname="id", aname="_id", typed=False, encoded=None, minOccurs=1, maxOccurs=1, nillable=True), ns0.select_fields_Def(pname="select_fields", aname="_select_fields", typed=False, encoded=None, minOccurs=1, maxOccurs=1, nillable=True)], pyclass=None, encoded="http://www.sugarcrm.com/sugarcrm";)
+class get_entryRequest:
+    typecode = _get_entryRequestTypecode
+    __metaclass__ = pyclass_type
+    def __init__(self):
+        self._session = None
+        self._module_name = None
+        self._id = None
+        self._select_fields = None
+        return
+get_entryRequest.typecode.pyclass = get_entryRequest
+
+_get_entryResponseTypecode = Struct(pname=("http://www.sugarcrm.com/sugarcrm","get_entryResponse";), ofwhat=[ns0.get_entry_result_Def(pname="return", aname="_return", typed=False, encoded=None, minOccurs=1, maxOccurs=1, nillable=True)], pyclass=None, encoded="http://www.sugarcrm.com/sugarcrm";)
+class get_entryResponse:
+    typecode = _get_entryResponseTypecode
+    __metaclass__ = pyclass_type
+    def __init__(self):
+        self._return = None
+        return
+get_entryResponse.typecode.pyclass = get_entryResponse
+
+_get_entriesRequestTypecode = Struct(pname=("http://www.sugarcrm.com/sugarcrm","get_entries";), ofwhat=[ZSI.TC.String(pname="session", aname="_session", typed=False, encoded=None, minOccurs=1, maxOccurs=1, nillable=True), ZSI.TC.String(pname="module_name", aname="_module_name", typed=False, encoded=None, minOccurs=1, maxOccurs=1, nillable=True), ns0.select_fields_Def(pname="ids", aname="_ids", typed=False, encoded=None, minOccurs=1, maxOccurs=1, nillable=True), ns0.select_fields_Def(pname="select_fields", aname="_select_fields", typed=False, encoded=None, minOccurs=1, maxOccurs=1, nillable=True)], pyclass=None, encoded="http://www.sugarcrm.com/sugarcrm";)
+class get_entriesRequest:
+    typecode = _get_entriesRequestTypecode
+    __metaclass__ = pyclass_type
+    def __init__(self):
+        self._session = None
+        self._module_name = None
+        self._ids = None
+        self._select_fields = None
+        return
+get_entriesRequest.typecode.pyclass = get_entriesRequest
+
+_get_entriesResponseTypecode = Struct(pname=("http://www.sugarcrm.com/sugarcrm","get_entriesResponse";), ofwhat=[ns0.get_entry_result_Def(pname="return", aname="_return", typed=False, encoded=None, minOccurs=1, maxOccurs=1, nillable=True)], pyclass=None, encoded="http://www.sugarcrm.com/sugarcrm";)
+class get_entriesResponse:
+    typecode = _get_entriesResponseTypecode
+    __metaclass__ = pyclass_type
+    def __init__(self):
+        self._return = None
+        return
+get_entriesResponse.typecode.pyclass = get_entriesResponse
+
+_set_entryRequestTypecode = Struct(pname=("http://www.sugarcrm.com/sugarcrm","set_entry";), ofwhat=[ZSI.TC.String(pname="session", aname="_session", typed=False, encoded=None, minOccurs=1, maxOccurs=1, nillable=True), ZSI.TC.String(pname="module_name", aname="_module_name", typed=False, encoded=None, minOccurs=1, maxOccurs=1, nillable=True), ns0.name_value_list_Def(pname="name_value_list", aname="_name_value_list", typed=False, encoded=None, minOccurs=1, maxOccurs=1, nillable=True)], pyclass=None, encoded="http://www.sugarcrm.com/sugarcrm";)
+class set_entryRequest:
+    typecode = _set_entryRequestTypecode
+    __metaclass__ = pyclass_type
+    def __init__(self):
+        self._session = None
+        self._module_name = None
+        self._name_value_list = None
+        return
+set_entryRequest.typecode.pyclass = set_entryRequest
+
+_set_entryResponseTypecode = Struct(pname=("http://www.sugarcrm.com/sugarcrm","set_entryResponse";), ofwhat=[ns0.set_entry_result_Def(pname="return", aname="_return", typed=False, encoded=None, minOccurs=1, maxOccurs=1, nillable=True)], pyclass=None, encoded="http://www.sugarcrm.com/sugarcrm";)
+class set_entryResponse:
+    typecode = _set_entryResponseTypecode
+    __metaclass__ = pyclass_type
+    def __init__(self):
+        self._return = None
+        return
+set_entryResponse.typecode.pyclass = set_entryResponse
+
+_set_entriesRequestTypecode = Struct(pname=("http://www.sugarcrm.com/sugarcrm","set_entries";), ofwhat=[ZSI.TC.String(pname="session", aname="_session", typed=False, encoded=None, minOccurs=1, maxOccurs=1, nillable=True), ZSI.TC.String(pname="module_name", aname="_module_name", typed=False, encoded=None, minOccurs=1, maxOccurs=1, nillable=True), ns0.name_value_lists_Def(pname="name_value_lists", aname="_name_value_lists", typed=False, encoded=None, minOccurs=1, maxOccurs=1, nillable=True)], pyclass=None, encoded="http://www.sugarcrm.com/sugarcrm";)
+class set_entriesRequest:
+    typecode = _set_entriesRequestTypecode
+    __metaclass__ = pyclass_type
+    def __init__(self):
+        self._session = None
+        self._module_name = None
+        self._name_value_lists = None
+        return
+set_entriesRequest.typecode.pyclass = set_entriesRequest
+
+_set_entriesResponseTypecode = Struct(pname=("http://www.sugarcrm.com/sugarcrm","set_entriesResponse";), ofwhat=[ns0.set_entries_result_Def(pname="return", aname="_return", typed=False, encoded=None, minOccurs=1, maxOccurs=1, nillable=True)], pyclass=None, encoded="http://www.sugarcrm.com/sugarcrm";)
+class set_entriesResponse:
+    typecode = _set_entriesResponseTypecode
+    __metaclass__ = pyclass_type
+    def __init__(self):
+        self._return = None
+        return
+set_entriesResponse.typecode.pyclass = set_entriesResponse
+
+_set_note_attachmentRequestTypecode = Struct(pname=("http://www.sugarcrm.com/sugarcrm","set_note_attachment";), ofwhat=[ZSI.TC.String(pname="session", aname="_session", typed=False, encoded=None, minOccurs=1, maxOccurs=1, nillable=True), ns0.note_attachment_Def(pname="note", aname="_note", typed=False, encoded=None, minOccurs=1, maxOccurs=1, nillable=True)], pyclass=None, encoded="http://www.sugarcrm.com/sugarcrm";)
+class set_note_attachmentRequest:
+    typecode = _set_note_attachmentRequestTypecode
+    __metaclass__ = pyclass_type
+    def __init__(self):
+        self._session = None
+        self._note = None
+        return
+set_note_attachmentRequest.typecode.pyclass = set_note_attachmentRequest
+
+_set_note_attachmentResponseTypecode = Struct(pname=("http://www.sugarcrm.com/sugarcrm","set_note_attachmentResponse";), ofwhat=[ns0.set_entry_result_Def(pname="return", aname="_return", typed=False, encoded=None, minOccurs=1, maxOccurs=1, nillable=True)], pyclass=None, encoded="http://www.sugarcrm.com/sugarcrm";)
+class set_note_attachmentResponse:
+    typecode = _set_note_attachmentResponseTypecode
+    __metaclass__ = pyclass_type
+    def __init__(self):
+        self._return = None
+        return
+set_note_attachmentResponse.typecode.pyclass = set_note_attachmentResponse
+
+_get_note_attachmentRequestTypecode = Struct(pname=("http://www.sugarcrm.com/sugarcrm","get_note_attachment";), ofwhat=[ZSI.TC.String(pname="session", aname="_session", typed=False, encoded=None, minOccurs=1, maxOccurs=1, nillable=True), ZSI.TC.String(pname="id", aname="_id", typed=False, encoded=None, minOccurs=1, maxOccurs=1, nillable=True)], pyclass=None, encoded="http://www.sugarcrm.com/sugarcrm";)
+class get_note_attachmentRequest:
+    typecode = _get_note_attachmentRequestTypecode
+    __metaclass__ = pyclass_type
+    def __init__(self):
+        self._session = None
+        self._id = None
+        return
+get_note_attachmentRequest.typecode.pyclass = get_note_attachmentRequest
+
+_get_note_attachmentResponseTypecode = Struct(pname=("http://www.sugarcrm.com/sugarcrm","get_note_attachmentResponse";), ofwhat=[ns0.return_note_attachment_Def(pname="return", aname="_return", typed=False, encoded=None, minOccurs=1, maxOccurs=1, nillable=True)], pyclass=None, encoded="http://www.sugarcrm.com/sugarcrm";)
+class get_note_attachmentResponse:
+    typecode = _get_note_attachmentResponseTypecode
+    __metaclass__ = pyclass_type
+    def __init__(self):
+        self._return = None
+        return
+get_note_attachmentResponse.typecode.pyclass = get_note_attachmentResponse
+
+_relate_note_to_moduleRequestTypecode = Struct(pname=("http://www.sugarcrm.com/sugarcrm","relate_note_to_module";), ofwhat=[ZSI.TC.String(pname="session", aname="_session", typed=False, encoded=None, minOccurs=1, maxOccurs=1, nillable=True), ZSI.TC.String(pname="note_id", aname="_note_id", typed=False, encoded=None, minOccurs=1, maxOccurs=1, nillable=True), ZSI.TC.String(pname="module_name", aname="_module_name", typed=False, encoded=None, minOccurs=1, maxOccurs=1, nillable=True), ZSI.TC.String(pname="module_id", aname="_module_id", typed=False, encoded=None, minOccurs=1, maxOccurs=1, nillable=True)], pyclass=None, encoded="http://www.sugarcrm.com/sugarcrm";)
+class relate_note_to_moduleRequest:
+    typecode = _relate_note_to_moduleRequestTypecode
+    __metaclass__ = pyclass_type
+    def __init__(self):
+        self._session = None
+        self._note_id = None
+        self._module_name = None
+        self._module_id = None
+        return
+relate_note_to_moduleRequest.typecode.pyclass = relate_note_to_moduleRequest
+
+_relate_note_to_moduleResponseTypecode = Struct(pname=("http://www.sugarcrm.com/sugarcrm","relate_note_to_moduleResponse";), ofwhat=[ns0.error_value_Def(pname="return", aname="_return", typed=False, encoded=None, minOccurs=1, maxOccurs=1, nillable=True)], pyclass=None, encoded="http://www.sugarcrm.com/sugarcrm";)
+class relate_note_to_moduleResponse:
+    typecode = _relate_note_to_moduleResponseTypecode
+    __metaclass__ = pyclass_type
+    def __init__(self):
+        self._return = None
+        return
+relate_note_to_moduleResponse.typecode.pyclass = relate_note_to_moduleResponse
+
+_get_related_notesRequestTypecode = Struct(pname=("http://www.sugarcrm.com/sugarcrm","get_related_notes";), ofwhat=[ZSI.TC.String(pname="session", aname="_session", typed=False, encoded=None, minOccurs=1, maxOccurs=1, nillable=True), ZSI.TC.String(pname="module_name", aname="_module_name", typed=False, encoded=None, minOccurs=1, maxOccurs=1, nillable=True), ZSI.TC.String(pname="module_id", aname="_module_id", typed=False, encoded=None, minOccurs=1, maxOccurs=1, nillable=True), ns0.select_fields_Def(pname="select_fields", aname="_select_fields", typed=False, encoded=None, minOccurs=1, maxOccurs=1, nillable=True)], pyclass=None, encoded="http://www.sugarcrm.com/sugarcrm";)
+class get_related_notesRequest:
+    typecode = _get_related_notesRequestTypecode
+    __metaclass__ = pyclass_type
+    def __init__(self):
+        self._session = None
+        self._module_name = None
+        self._module_id = None
+        self._select_fields = None
+        return
+get_related_notesRequest.typecode.pyclass = get_related_notesRequest
+
+_get_related_notesResponseTypecode = Struct(pname=("http://www.sugarcrm.com/sugarcrm","get_related_notesResponse";), ofwhat=[ns0.get_entry_result_Def(pname="return", aname="_return", typed=False, encoded=None, minOccurs=1, maxOccurs=1, nillable=True)], pyclass=None, encoded="http://www.sugarcrm.com/sugarcrm";)
+class get_related_notesResponse:
+    typecode = _get_related_notesResponseTypecode
+    __metaclass__ = pyclass_type
+    def __init__(self):
+        self._return = None
+        return
+get_related_notesResponse.typecode.pyclass = get_related_notesResponse
+
+_logoutRequestTypecode = Struct(pname=("http://www.sugarcrm.com/sugarcrm","logout";), ofwhat=[ZSI.TC.String(pname="session", aname="_session", typed=False, encoded=None, minOccurs=1, maxOccurs=1, nillable=True)], pyclass=None, encoded="http://www.sugarcrm.com/sugarcrm";)
+class logoutRequest:
+    typecode = _logoutRequestTypecode
+    __metaclass__ = pyclass_type
+    def __init__(self):
+        self._session = None
+        return
+logoutRequest.typecode.pyclass = logoutRequest
+
+_logoutResponseTypecode = Struct(pname=("http://www.sugarcrm.com/sugarcrm","logoutResponse";), ofwhat=[ns0.error_value_Def(pname="return", aname="_return", typed=False, encoded=None, minOccurs=1, maxOccurs=1, nillable=True)], pyclass=None, encoded="http://www.sugarcrm.com/sugarcrm";)
+class logoutResponse:
+    typecode = _logoutResponseTypecode
+    __metaclass__ = pyclass_type
+    def __init__(self):
+        self._return = None
+        return
+logoutResponse.typecode.pyclass = logoutResponse
+
+_get_module_fieldsRequestTypecode = Struct(pname=("http://www.sugarcrm.com/sugarcrm","get_module_fields";), ofwhat=[ZSI.TC.String(pname="session", aname="_session", typed=False, encoded=None, minOccurs=1, maxOccurs=1, nillable=True), ZSI.TC.String(pname="module_name", aname="_module_name", typed=False, encoded=None, minOccurs=1, maxOccurs=1, nillable=True)], pyclass=None, encoded="http://www.sugarcrm.com/sugarcrm";)
+class get_module_fieldsRequest:
+    typecode = _get_module_fieldsRequestTypecode
+    __metaclass__ = pyclass_type
+    def __init__(self):
+        self._session = None
+        self._module_name = None
+        return
+get_module_fieldsRequest.typecode.pyclass = get_module_fieldsRequest
+
+_get_module_fieldsResponseTypecode = Struct(pname=("http://www.sugarcrm.com/sugarcrm","get_module_fieldsResponse";), ofwhat=[ns0.module_fields_Def(pname="return", aname="_return", typed=False, encoded=None, minOccurs=1, maxOccurs=1, nillable=True)], pyclass=None, encoded="http://www.sugarcrm.com/sugarcrm";)
+class get_module_fieldsResponse:
+    typecode = _get_module_fieldsResponseTypecode
+    __metaclass__ = pyclass_type
+    def __init__(self):
+        self._return = None
+        return
+get_module_fieldsResponse.typecode.pyclass = get_module_fieldsResponse
+
+_get_available_modulesRequestTypecode = Struct(pname=("http://www.sugarcrm.com/sugarcrm","get_available_modules";), ofwhat=[ZSI.TC.String(pname="session", aname="_session", typed=False, encoded=None, minOccurs=1, maxOccurs=1, nillable=True)], pyclass=None, encoded="http://www.sugarcrm.com/sugarcrm";)
+class get_available_modulesRequest:
+    typecode = _get_available_modulesRequestTypecode
+    __metaclass__ = pyclass_type
+    def __init__(self):
+        self._session = None
+        return
+get_available_modulesRequest.typecode.pyclass = get_available_modulesRequest
+
+_get_available_modulesResponseTypecode = Struct(pname=("http://www.sugarcrm.com/sugarcrm","get_available_modulesResponse";), ofwhat=[ns0.module_list_Def(pname="return", aname="_return", typed=False, encoded=None, minOccurs=1, maxOccurs=1, nillable=True)], pyclass=None, encoded="http://www.sugarcrm.com/sugarcrm";)
+class get_available_modulesResponse:
+    typecode = _get_available_modulesResponseTypecode
+    __metaclass__ = pyclass_type
+    def __init__(self):
+        self._return = None
+        return
+get_available_modulesResponse.typecode.pyclass = get_available_modulesResponse
+
+_update_portal_userRequestTypecode = Struct(pname=("http://www.sugarcrm.com/sugarcrm","update_portal_user";), ofwhat=[ZSI.TC.String(pname="session", aname="_session", typed=False, encoded=None, minOccurs=1, maxOccurs=1, nillable=True), ZSI.TC.String(pname="portal_name", aname="_portal_name", typed=False, encoded=None, minOccurs=1, maxOccurs=1, nillable=True), ns0.name_value_list_Def(pname="name_value_list", aname="_name_value_list", typed=False, encoded=None, minOccurs=1, maxOccurs=1, nillable=True)], pyclass=None, encoded="http://www.sugarcrm.com/sugarcrm";)
+class update_portal_userRequest:
+    typecode = _update_portal_userRequestTypecode
+    __metaclass__ = pyclass_type
+    def __init__(self):
+        self._session = None
+        self._portal_name = None
+        self._name_value_list = None
+        return
+update_portal_userRequest.typecode.pyclass = update_portal_userRequest
+
+_update_portal_userResponseTypecode = Struct(pname=("http://www.sugarcrm.com/sugarcrm","update_portal_userResponse";), ofwhat=[ns0.error_value_Def(pname="return", aname="_return", typed=False, encoded=None, minOccurs=1, maxOccurs=1, nillable=True)], pyclass=None, encoded="http://www.sugarcrm.com/sugarcrm";)
+class update_portal_userResponse:
+    typecode = _update_portal_userResponseTypecode
+    __metaclass__ = pyclass_type
+    def __init__(self):
+        self._return = None
+        return
+update_portal_userResponse.typecode.pyclass = update_portal_userResponse
+
+_testRequestTypecode = Struct(pname=("http://www.sugarcrm.com/sugarcrm","test";), ofwhat=[ZSI.TC.String(pname="string", aname="_string", typed=False, encoded=None, minOccurs=1, maxOccurs=1, nillable=True)], pyclass=None, encoded="http://www.sugarcrm.com/sugarcrm";)
+class testRequest:
+    typecode = _testRequestTypecode
+    __metaclass__ = pyclass_type
+    def __init__(self):
+        self._string = None
+        return
+testRequest.typecode.pyclass = testRequest
+
+_testResponseTypecode = Struct(pname=("http://www.sugarcrm.com/sugarcrm","testResponse";), ofwhat=[ZSI.TC.String(pname="return", aname="_return", typed=False, encoded=None, minOccurs=1, maxOccurs=1, nillable=True)], pyclass=None, encoded="http://www.sugarcrm.com/sugarcrm";)
+class testResponse:
+    typecode = _testResponseTypecode
+    __metaclass__ = pyclass_type
+    def __init__(self):
+        self._return = None
+        return
+testResponse.typecode.pyclass = testResponse
+
+_get_user_idRequestTypecode = Struct(pname=("http://www.sugarcrm.com/sugarcrm","get_user_id";), ofwhat=[ZSI.TC.String(pname="session", aname="_session", typed=False, encoded=None, minOccurs=1, maxOccurs=1, nillable=True)], pyclass=None, encoded="http://www.sugarcrm.com/sugarcrm";)
+class get_user_idRequest:
+    typecode = _get_user_idRequestTypecode
+    __metaclass__ = pyclass_type
+    def __init__(self):
+        self._session = None
+        return
+get_user_idRequest.typecode.pyclass = get_user_idRequest
+
+_get_user_idResponseTypecode = Struct(pname=("http://www.sugarcrm.com/sugarcrm","get_user_idResponse";), ofwhat=[ZSI.TC.String(pname="return", aname="_return", typed=False, encoded=None, minOccurs=1, maxOccurs=1, nillable=True)], pyclass=None, encoded="http://www.sugarcrm.com/sugarcrm";)
+class get_user_idResponse:
+    typecode = _get_user_idResponseTypecode
+    __metaclass__ = pyclass_type
+    def __init__(self):
+        self._return = None
+        return
+get_user_idResponse.typecode.pyclass = get_user_idResponse
+
+_get_user_team_idRequestTypecode = Struct(pname=("http://www.sugarcrm.com/sugarcrm","get_user_team_id";), ofwhat=[ZSI.TC.String(pname="session", aname="_session", typed=False, encoded=None, minOccurs=1, maxOccurs=1, nillable=True)], pyclass=None, encoded="http://www.sugarcrm.com/sugarcrm";)
+class get_user_team_idRequest:
+    typecode = _get_user_team_idRequestTypecode
+    __metaclass__ = pyclass_type
+    def __init__(self):
+        self._session = None
+        return
+get_user_team_idRequest.typecode.pyclass = get_user_team_idRequest
+
+_get_user_team_idResponseTypecode = Struct(pname=("http://www.sugarcrm.com/sugarcrm","get_user_team_idResponse";), ofwhat=[ZSI.TC.String(pname="return", aname="_return", typed=False, encoded=None, minOccurs=1, maxOccurs=1, nillable=True)], pyclass=None, encoded="http://www.sugarcrm.com/sugarcrm";)
+class get_user_team_idResponse:
+    typecode = _get_user_team_idResponseTypecode
+    __metaclass__ = pyclass_type
+    def __init__(self):
+        self._return = None
+        return
+get_user_team_idResponse.typecode.pyclass = get_user_team_idResponse
+
+_get_server_timeRequestTypecode = Struct(pname=("http://www.sugarcrm.com/sugarcrm","get_server_time";), ofwhat=[], pyclass=None, encoded="http://www.sugarcrm.com/sugarcrm";)
+class get_server_timeRequest:
+    typecode = _get_server_timeRequestTypecode
+    __metaclass__ = pyclass_type
+    def __init__(self):
+        return
+get_server_timeRequest.typecode.pyclass = get_server_timeRequest
+
+_get_server_timeResponseTypecode = Struct(pname=("http://www.sugarcrm.com/sugarcrm","get_server_timeResponse";), ofwhat=[ZSI.TC.String(pname="return", aname="_return", typed=False, encoded=None, minOccurs=1, maxOccurs=1, nillable=True)], pyclass=None, encoded="http://www.sugarcrm.com/sugarcrm";)
+class get_server_timeResponse:
+    typecode = _get_server_timeResponseTypecode
+    __metaclass__ = pyclass_type
+    def __init__(self):
+        self._return = None
+        return
+get_server_timeResponse.typecode.pyclass = get_server_timeResponse
+
+_get_gmt_timeRequestTypecode = Struct(pname=("http://www.sugarcrm.com/sugarcrm","get_gmt_time";), ofwhat=[], pyclass=None, encoded="http://www.sugarcrm.com/sugarcrm";)
+class get_gmt_timeRequest:
+    typecode = _get_gmt_timeRequestTypecode
+    __metaclass__ = pyclass_type
+    def __init__(self):
+        return
+get_gmt_timeRequest.typecode.pyclass = get_gmt_timeRequest
+
+_get_gmt_timeResponseTypecode = Struct(pname=("http://www.sugarcrm.com/sugarcrm","get_gmt_timeResponse";), ofwhat=[ZSI.TC.String(pname="return", aname="_return", typed=False, encoded=None, minOccurs=1, maxOccurs=1, nillable=True)], pyclass=None, encoded="http://www.sugarcrm.com/sugarcrm";)
+class get_gmt_timeResponse:
+    typecode = _get_gmt_timeResponseTypecode
+    __metaclass__ = pyclass_type
+    def __init__(self):
+        self._return = None
+        return
+get_gmt_timeResponse.typecode.pyclass = get_gmt_timeResponse
+
+_get_sugar_flavorRequestTypecode = Struct(pname=("http://www.sugarcrm.com/sugarcrm","get_sugar_flavor";), ofwhat=[], pyclass=None, encoded="http://www.sugarcrm.com/sugarcrm";)
+class get_sugar_flavorRequest:
+    typecode = _get_sugar_flavorRequestTypecode
+    __metaclass__ = pyclass_type
+    def __init__(self):
+        return
+get_sugar_flavorRequest.typecode.pyclass = get_sugar_flavorRequest
+
+_get_sugar_flavorResponseTypecode = Struct(pname=("http://www.sugarcrm.com/sugarcrm","get_sugar_flavorResponse";), ofwhat=[ZSI.TC.String(pname="return", aname="_return", typed=False, encoded=None, minOccurs=1, maxOccurs=1, nillable=True)], pyclass=None, encoded="http://www.sugarcrm.com/sugarcrm";)
+class get_sugar_flavorResponse:
+    typecode = _get_sugar_flavorResponseTypecode
+    __metaclass__ = pyclass_type
+    def __init__(self):
+        self._return = None
+        return
+get_sugar_flavorResponse.typecode.pyclass = get_sugar_flavorResponse
+
+_get_server_versionRequestTypecode = Struct(pname=("http://www.sugarcrm.com/sugarcrm","get_server_version";), ofwhat=[], pyclass=None, encoded="http://www.sugarcrm.com/sugarcrm";)
+class get_server_versionRequest:
+    typecode = _get_server_versionRequestTypecode
+    __metaclass__ = pyclass_type
+    def __init__(self):
+        return
+get_server_versionRequest.typecode.pyclass = get_server_versionRequest
+
+_get_server_versionResponseTypecode = Struct(pname=("http://www.sugarcrm.com/sugarcrm","get_server_versionResponse";), ofwhat=[ZSI.TC.String(pname="return", aname="_return", typed=False, encoded=None, minOccurs=1, maxOccurs=1, nillable=True)], pyclass=None, encoded="http://www.sugarcrm.com/sugarcrm";)
+class get_server_versionResponse:
+    typecode = _get_server_versionResponseTypecode
+    __metaclass__ = pyclass_type
+    def __init__(self):
+        self._return = None
+        return
+get_server_versionResponse.typecode.pyclass = get_server_versionResponse
+
+_get_relationshipsRequestTypecode = Struct(pname=("http://www.sugarcrm.com/sugarcrm","get_relationships";), ofwhat=[ZSI.TC.String(pname="session", aname="_session", typed=False, encoded=None, minOccurs=1, maxOccurs=1, nillable=True), ZSI.TC.String(pname="module_name", aname="_module_name", typed=False, encoded=None, minOccurs=1, maxOccurs=1, nillable=True), ZSI.TC.String(pname="module_id", aname="_module_id", typed=False, encoded=None, minOccurs=1, maxOccurs=1, nillable=True), ZSI.TC.String(pname="related_module", aname="_related_module", typed=False, encoded=None, minOccurs=1, maxOccurs=1, nillable=True), ZSI.TC.String(pname="related_module_query", aname="_related_module_query", typed=False, encoded=None, minOccurs=1, maxOccurs=1, nillable=True), ZSI.TCnumbers.Iint(pname="deleted", aname="_deleted", typed=False, encoded=None, minOccurs=1, maxOccurs=1, nillable=True)], pyclass=None, encoded="http://www.sugarcrm.com/sugarcrm";)
+class get_relationshipsRequest:
+    typecode = _get_relationshipsRequestTypecode
+    __metaclass__ = pyclass_type
+    def __init__(self):
+        self._session = None
+        self._module_name = None
+        self._module_id = None
+        self._related_module = None
+        self._related_module_query = None
+        self._deleted = None
+        return
+get_relationshipsRequest.typecode.pyclass = get_relationshipsRequest
+
+_get_relationshipsResponseTypecode = Struct(pname=("http://www.sugarcrm.com/sugarcrm","get_relationshipsResponse";), ofwhat=[ns0.get_relationships_result_Def(pname="return", aname="_return", typed=False, encoded=None, minOccurs=1, maxOccurs=1, nillable=True)], pyclass=None, encoded="http://www.sugarcrm.com/sugarcrm";)
+class get_relationshipsResponse:
+    typecode = _get_relationshipsResponseTypecode
+    __metaclass__ = pyclass_type
+    def __init__(self):
+        self._return = None
+        return
+get_relationshipsResponse.typecode.pyclass = get_relationshipsResponse
+
+_set_relationshipRequestTypecode = Struct(pname=("http://www.sugarcrm.com/sugarcrm","set_relationship";), ofwhat=[ZSI.TC.String(pname="session", aname="_session", typed=False, encoded=None, minOccurs=1, maxOccurs=1, nillable=True), ns0.set_relationship_value_Def(pname="set_relationship_value", aname="_set_relationship_value", typed=False, encoded=None, minOccurs=1, maxOccurs=1, nillable=True)], pyclass=None, encoded="http://www.sugarcrm.com/sugarcrm";)
+class set_relationshipRequest:
+    typecode = _set_relationshipRequestTypecode
+    __metaclass__ = pyclass_type
+    def __init__(self):
+        self._session = None
+        self._set_relationship_value = None
+        return
+set_relationshipRequest.typecode.pyclass = set_relationshipRequest
+
+_set_relationshipResponseTypecode = Struct(pname=("http://www.sugarcrm.com/sugarcrm","set_relationshipResponse";), ofwhat=[ns0.error_value_Def(pname="return", aname="_return", typed=False, encoded=None, minOccurs=1, maxOccurs=1, nillable=True)], pyclass=None, encoded="http://www.sugarcrm.com/sugarcrm";)
+class set_relationshipResponse:
+    typecode = _set_relationshipResponseTypecode
+    __metaclass__ = pyclass_type
+    def __init__(self):
+        self._return = None
+        return
+set_relationshipResponse.typecode.pyclass = set_relationshipResponse
+
+_set_relationshipsRequestTypecode = Struct(pname=("http://www.sugarcrm.com/sugarcrm","set_relationships";), ofwhat=[ZSI.TC.String(pname="session", aname="_session", typed=False, encoded=None, minOccurs=1, maxOccurs=1, nillable=True), ns0.set_relationship_list_Def(pname="set_relationship_list", aname="_set_relationship_list", typed=False, encoded=None, minOccurs=1, maxOccurs=1, nillable=True)], pyclass=None, encoded="http://www.sugarcrm.com/sugarcrm";)
+class set_relationshipsRequest:
+    typecode = _set_relationshipsRequestTypecode
+    __metaclass__ = pyclass_type
+    def __init__(self):
+        self._session = None
+        self._set_relationship_list = None
+        return
+set_relationshipsRequest.typecode.pyclass = set_relationshipsRequest
+
+_set_relationshipsResponseTypecode = Struct(pname=("http://www.sugarcrm.com/sugarcrm","set_relationshipsResponse";), ofwhat=[ns0.set_relationship_list_result_Def(pname="return", aname="_return", typed=False, encoded=None, minOccurs=1, maxOccurs=1, nillable=True)], pyclass=None, encoded="http://www.sugarcrm.com/sugarcrm";)
+class set_relationshipsResponse:
+    typecode = _set_relationshipsResponseTypecode
+    __metaclass__ = pyclass_type
+    def __init__(self):
+        self._return = None
+        return
+set_relationshipsResponse.typecode.pyclass = set_relationshipsResponse
+
+_set_document_revisionRequestTypecode = Struct(pname=("http://www.sugarcrm.com/sugarcrm","set_document_revision";), ofwhat=[ZSI.TC.String(pname="session", aname="_session", typed=False, encoded=None, minOccurs=1, maxOccurs=1, nillable=True), ns0.document_revision_Def(pname="note", aname="_note", typed=False, encoded=None, minOccurs=1, maxOccurs=1, nillable=True)], pyclass=None, encoded="http://www.sugarcrm.com/sugarcrm";)
+class set_document_revisionRequest:
+    typecode = _set_document_revisionRequestTypecode
+    __metaclass__ = pyclass_type
+    def __init__(self):
+        self._session = None
+        self._note = None
+        return
+set_document_revisionRequest.typecode.pyclass = set_document_revisionRequest
+
+_set_document_revisionResponseTypecode = Struct(pname=("http://www.sugarcrm.com/sugarcrm","set_document_revisionResponse";), ofwhat=[ns0.set_entry_result_Def(pname="return", aname="_return", typed=False, encoded=None, minOccurs=1, maxOccurs=1, nillable=True)], pyclass=None, encoded="http://www.sugarcrm.com/sugarcrm";)
+class set_document_revisionResponse:
+    typecode = _set_document_revisionResponseTypecode
+    __metaclass__ = pyclass_type
+    def __init__(self):
+        self._return = None
+        return
+set_document_revisionResponse.typecode.pyclass = set_document_revisionResponse
+
+_search_by_moduleRequestTypecode = Struct(pname=("http://www.sugarcrm.com/sugarcrm","search_by_module";), ofwhat=[ZSI.TC.String(pname="user_name", aname="_user_name", typed=False, encoded=None, minOccurs=1, maxOccurs=1, nillable=True), ZSI.TC.String(pname="password", aname="_password", typed=False, encoded=None, minOccurs=1, maxOccurs=1, nillable=True), ZSI.TC.String(pname="search_string", aname="_search_string", typed=False, encoded=None, minOccurs=1, maxOccurs=1, nillable=True), ns0.select_fields_Def(pname="modules", aname="_modules", typed=False, encoded=None, minOccurs=1, maxOccurs=1, nillable=True), ZSI.TCnumbers.Iint(pname="offset", aname="_offset", typed=False, encoded=None, minOccurs=1, maxOccurs=1, nillable=True), ZSI.TCnumbers.Iint(pname="max_results", aname="_max_results", typed=False, encoded=None, minOccurs=1, maxOccurs=1, nillable=True)], pyclass=None, encoded="http://www.sugarcrm.com/sugarcrm";)
+class search_by_moduleRequest:
+    typecode = _search_by_moduleRequestTypecode
+    __metaclass__ = pyclass_type
+    def __init__(self):
+        self._user_name = None
+        self._password = None
+        self._search_string = None
+        self._modules = None
+        self._offset = None
+        self._max_results = None
+        return
+search_by_moduleRequest.typecode.pyclass = search_by_moduleRequest
+
+_search_by_moduleResponseTypecode = Struct(pname=("http://www.sugarcrm.com/sugarcrm","search_by_moduleResponse";), ofwhat=[ns0.get_entry_list_result_Def(pname="return", aname="_return", typed=False, encoded=None, minOccurs=1, maxOccurs=1, nillable=True)], pyclass=None, encoded="http://www.sugarcrm.com/sugarcrm";)
+class search_by_moduleResponse:
+    typecode = _search_by_moduleResponseTypecode
+    __metaclass__ = pyclass_type
+    def __init__(self):
+        self._return = None
+        return
+search_by_moduleResponse.typecode.pyclass = search_by_moduleResponse
+
+_sync_get_modified_relationshipsRequestTypecode = Struct(pname=("http://www.sugarcrm.com/sugarcrm","sync_get_modified_relationships";), ofwhat=[ZSI.TC.String(pname="session", aname="_session", typed=False, encoded=None, minOccurs=1, maxOccurs=1, nillable=True), ZSI.TC.String(pname="module_name", aname="_module_name", typed=False, encoded=None, minOccurs=1, maxOccurs=1, nillable=True), ZSI.TC.String(pname="related_module", aname="_related_module", typed=False, encoded=None, minOccurs=1, maxOccurs=1, nillable=True), ZSI.TC.String(pname="from_date", aname="_from_date", typed=False, encoded=None, minOccurs=1, maxOccurs=1, nillable=True), ZSI.TC.String(pname="to_date", aname="_to_date", typed=False, encoded=None, minOccurs=1, maxOccurs=1, nillable=True), ZSI.TCnumbers.Iint(pname="offset", aname="_offset", typed=False, encoded=None, minOccurs=1, maxOccurs=1, nillable=True), ZSI.TCnumbers.Iint(pname="max_results", aname="_max_results", typed=False, encoded=None, minOccurs=1, maxOccurs=1, nillable=True), ZSI.TCnumbers.Iint(pname="deleted", aname="_deleted", typed=False, encoded=None, minOccurs=1, maxOccurs=1, nillable=True), ZSI.TC.String(pname="module_id", aname="_module_id", typed=False, encoded=None, minOccurs=1, maxOccurs=1, nillable=True), ns0.select_fields_Def(pname="select_fields", aname="_select_fields", typed=False, encoded=None, minOccurs=1, maxOccurs=1, nillable=True), ns0.select_fields_Def(pname="ids", aname="_ids", typed=False, encoded=None, minOccurs=1, maxOccurs=1, nillable=True), ZSI.TC.String(pname="relationship_name", aname="_relationship_name", typed=False, encoded=None, minOccurs=1, maxOccurs=1, nillable=True), ZSI.TC.String(pname="deletion_date", aname="_deletion_date", typed=False, encoded=None, minOccurs=1, maxOccurs=1, nillable=True), ZSI.TCnumbers.Iint(pname="php_serialize", aname="_php_serialize", typed=False, encoded=None, minOccurs=1, maxOccurs=1, nillable=True)], pyclass=None, encoded="http://www.sugarcrm.com/sugarcrm";)
+class sync_get_modified_relationshipsRequest:
+    typecode = _sync_get_modified_relationshipsRequestTypecode
+    __metaclass__ = pyclass_type
+    def __init__(self):
+        self._session = None
+        self._module_name = None
+        self._related_module = None
+        self._from_date = None
+        self._to_date = None
+        self._offset = None
+        self._max_results = None
+        self._deleted = None
+        self._module_id = None
+        self._select_fields = None
+        self._ids = None
+        self._relationship_name = None
+        self._deletion_date = None
+        self._php_serialize = None
+        return
+sync_get_modified_relationshipsRequest.typecode.pyclass = sync_get_modified_relationshipsRequest
+
+_sync_get_modified_relationshipsResponseTypecode = Struct(pname=("http://www.sugarcrm.com/sugarcrm","sync_get_modified_relationshipsResponse";), ofwhat=[ns0.get_entry_list_result_encoded_Def(pname="return", aname="_return", typed=False, encoded=None, minOccurs=1, maxOccurs=1, nillable=True)], pyclass=None, encoded="http://www.sugarcrm.com/sugarcrm";)
+class sync_get_modified_relationshipsResponse:
+    typecode = _sync_get_modified_relationshipsResponseTypecode
+    __metaclass__ = pyclass_type
+    def __init__(self):
+        self._return = None
+        return
+sync_get_modified_relationshipsResponse.typecode.pyclass = sync_get_modified_relationshipsResponse
+
+_get_modified_entriesRequestTypecode = Struct(pname=("http://www.sugarcrm.com/sugarcrm","get_modified_entries";), ofwhat=[ZSI.TC.String(pname="session", aname="_session", typed=False, encoded=None, minOccurs=1, maxOccurs=1, nillable=True), ZSI.TC.String(pname="module_name", aname="_module_name", typed=False, encoded=None, minOccurs=1, maxOccurs=1, nillable=True), ns0.select_fields_Def(pname="ids", aname="_ids", typed=False, encoded=None, minOccurs=1, maxOccurs=1, nillable=True), ns0.select_fields_Def(pname="select_fields", aname="_select_fields", typed=False, encoded=None, minOccurs=1, maxOccurs=1, nillable=True)], pyclass=None, encoded="http://www.sugarcrm.com/sugarcrm";)
+class get_modified_entriesRequest:
+    typecode = _get_modified_entriesRequestTypecode
+    __metaclass__ = pyclass_type
+    def __init__(self):
+        self._session = None
+        self._module_name = None
+        self._ids = None
+        self._select_fields = None
+        return
+get_modified_entriesRequest.typecode.pyclass = get_modified_entriesRequest
+
+_get_modified_entriesResponseTypecode = Struct(pname=("http://www.sugarcrm.com/sugarcrm","get_modified_entriesResponse";), ofwhat=[ns0.get_sync_result_encoded_Def(pname="return", aname="_return", typed=False, encoded=None, minOccurs=1, maxOccurs=1, nillable=True)], pyclass=None, encoded="http://www.sugarcrm.com/sugarcrm";)
+class get_modified_entriesResponse:
+    typecode = _get_modified_entriesResponseTypecode
+    __metaclass__ = pyclass_type
+    def __init__(self):
+        self._return = None
+        return
+get_modified_entriesResponse.typecode.pyclass = get_modified_entriesResponse
+
+_get_attendee_listRequestTypecode = Struct(pname=("http://www.sugarcrm.com/sugarcrm","get_attendee_list";), ofwhat=[ZSI.TC.String(pname="session", aname="_session", typed=False, encoded=None, minOccurs=1, maxOccurs=1, nillable=True), ZSI.TC.String(pname="module_name", aname="_module_name", typed=False, encoded=None, minOccurs=1, maxOccurs=1, nillable=True), ZSI.TC.String(pname="id", aname="_id", typed=False, encoded=None, minOccurs=1, maxOccurs=1, nillable=True)], pyclass=None, encoded="http://www.sugarcrm.com/sugarcrm";)
+class get_attendee_listRequest:
+    typecode = _get_attendee_listRequestTypecode
+    __metaclass__ = pyclass_type
+    def __init__(self):
+        self._session = None
+        self._module_name = None
+        self._id = None
+        return
+get_attendee_listRequest.typecode.pyclass = get_attendee_listRequest
+
+_get_attendee_listResponseTypecode = Struct(pname=("http://www.sugarcrm.com/sugarcrm","get_attendee_listResponse";), ofwhat=[ns0.get_sync_result_encoded_Def(pname="return", aname="_return", typed=False, encoded=None, minOccurs=1, maxOccurs=1, nillable=True)], pyclass=None, encoded="http://www.sugarcrm.com/sugarcrm";)
+class get_attendee_listResponse:
+    typecode = _get_attendee_listResponseTypecode
+    __metaclass__ = pyclass_type
+    def __init__(self):
+        self._return = None
+        return
+get_attendee_listResponse.typecode.pyclass = get_attendee_listResponse

=== added file 'import_sugarcrm/sugarsoap_services_types.py'
--- import_sugarcrm/sugarsoap_services_types.py	1970-01-01 00:00:00 +0000
+++ import_sugarcrm/sugarsoap_services_types.py	2011-02-17 07:28:57 +0000
@@ -0,0 +1,646 @@
+##################################################
+# sugarsoap_services_types.py
+# generated by ZSI.generate.wsdl2python
+##################################################
+from osv import osv
+from tools.translate import _
+try:
+    import ZSI
+    import ZSI.TCcompound
+    from ZSI.TC import TypeDefinition
+    from ZSI.TC import _get_type_definition as GTD
+    from ZSI.generate.pyclass import pyclass_type
+except ImportError:
+    raise osv.except_osv(_('ZSI Import Error!'), _('Please install SOAP for python - ZSI-2.0-rc3.tar.gz from http://pypi.python.org/pypi/ZSI/'))
+
+##############################
+# targetNamespace
+# http://www.sugarcrm.com/sugarcrm
+##############################
+
+class ns0:
+    targetNamespace = "http://www.sugarcrm.com/sugarcrm";
+
+    class contact_detail_Def(ZSI.TCcompound.ComplexType, TypeDefinition):
+        schema = "http://www.sugarcrm.com/sugarcrm";
+        type = (schema, "contact_detail")
+        def __init__(self, pname, ofwhat=(), attributes=None, extend=False, restrict=False, **kw):
+            #Unused variable ns.
+            #ns = ns0.contact_detail_Def.schema
+            TClist = [ZSI.TC.String(pname="email_address", aname="_email_address", minOccurs=1, maxOccurs=1, nillable=False, typed=False, encoded=kw.get("encoded")), ZSI.TC.String(pname="name1", aname="_name1", minOccurs=1, maxOccurs=1, nillable=False, typed=False, encoded=kw.get("encoded")), ZSI.TC.String(pname="name2", aname="_name2", minOccurs=1, maxOccurs=1, nillable=False, typed=False, encoded=kw.get("encoded")), ZSI.TC.String(pname="association", aname="_association", minOccurs=1, maxOccurs=1, nillable=False, typed=False, encoded=kw.get("encoded")), ZSI.TC.String(pname="id", aname="_id", minOccurs=1, maxOccurs=1, nillable=False, typed=False, encoded=kw.get("encoded")), ZSI.TC.String(pname="msi_id", aname="_msi_id", minOccurs=1, maxOccurs=1, nillable=False, typed=False, encoded=kw.get("encoded")), ZSI.TC.String(pname="type", aname="_type", minOccurs=1, maxOccurs=1, nillable=False, typed=False, encoded=kw.get("encoded"))]
+            self.attribute_typecode_dict = attributes or {}
+            if extend: TClist += ofwhat
+            if restrict: TClist = ofwhat
+            ZSI.TCcompound.ComplexType.__init__(self, None, TClist, pname=pname, inorder=0, **kw)
+            class Holder:
+                __metaclass__ = pyclass_type
+                typecode = self
+                def __init__(self):
+                    # pyclass
+                    self._email_address = None
+                    self._name1 = None
+                    self._name2 = None
+                    self._association = None
+                    self._id = None
+                    self._msi_id = None
+                    self._type = None
+                    return
+            Holder.__name__ = "contact_detail_Holder"
+            self.pyclass = Holder
+
+    class contact_detail_array_Def(ZSI.TC.Array, TypeDefinition):
+        #complexType/complexContent base="SOAP-ENC:Array"
+        schema = "http://www.sugarcrm.com/sugarcrm";
+        type = (schema, "contact_detail_array")
+        def __init__(self, pname, ofwhat=(), extend=False, restrict=False, attributes=None, **kw):
+            ofwhat = ns0.contact_detail_Def(None, typed=False)
+            atype = (u'http://www.sugarcrm.com/sugarcrm', u'contact_detail[]')
+            ZSI.TCcompound.Array.__init__(self, atype, ofwhat, pname=pname, childnames='item', **kw)
+
+    class user_detail_Def(ZSI.TCcompound.ComplexType, TypeDefinition):
+        schema = "http://www.sugarcrm.com/sugarcrm";
+        type = (schema, "user_detail")
+        def __init__(self, pname, ofwhat=(), attributes=None, extend=False, restrict=False, **kw):
+            #ns = ns0.user_detail_Def.schema
+            TClist = [ZSI.TC.String(pname="email_address", aname="_email_address", minOccurs=1, maxOccurs=1, nillable=False, typed=False, encoded=kw.get("encoded")), ZSI.TC.String(pname="user_name", aname="_user_name", minOccurs=1, maxOccurs=1, nillable=False, typed=False, encoded=kw.get("encoded")), ZSI.TC.String(pname="first_name", aname="_first_name", minOccurs=1, maxOccurs=1, nillable=False, typed=False, encoded=kw.get("encoded")), ZSI.TC.String(pname="last_name", aname="_last_name", minOccurs=1, maxOccurs=1, nillable=False, typed=False, encoded=kw.get("encoded")), ZSI.TC.String(pname="department", aname="_department", minOccurs=1, maxOccurs=1, nillable=False, typed=False, encoded=kw.get("encoded")), ZSI.TC.String(pname="id", aname="_id", minOccurs=1, maxOccurs=1, nillable=False, typed=False, encoded=kw.get("encoded")), ZSI.TC.String(pname="title", aname="_title", minOccurs=1, maxOccurs=1, nillable=False, typed=False, encoded=kw.get("encoded"))]
+            self.attribute_typecode_dict = attributes or {}
+            if extend: TClist += ofwhat
+            if restrict: TClist = ofwhat
+            ZSI.TCcompound.ComplexType.__init__(self, None, TClist, pname=pname, inorder=0, **kw)
+            class Holder:
+                __metaclass__ = pyclass_type
+                typecode = self
+                def __init__(self):
+                    # pyclass
+                    self._email_address = None
+                    self._user_name = None
+                    self._first_name = None
+                    self._last_name = None
+                    self._department = None
+                    self._id = None
+                    self._title = None
+                    return
+            Holder.__name__ = "user_detail_Holder"
+            self.pyclass = Holder
+
+    class user_detail_array_Def(ZSI.TC.Array, TypeDefinition):
+        #complexType/complexContent base="SOAP-ENC:Array"
+        schema = "http://www.sugarcrm.com/sugarcrm";
+        type = (schema, "user_detail_array")
+        def __init__(self, pname, ofwhat=(), extend=False, restrict=False, attributes=None, **kw):
+            ofwhat = ns0.user_detail_Def(None, typed=False)
+            atype = (u'http://www.sugarcrm.com/sugarcrm', u'user_detail[]')
+            ZSI.TCcompound.Array.__init__(self, atype, ofwhat, pname=pname, childnames='item', **kw)
+
+    class note_attachment_Def(ZSI.TCcompound.ComplexType, TypeDefinition):
+        schema = "http://www.sugarcrm.com/sugarcrm";
+        type = (schema, "note_attachment")
+        def __init__(self, pname, ofwhat=(), attributes=None, extend=False, restrict=False, **kw):
+           # ns = ns0.note_attachment_Def.schema
+            TClist = [ZSI.TC.String(pname="id", aname="_id", minOccurs=1, maxOccurs=1, nillable=False, typed=False, encoded=kw.get("encoded")), ZSI.TC.String(pname="filename", aname="_filename", minOccurs=1, maxOccurs=1, nillable=False, typed=False, encoded=kw.get("encoded")), ZSI.TC.String(pname="file", aname="_file", minOccurs=1, maxOccurs=1, nillable=False, typed=False, encoded=kw.get("encoded"))]
+            self.attribute_typecode_dict = attributes or {}
+            if extend: TClist += ofwhat
+            if restrict: TClist = ofwhat
+            ZSI.TCcompound.ComplexType.__init__(self, None, TClist, pname=pname, inorder=0, **kw)
+            class Holder:
+                __metaclass__ = pyclass_type
+                typecode = self
+                def __init__(self):
+                    # pyclass
+                    self._id = None
+                    self._filename = None
+                    self._file = None
+                    return
+            Holder.__name__ = "note_attachment_Holder"
+            self.pyclass = Holder
+
+    class return_note_attachment_Def(ZSI.TCcompound.ComplexType, TypeDefinition):
+        schema = "http://www.sugarcrm.com/sugarcrm";
+        type = (schema, "return_note_attachment")
+        def __init__(self, pname, ofwhat=(), attributes=None, extend=False, restrict=False, **kw):
+            #ns = ns0.return_note_attachment_Def.schema
+            TClist = [GTD("http://www.sugarcrm.com/sugarcrm","note_attachment",lazy=False)(pname="note_attachment", aname="_note_attachment", minOccurs=1, maxOccurs=1, nillable=False, typed=False, encoded=kw.get("encoded")), GTD("http://www.sugarcrm.com/sugarcrm","error_value",lazy=False)(pname="error", aname="_error", minOccurs=1, maxOccurs=1, nillable=False, typed=False, encoded=kw.get("encoded"))]
+            self.attribute_typecode_dict = attributes or {}
+            if extend: TClist += ofwhat
+            if restrict: TClist = ofwhat
+            ZSI.TCcompound.ComplexType.__init__(self, None, TClist, pname=pname, inorder=0, **kw)
+            class Holder:
+                __metaclass__ = pyclass_type
+                typecode = self
+                def __init__(self):
+                    # pyclass
+                    self._note_attachment = None
+                    self._error = None
+                    return
+            Holder.__name__ = "return_note_attachment_Holder"
+            self.pyclass = Holder
+
+    class user_auth_Def(ZSI.TCcompound.ComplexType, TypeDefinition):
+        schema = "http://www.sugarcrm.com/sugarcrm";
+        type = (schema, "user_auth")
+        def __init__(self, pname, ofwhat=(), attributes=None, extend=False, restrict=False, **kw):
+            #ns = ns0.user_auth_Def.schema
+            TClist = [ZSI.TC.String(pname="user_name", aname="_user_name", minOccurs=1, maxOccurs=1, nillable=False, typed=False, encoded=kw.get("encoded")), ZSI.TC.String(pname="password", aname="_password", minOccurs=1, maxOccurs=1, nillable=False, typed=False, encoded=kw.get("encoded")), ZSI.TC.String(pname="version", aname="_version", minOccurs=1, maxOccurs=1, nillable=False, typed=False, encoded=kw.get("encoded"))]
+            self.attribute_typecode_dict = attributes or {}
+            if extend: TClist += ofwhat
+            if restrict: TClist = ofwhat
+            ZSI.TCcompound.ComplexType.__init__(self, None, TClist, pname=pname, inorder=0, **kw)
+            class Holder:
+                __metaclass__ = pyclass_type
+                typecode = self
+                def __init__(self):
+                    # pyclass
+                    self._user_name = None
+                    self._password = None
+                    self._version = None
+                    return
+            Holder.__name__ = "user_auth_Holder"
+            self.pyclass = Holder
+
+    class field_Def(ZSI.TCcompound.ComplexType, TypeDefinition):
+        schema = "http://www.sugarcrm.com/sugarcrm";
+        type = (schema, "field")
+        def __init__(self, pname, ofwhat=(), attributes=None, extend=False, restrict=False, **kw):
+            #ns = ns0.field_Def.schema
+            TClist = [ZSI.TC.String(pname="name", aname="_name", minOccurs=1, maxOccurs=1, nillable=False, typed=False, encoded=kw.get("encoded")), ZSI.TC.String(pname="type", aname="_type", minOccurs=1, maxOccurs=1, nillable=False, typed=False, encoded=kw.get("encoded")), ZSI.TC.String(pname="label", aname="_label", minOccurs=1, maxOccurs=1, nillable=False, typed=False, encoded=kw.get("encoded")), ZSI.TCnumbers.Iint(pname="required", aname="_required", minOccurs=1, maxOccurs=1, nillable=False, typed=False, encoded=kw.get("encoded")), GTD("http://www.sugarcrm.com/sugarcrm","name_value_list",lazy=False)(pname="options", aname="_options", minOccurs=1, maxOccurs=1, nillable=False, typed=False, encoded=kw.get("encoded"))]
+            self.attribute_typecode_dict = attributes or {}
+            if extend: TClist += ofwhat
+            if restrict: TClist = ofwhat
+            ZSI.TCcompound.ComplexType.__init__(self, None, TClist, pname=pname, inorder=0, **kw)
+            class Holder:
+                __metaclass__ = pyclass_type
+                typecode = self
+                def __init__(self):
+                    # pyclass
+                    self._name = None
+                    self._type = None
+                    self._label = None
+                    self._required = None
+                    self._options = None
+                    return
+            Holder.__name__ = "field_Holder"
+            self.pyclass = Holder
+
+    class field_list_Def(ZSI.TC.Array, TypeDefinition):
+        #complexType/complexContent base="SOAP-ENC:Array"
+        schema = "http://www.sugarcrm.com/sugarcrm";
+        type = (schema, "field_list")
+        def __init__(self, pname, ofwhat=(), extend=False, restrict=False, attributes=None, **kw):
+            ofwhat = ns0.field_Def(None, typed=False)
+            atype = (u'http://www.sugarcrm.com/sugarcrm', u'field[]')
+            ZSI.TCcompound.Array.__init__(self, atype, ofwhat, pname=pname, childnames='item', **kw)
+
+    class name_value_Def(ZSI.TCcompound.ComplexType, TypeDefinition):
+        schema = "http://www.sugarcrm.com/sugarcrm";
+        type = (schema, "name_value")
+        def __init__(self, pname, ofwhat=(), attributes=None, extend=False, restrict=False, **kw):
+            #ns = ns0.name_value_Def.schema
+            TClist = [ZSI.TC.String(pname="name", aname="_name", minOccurs=1, maxOccurs=1, nillable=False, typed=False, encoded=kw.get("encoded")), ZSI.TC.String(pname="value", aname="_value", minOccurs=1, maxOccurs=1, nillable=False, typed=False, encoded=kw.get("encoded"))]
+            self.attribute_typecode_dict = attributes or {}
+            if extend: TClist += ofwhat
+            if restrict: TClist = ofwhat
+            ZSI.TCcompound.ComplexType.__init__(self, None, TClist, pname=pname, inorder=0, **kw)
+            class Holder:
+                __metaclass__ = pyclass_type
+                typecode = self
+                def __init__(self):
+                    # pyclass
+                    self._name = None
+                    self._value = None
+                    return
+            Holder.__name__ = "name_value_Holder"
+            self.pyclass = Holder
+
+    class name_value_list_Def(ZSI.TC.Array, TypeDefinition):
+        #complexType/complexContent base="SOAP-ENC:Array"
+        schema = "http://www.sugarcrm.com/sugarcrm";
+        type = (schema, "name_value_list")
+        def __init__(self, pname, ofwhat=(), extend=False, restrict=False, attributes=None, **kw):
+            ofwhat = ns0.name_value_Def(None, typed=False)
+            atype = (u'http://www.sugarcrm.com/sugarcrm', u'name_value[]')
+            ZSI.TCcompound.Array.__init__(self, atype, ofwhat, pname=pname, childnames='item', **kw)
+
+    class name_value_lists_Def(ZSI.TC.Array, TypeDefinition):
+        #complexType/complexContent base="SOAP-ENC:Array"
+        schema = "http://www.sugarcrm.com/sugarcrm";
+        type = (schema, "name_value_lists")
+        def __init__(self, pname, ofwhat=(), extend=False, restrict=False, attributes=None, **kw):
+            ofwhat = ns0.name_value_list_Def(None, typed=False)
+            atype = (u'http://www.sugarcrm.com/sugarcrm', u'name_value_list[]')
+            ZSI.TCcompound.Array.__init__(self, atype, ofwhat, pname=pname, childnames='item', **kw)
+
+    class select_fields_Def(ZSI.TC.Array, TypeDefinition):
+        #complexType/complexContent base="SOAP-ENC:Array"
+        schema = "http://www.sugarcrm.com/sugarcrm";
+        type = (schema, "select_fields")
+        def __init__(self, pname, ofwhat=(), extend=False, restrict=False, attributes=None, **kw):
+            ofwhat = ZSI.TC.String(None, typed=False)
+            atype = (u'http://www.w3.org/2001/XMLSchema', u'string[]')
+            ZSI.TCcompound.Array.__init__(self, atype, ofwhat, pname=pname, childnames='item', **kw)
+
+    class module_fields_Def(ZSI.TCcompound.ComplexType, TypeDefinition):
+        schema = "http://www.sugarcrm.com/sugarcrm";
+        type = (schema, "module_fields")
+        def __init__(self, pname, ofwhat=(), attributes=None, extend=False, restrict=False, **kw):
+           # ns = ns0.module_fields_Def.schema
+            TClist = [ZSI.TC.String(pname="module_name", aname="_module_name", minOccurs=1, maxOccurs=1, nillable=False, typed=False, encoded=kw.get("encoded")), GTD("http://www.sugarcrm.com/sugarcrm","field_list",lazy=False)(pname="module_fields", aname="_module_fields", minOccurs=1, maxOccurs=1, nillable=False, typed=False, encoded=kw.get("encoded")), GTD("http://www.sugarcrm.com/sugarcrm","error_value",lazy=False)(pname="error", aname="_error", minOccurs=1, maxOccurs=1, nillable=False, typed=False, encoded=kw.get("encoded"))]
+            self.attribute_typecode_dict = attributes or {}
+            if extend: TClist += ofwhat
+            if restrict: TClist = ofwhat
+            ZSI.TCcompound.ComplexType.__init__(self, None, TClist, pname=pname, inorder=0, **kw)
+            class Holder:
+                __metaclass__ = pyclass_type
+                typecode = self
+                def __init__(self):
+                    # pyclass
+                    self._module_name = None
+                    self._module_fields = None
+                    self._error = None
+                    return
+            Holder.__name__ = "module_fields_Holder"
+            self.pyclass = Holder
+
+    class module_list_Def(ZSI.TCcompound.ComplexType, TypeDefinition):
+        schema = "http://www.sugarcrm.com/sugarcrm";
+        type = (schema, "module_list")
+        def __init__(self, pname, ofwhat=(), attributes=None, extend=False, restrict=False, **kw):
+            #ns = ns0.module_list_Def.schema
+            TClist = [GTD("http://www.sugarcrm.com/sugarcrm","select_fields",lazy=False)(pname="modules", aname="_modules", minOccurs=1, maxOccurs=1, nillable=False, typed=False, encoded=kw.get("encoded")), GTD("http://www.sugarcrm.com/sugarcrm","error_value",lazy=False)(pname="error", aname="_error", minOccurs=1, maxOccurs=1, nillable=False, typed=False, encoded=kw.get("encoded"))]
+            self.attribute_typecode_dict = attributes or {}
+            if extend: TClist += ofwhat
+            if restrict: TClist = ofwhat
+            ZSI.TCcompound.ComplexType.__init__(self, None, TClist, pname=pname, inorder=0, **kw)
+            class Holder:
+                __metaclass__ = pyclass_type
+                typecode = self
+                def __init__(self):
+                    # pyclass
+                    self._modules = None
+                    self._error = None
+                    return
+            Holder.__name__ = "module_list_Holder"
+            self.pyclass = Holder
+
+    class error_value_Def(ZSI.TCcompound.ComplexType, TypeDefinition):
+        schema = "http://www.sugarcrm.com/sugarcrm";
+        type = (schema, "error_value")
+        def __init__(self, pname, ofwhat=(), attributes=None, extend=False, restrict=False, **kw):
+            #ns = ns0.error_value_Def.schema
+            TClist = [ZSI.TC.String(pname="number", aname="_number", minOccurs=1, maxOccurs=1, nillable=False, typed=False, encoded=kw.get("encoded")), ZSI.TC.String(pname="name", aname="_name", minOccurs=1, maxOccurs=1, nillable=False, typed=False, encoded=kw.get("encoded")), ZSI.TC.String(pname="description", aname="_description", minOccurs=1, maxOccurs=1, nillable=False, typed=False, encoded=kw.get("encoded"))]
+            self.attribute_typecode_dict = attributes or {}
+            if extend: TClist += ofwhat
+            if restrict: TClist = ofwhat
+            ZSI.TCcompound.ComplexType.__init__(self, None, TClist, pname=pname, inorder=0, **kw)
+            class Holder:
+                __metaclass__ = pyclass_type
+                typecode = self
+                def __init__(self):
+                    # pyclass
+                    self._number = None
+                    self._name = None
+                    self._description = None
+                    return
+            Holder.__name__ = "error_value_Holder"
+            self.pyclass = Holder
+
+    class entry_value_Def(ZSI.TCcompound.ComplexType, TypeDefinition):
+        schema = "http://www.sugarcrm.com/sugarcrm";
+        type = (schema, "entry_value")
+        def __init__(self, pname, ofwhat=(), attributes=None, extend=False, restrict=False, **kw):
+            #ns = ns0.entry_value_Def.schema
+            TClist = [ZSI.TC.String(pname="id", aname="_id", minOccurs=1, maxOccurs=1, nillable=False, typed=False, encoded=kw.get("encoded")), ZSI.TC.String(pname="module_name", aname="_module_name", minOccurs=1, maxOccurs=1, nillable=False, typed=False, encoded=kw.get("encoded")), GTD("http://www.sugarcrm.com/sugarcrm","name_value_list",lazy=False)(pname="name_value_list", aname="_name_value_list", minOccurs=1, maxOccurs=1, nillable=False, typed=False, encoded=kw.get("encoded"))]
+            self.attribute_typecode_dict = attributes or {}
+            if extend: TClist += ofwhat
+            if restrict: TClist = ofwhat
+            ZSI.TCcompound.ComplexType.__init__(self, None, TClist, pname=pname, inorder=0, **kw)
+            class Holder:
+                __metaclass__ = pyclass_type
+                typecode = self
+                def __init__(self):
+                    # pyclass
+                    self._id = None
+                    self._module_name = None
+                    self._name_value_list = None
+                    return
+            Holder.__name__ = "entry_value_Holder"
+            self.pyclass = Holder
+
+    class entry_list_Def(ZSI.TC.Array, TypeDefinition):
+        #complexType/complexContent base="SOAP-ENC:Array"
+        schema = "http://www.sugarcrm.com/sugarcrm";
+        type = (schema, "entry_list")
+        def __init__(self, pname, ofwhat=(), extend=False, restrict=False, attributes=None, **kw):
+            ofwhat = ns0.entry_value_Def(None, typed=False)
+            atype = (u'http://www.sugarcrm.com/sugarcrm', u'entry_value[]')
+            ZSI.TCcompound.Array.__init__(self, atype, ofwhat, pname=pname, childnames='item', **kw)
+
+    class get_entry_list_result_Def(ZSI.TCcompound.ComplexType, TypeDefinition):
+        schema = "http://www.sugarcrm.com/sugarcrm";
+        type = (schema, "get_entry_list_result")
+        def __init__(self, pname, ofwhat=(), attributes=None, extend=False, restrict=False, **kw):
+            #ns = ns0.get_entry_list_result_Def.schema
+            TClist = [ZSI.TCnumbers.Iint(pname="result_count", aname="_result_count", minOccurs=1, maxOccurs=1, nillable=False, typed=False, encoded=kw.get("encoded")), ZSI.TCnumbers.Iint(pname="next_offset", aname="_next_offset", minOccurs=1, maxOccurs=1, nillable=False, typed=False, encoded=kw.get("encoded")), GTD("http://www.sugarcrm.com/sugarcrm","field_list",lazy=False)(pname="field_list", aname="_field_list", minOccurs=1, maxOccurs=1, nillable=False, typed=False, encoded=kw.get("encoded")), GTD("http://www.sugarcrm.com/sugarcrm","entry_list",lazy=False)(pname="entry_list", aname="_entry_list", minOccurs=1, maxOccurs=1, nillable=False, typed=False, encoded=kw.get("encoded")), GTD("http://www.sugarcrm.com/sugarcrm","error_value",lazy=False)(pname="error", aname="_error", minOccurs=1, maxOccurs=1, nillable=False, typed=False, encoded=kw.get("encoded"))]
+            self.attribute_typecode_dict = attributes or {}
+            if extend: TClist += ofwhat
+            if restrict: TClist = ofwhat
+            ZSI.TCcompound.ComplexType.__init__(self, None, TClist, pname=pname, inorder=0, **kw)
+            class Holder:
+                __metaclass__ = pyclass_type
+                typecode = self
+                def __init__(self):
+                    # pyclass
+                    self._result_count = None
+                    self._next_offset = None
+                    self._field_list = None
+                    self._entry_list = None
+                    self._error = None
+                    return
+            Holder.__name__ = "get_entry_list_result_Holder"
+            self.pyclass = Holder
+
+    class get_entry_result_Def(ZSI.TCcompound.ComplexType, TypeDefinition):
+        schema = "http://www.sugarcrm.com/sugarcrm";
+        type = (schema, "get_entry_result")
+        def __init__(self, pname, ofwhat=(), attributes=None, extend=False, restrict=False, **kw):
+            #ns = ns0.get_entry_result_Def.schema
+            TClist = [GTD("http://www.sugarcrm.com/sugarcrm","field_list",lazy=False)(pname="field_list", aname="_field_list", minOccurs=1, maxOccurs=1, nillable=False, typed=False, encoded=kw.get("encoded")), GTD("http://www.sugarcrm.com/sugarcrm","entry_list",lazy=False)(pname="entry_list", aname="_entry_list", minOccurs=1, maxOccurs=1, nillable=False, typed=False, encoded=kw.get("encoded")), GTD("http://www.sugarcrm.com/sugarcrm","error_value",lazy=False)(pname="error", aname="_error", minOccurs=1, maxOccurs=1, nillable=False, typed=False, encoded=kw.get("encoded"))]
+            self.attribute_typecode_dict = attributes or {}
+            if extend: TClist += ofwhat
+            if restrict: TClist = ofwhat
+            ZSI.TCcompound.ComplexType.__init__(self, None, TClist, pname=pname, inorder=0, **kw)
+            class Holder:
+                __metaclass__ = pyclass_type
+                typecode = self
+                def __init__(self):
+                    # pyclass
+                    self._field_list = None
+                    self._entry_list = None
+                    self._error = None
+                    return
+            Holder.__name__ = "get_entry_result_Holder"
+            self.pyclass = Holder
+
+    class set_entry_result_Def(ZSI.TCcompound.ComplexType, TypeDefinition):
+        schema = "http://www.sugarcrm.com/sugarcrm";
+        type = (schema, "set_entry_result")
+        def __init__(self, pname, ofwhat=(), attributes=None, extend=False, restrict=False, **kw):
+            #ns = ns0.set_entry_result_Def.schema
+            TClist = [ZSI.TC.String(pname="id", aname="_id", minOccurs=1, maxOccurs=1, nillable=False, typed=False, encoded=kw.get("encoded")), GTD("http://www.sugarcrm.com/sugarcrm","error_value",lazy=False)(pname="error", aname="_error", minOccurs=1, maxOccurs=1, nillable=False, typed=False, encoded=kw.get("encoded"))]
+            self.attribute_typecode_dict = attributes or {}
+            if extend: TClist += ofwhat
+            if restrict: TClist = ofwhat
+            ZSI.TCcompound.ComplexType.__init__(self, None, TClist, pname=pname, inorder=0, **kw)
+            class Holder:
+                __metaclass__ = pyclass_type
+                typecode = self
+                def __init__(self):
+                    # pyclass
+                    self._id = None
+                    self._error = None
+                    return
+            Holder.__name__ = "set_entry_result_Holder"
+            self.pyclass = Holder
+
+    class set_entries_result_Def(ZSI.TCcompound.ComplexType, TypeDefinition):
+        schema = "http://www.sugarcrm.com/sugarcrm";
+        type = (schema, "set_entries_result")
+        def __init__(self, pname, ofwhat=(), attributes=None, extend=False, restrict=False, **kw):
+            #ns = ns0.set_entries_result_Def.schema
+            TClist = [GTD("http://www.sugarcrm.com/sugarcrm","select_fields",lazy=False)(pname="ids", aname="_ids", minOccurs=1, maxOccurs=1, nillable=False, typed=False, encoded=kw.get("encoded")), GTD("http://www.sugarcrm.com/sugarcrm","error_value",lazy=False)(pname="error", aname="_error", minOccurs=1, maxOccurs=1, nillable=False, typed=False, encoded=kw.get("encoded"))]
+            self.attribute_typecode_dict = attributes or {}
+            if extend: TClist += ofwhat
+            if restrict: TClist = ofwhat
+            ZSI.TCcompound.ComplexType.__init__(self, None, TClist, pname=pname, inorder=0, **kw)
+            class Holder:
+                __metaclass__ = pyclass_type
+                typecode = self
+                def __init__(self):
+                    # pyclass
+                    self._ids = None
+                    self._error = None
+                    return
+            Holder.__name__ = "set_entries_result_Holder"
+            self.pyclass = Holder
+
+    class id_mod_Def(ZSI.TCcompound.ComplexType, TypeDefinition):
+        schema = "http://www.sugarcrm.com/sugarcrm";
+        type = (schema, "id_mod")
+        def __init__(self, pname, ofwhat=(), attributes=None, extend=False, restrict=False, **kw):
+            #ns = ns0.id_mod_Def.schema
+            TClist = [ZSI.TC.String(pname="id", aname="_id", minOccurs=1, maxOccurs=1, nillable=False, typed=False, encoded=kw.get("encoded")), ZSI.TC.String(pname="date_modified", aname="_date_modified", minOccurs=1, maxOccurs=1, nillable=False, typed=False, encoded=kw.get("encoded")), ZSI.TCnumbers.Iint(pname="deleted", aname="_deleted", minOccurs=1, maxOccurs=1, nillable=False, typed=False, encoded=kw.get("encoded"))]
+            self.attribute_typecode_dict = attributes or {}
+            if extend: TClist += ofwhat
+            if restrict: TClist = ofwhat
+            ZSI.TCcompound.ComplexType.__init__(self, None, TClist, pname=pname, inorder=0, **kw)
+            class Holder:
+                __metaclass__ = pyclass_type
+                typecode = self
+                def __init__(self):
+                    # pyclass
+                    self._id = None
+                    self._date_modified = None
+                    self._deleted = None
+                    return
+            Holder.__name__ = "id_mod_Holder"
+            self.pyclass = Holder
+
+    class ids_mods_Def(ZSI.TC.Array, TypeDefinition):
+        #complexType/complexContent base="SOAP-ENC:Array"
+        schema = "http://www.sugarcrm.com/sugarcrm";
+        type = (schema, "ids_mods")
+        def __init__(self, pname, ofwhat=(), extend=False, restrict=False, attributes=None, **kw):
+            ofwhat = ns0.id_mod_Def(None, typed=False)
+            atype = (u'http://www.sugarcrm.com/sugarcrm', u'id_mod[]')
+            ZSI.TCcompound.Array.__init__(self, atype, ofwhat, pname=pname, childnames='item', **kw)
+
+    class get_relationships_result_Def(ZSI.TCcompound.ComplexType, TypeDefinition):
+        schema = "http://www.sugarcrm.com/sugarcrm";
+        type = (schema, "get_relationships_result")
+        def __init__(self, pname, ofwhat=(), attributes=None, extend=False, restrict=False, **kw):
+            #ns = ns0.get_relationships_result_Def.schema
+            TClist = [GTD("http://www.sugarcrm.com/sugarcrm","ids_mods",lazy=False)(pname="ids", aname="_ids", minOccurs=1, maxOccurs=1, nillable=False, typed=False, encoded=kw.get("encoded")), GTD("http://www.sugarcrm.com/sugarcrm","error_value",lazy=False)(pname="error", aname="_error", minOccurs=1, maxOccurs=1, nillable=False, typed=False, encoded=kw.get("encoded"))]
+            self.attribute_typecode_dict = attributes or {}
+            if extend: TClist += ofwhat
+            if restrict: TClist = ofwhat
+            ZSI.TCcompound.ComplexType.__init__(self, None, TClist, pname=pname, inorder=0, **kw)
+            class Holder:
+                __metaclass__ = pyclass_type
+                typecode = self
+                def __init__(self):
+                    # pyclass
+                    self._ids = None
+                    self._error = None
+                    return
+            Holder.__name__ = "get_relationships_result_Holder"
+            self.pyclass = Holder
+
+    class set_relationship_value_Def(ZSI.TCcompound.ComplexType, TypeDefinition):
+        schema = "http://www.sugarcrm.com/sugarcrm";
+        type = (schema, "set_relationship_value")
+        def __init__(self, pname, ofwhat=(), attributes=None, extend=False, restrict=False, **kw):
+            #ns = ns0.set_relationship_value_Def.schema
+            TClist = [ZSI.TC.String(pname="module1", aname="_module1", minOccurs=1, maxOccurs=1, nillable=False, typed=False, encoded=kw.get("encoded")), ZSI.TC.String(pname="module1_id", aname="_module1_id", minOccurs=1, maxOccurs=1, nillable=False, typed=False, encoded=kw.get("encoded")), ZSI.TC.String(pname="module2", aname="_module2", minOccurs=1, maxOccurs=1, nillable=False, typed=False, encoded=kw.get("encoded")), ZSI.TC.String(pname="module2_id", aname="_module2_id", minOccurs=1, maxOccurs=1, nillable=False, typed=False, encoded=kw.get("encoded"))]
+            self.attribute_typecode_dict = attributes or {}
+            if extend: TClist += ofwhat
+            if restrict: TClist = ofwhat
+            ZSI.TCcompound.ComplexType.__init__(self, None, TClist, pname=pname, inorder=0, **kw)
+            class Holder:
+                __metaclass__ = pyclass_type
+                typecode = self
+                def __init__(self):
+                    # pyclass
+                    self._module1 = None
+                    self._module1_id = None
+                    self._module2 = None
+                    self._module2_id = None
+                    return
+            Holder.__name__ = "set_relationship_value_Holder"
+            self.pyclass = Holder
+
+    class set_relationship_list_Def(ZSI.TC.Array, TypeDefinition):
+        #complexType/complexContent base="SOAP-ENC:Array"
+        schema = "http://www.sugarcrm.com/sugarcrm";
+        type = (schema, "set_relationship_list")
+        def __init__(self, pname, ofwhat=(), extend=False, restrict=False, attributes=None, **kw):
+            ofwhat = ns0.set_relationship_value_Def(None, typed=False)
+            atype = (u'http://www.sugarcrm.com/sugarcrm', u'set_relationship_value[]')
+            ZSI.TCcompound.Array.__init__(self, atype, ofwhat, pname=pname, childnames='item', **kw)
+
+    class set_relationship_list_result_Def(ZSI.TCcompound.ComplexType, TypeDefinition):
+        schema = "http://www.sugarcrm.com/sugarcrm";
+        type = (schema, "set_relationship_list_result")
+        def __init__(self, pname, ofwhat=(), attributes=None, extend=False, restrict=False, **kw):
+            #ns = ns0.set_relationship_list_result_Def.schema
+            TClist = [ZSI.TCnumbers.Iint(pname="created", aname="_created", minOccurs=1, maxOccurs=1, nillable=False, typed=False, encoded=kw.get("encoded")), ZSI.TCnumbers.Iint(pname="failed", aname="_failed", minOccurs=1, maxOccurs=1, nillable=False, typed=False, encoded=kw.get("encoded")), GTD("http://www.sugarcrm.com/sugarcrm","error_value",lazy=False)(pname="error", aname="_error", minOccurs=1, maxOccurs=1, nillable=False, typed=False, encoded=kw.get("encoded"))]
+            self.attribute_typecode_dict = attributes or {}
+            if extend: TClist += ofwhat
+            if restrict: TClist = ofwhat
+            ZSI.TCcompound.ComplexType.__init__(self, None, TClist, pname=pname, inorder=0, **kw)
+            class Holder:
+                __metaclass__ = pyclass_type
+                typecode = self
+                def __init__(self):
+                    # pyclass
+                    self._created = None
+                    self._failed = None
+                    self._error = None
+                    return
+            Holder.__name__ = "set_relationship_list_result_Holder"
+            self.pyclass = Holder
+
+    class document_revision_Def(ZSI.TCcompound.ComplexType, TypeDefinition):
+        schema = "http://www.sugarcrm.com/sugarcrm";
+        type = (schema, "document_revision")
+        def __init__(self, pname, ofwhat=(), attributes=None, extend=False, restrict=False, **kw):
+            #ns = ns0.document_revision_Def.schema
+            TClist = [ZSI.TC.String(pname="id", aname="_id", minOccurs=1, maxOccurs=1, nillable=False, typed=False, encoded=kw.get("encoded")), ZSI.TC.String(pname="document_name", aname="_document_name", minOccurs=1, maxOccurs=1, nillable=False, typed=False, encoded=kw.get("encoded")), ZSI.TC.String(pname="revision", aname="_revision", minOccurs=1, maxOccurs=1, nillable=False, typed=False, encoded=kw.get("encoded")), ZSI.TC.String(pname="filename", aname="_filename", minOccurs=1, maxOccurs=1, nillable=False, typed=False, encoded=kw.get("encoded")), ZSI.TC.String(pname="file", aname="_file", minOccurs=1, maxOccurs=1, nillable=False, typed=False, encoded=kw.get("encoded"))]
+            self.attribute_typecode_dict = attributes or {}
+            if extend: TClist += ofwhat
+            if restrict: TClist = ofwhat
+            ZSI.TCcompound.ComplexType.__init__(self, None, TClist, pname=pname, inorder=0, **kw)
+            class Holder:
+                __metaclass__ = pyclass_type
+                typecode = self
+                def __init__(self):
+                    # pyclass
+                    self._id = None
+                    self._document_name = None
+                    self._revision = None
+                    self._filename = None
+                    self._file = None
+                    return
+            Holder.__name__ = "document_revision_Holder"
+            self.pyclass = Holder
+
+    class get_entry_list_result_encoded_Def(ZSI.TCcompound.ComplexType, TypeDefinition):
+        schema = "http://www.sugarcrm.com/sugarcrm";
+        type = (schema, "get_entry_list_result_encoded")
+        def __init__(self, pname, ofwhat=(), attributes=None, extend=False, restrict=False, **kw):
+           # ns = ns0.get_entry_list_result_encoded_Def.schema
+            TClist = [ZSI.TCnumbers.Iint(pname="result_count", aname="_result_count", minOccurs=1, maxOccurs=1, nillable=False, typed=False, encoded=kw.get("encoded")), ZSI.TCnumbers.Iint(pname="next_offset", aname="_next_offset", minOccurs=1, maxOccurs=1, nillable=False, typed=False, encoded=kw.get("encoded")), ZSI.TCnumbers.Iint(pname="total_count", aname="_total_count", minOccurs=1, maxOccurs=1, nillable=False, typed=False, encoded=kw.get("encoded")), GTD("http://www.sugarcrm.com/sugarcrm","select_fields",lazy=False)(pname="field_list", aname="_field_list", minOccurs=1, maxOccurs=1, nillable=False, typed=False, encoded=kw.get("encoded")), ZSI.TC.String(pname="entry_list", aname="_entry_list", minOccurs=1, maxOccurs=1, nillable=False, typed=False, encoded=kw.get("encoded")), GTD("http://www.sugarcrm.com/sugarcrm","error_value",lazy=False)(pname="error", aname="_error", minOccurs=1, maxOccurs=1, nillable=False, typed=False, encoded=kw.get("encoded"))]
+            self.attribute_typecode_dict = attributes or {}
+            if extend: TClist += ofwhat
+            if restrict: TClist = ofwhat
+            ZSI.TCcompound.ComplexType.__init__(self, None, TClist, pname=pname, inorder=0, **kw)
+            class Holder:
+                __metaclass__ = pyclass_type
+                typecode = self
+                def __init__(self):
+                    # pyclass
+                    self._result_count = None
+                    self._next_offset = None
+                    self._total_count = None
+                    self._field_list = None
+                    self._entry_list = None
+                    self._error = None
+                    return
+            Holder.__name__ = "get_entry_list_result_encoded_Holder"
+            self.pyclass = Holder
+
+    class get_sync_result_encoded_Def(ZSI.TCcompound.ComplexType, TypeDefinition):
+        schema = "http://www.sugarcrm.com/sugarcrm";
+        type = (schema, "get_sync_result_encoded")
+        def __init__(self, pname, ofwhat=(), attributes=None, extend=False, restrict=False, **kw):
+           # ns = ns0.get_sync_result_encoded_Def.schema
+            TClist = [ZSI.TC.String(pname="result", aname="_result", minOccurs=1, maxOccurs=1, nillable=False, typed=False, encoded=kw.get("encoded")), GTD("http://www.sugarcrm.com/sugarcrm","error_value",lazy=False)(pname="error", aname="_error", minOccurs=1, maxOccurs=1, nillable=False, typed=False, encoded=kw.get("encoded"))]
+            self.attribute_typecode_dict = attributes or {}
+            if extend: TClist += ofwhat
+            if restrict: TClist = ofwhat
+            ZSI.TCcompound.ComplexType.__init__(self, None, TClist, pname=pname, inorder=0, **kw)
+            class Holder:
+                __metaclass__ = pyclass_type
+                typecode = self
+                def __init__(self):
+                    # pyclass
+                    self._result = None
+                    self._error = None
+                    return
+            Holder.__name__ = "get_sync_result_encoded_Holder"
+            self.pyclass = Holder
+
+    class get_quick_sync_result_encoded_Def(ZSI.TCcompound.ComplexType, TypeDefinition):
+        schema = "http://www.sugarcrm.com/sugarcrm";
+        type = (schema, "get_quick_sync_result_encoded")
+        def __init__(self, pname, ofwhat=(), attributes=None, extend=False, restrict=False, **kw):
+            #ns = ns0.get_quick_sync_result_encoded_Def.schema
+            TClist = [ZSI.TC.String(pname="result", aname="_result", minOccurs=1, maxOccurs=1, nillable=False, typed=False, encoded=kw.get("encoded")), ZSI.TCnumbers.Iint(pname="result_count", aname="_result_count", minOccurs=1, maxOccurs=1, nillable=False, typed=False, encoded=kw.get("encoded")), ZSI.TCnumbers.Iint(pname="next_offset", aname="_next_offset", minOccurs=1, maxOccurs=1, nillable=False, typed=False, encoded=kw.get("encoded")), ZSI.TCnumbers.Iint(pname="total_count", aname="_total_count", minOccurs=1, maxOccurs=1, nillable=False, typed=False, encoded=kw.get("encoded")), GTD("http://www.sugarcrm.com/sugarcrm","error_value",lazy=False)(pname="error", aname="_error", minOccurs=1, maxOccurs=1, nillable=False, typed=False, encoded=kw.get("encoded"))]
+            self.attribute_typecode_dict = attributes or {}
+            if extend: TClist += ofwhat
+            if restrict: TClist = ofwhat
+            ZSI.TCcompound.ComplexType.__init__(self, None, TClist, pname=pname, inorder=0, **kw)
+            class Holder:
+                __metaclass__ = pyclass_type
+                typecode = self
+                def __init__(self):
+                    # pyclass
+                    self._result = None
+                    self._result_count = None
+                    self._next_offset = None
+                    self._total_count = None
+                    self._error = None
+                    return
+            Holder.__name__ = "get_quick_sync_result_encoded_Holder"
+            self.pyclass = Holder
+
+    class return_document_revision_Def(ZSI.TCcompound.ComplexType, TypeDefinition):
+        schema = "http://www.sugarcrm.com/sugarcrm";
+        type = (schema, "return_document_revision")
+        def __init__(self, pname, ofwhat=(), attributes=None, extend=False, restrict=False, **kw):
+            #ns = ns0.return_document_revision_Def.schema
+            TClist = [GTD("http://www.sugarcrm.com/sugarcrm","document_revision",lazy=False)(pname="document_revision", aname="_document_revision", minOccurs=1, maxOccurs=1, nillable=False, typed=False, encoded=kw.get("encoded")), GTD("http://www.sugarcrm.com/sugarcrm","error_value",lazy=False)(pname="error", aname="_error", minOccurs=1, maxOccurs=1, nillable=False, typed=False, encoded=kw.get("encoded"))]
+            self.attribute_typecode_dict = attributes or {}
+            if extend: TClist += ofwhat
+            if restrict: TClist = ofwhat
+            ZSI.TCcompound.ComplexType.__init__(self, None, TClist, pname=pname, inorder=0, **kw)
+            class Holder:
+                __metaclass__ = pyclass_type
+                typecode = self
+                def __init__(self):
+                    # pyclass
+                    self._document_revision = None
+                    self._error = None
+                    return
+            Holder.__name__ = "return_document_revision_Holder"
+            self.pyclass = Holder
+
+# end class ns0 (tns: http://www.sugarcrm.com/sugarcrm)

=== modified file 'l10n_ch/wizard/create_dta.py'
--- l10n_ch/wizard/create_dta.py	2011-01-24 13:21:29 +0000
+++ l10n_ch/wizard/create_dta.py	2011-02-17 07:28:57 +0000
@@ -374,7 +374,6 @@
         raise osv.except_osv(_('Error'),
                 _('No IBAN for the company bank account.'))
 
-    dta_line_obj = pool.get('account.dta.line')
     res_partner_bank_obj = pool.get('res.partner.bank')
 
     seq = 1

=== modified file 'mrp/mrp.py'
--- mrp/mrp.py	2011-02-14 11:45:07 +0000
+++ mrp/mrp.py	2011-02-17 07:28:57 +0000
@@ -672,7 +672,6 @@
         stock_mov_obj = self.pool.get('stock.move')
         production = self.browse(cr, uid, production_id, context=context)
 
-        final_product_todo = []
 
         produced_qty = 0
         if production_mode == 'consume_produce':
@@ -714,7 +713,7 @@
 
         if production_mode == 'consume_produce':
             # To produce remaining qty of final product
-            vals = {'state':'confirmed'}
+            #vals = {'state':'confirmed'}
             #final_product_todo = [x.id for x in production.move_created_ids]
             #stock_mov_obj.write(cr, uid, final_product_todo, vals)
             #stock_mov_obj.action_confirm(cr, uid, final_product_todo, context)

=== modified file 'project/wizard/project_task_close.py'
--- project/wizard/project_task_close.py	2011-01-14 00:11:01 +0000
+++ project/wizard/project_task_close.py	2011-02-17 07:28:57 +0000
@@ -22,7 +22,7 @@
 from osv import fields, osv
 import tools
 from tools.translate import _
-
+import re
 class project_task_close(osv.osv_memory):
     """
     Close Task
@@ -99,8 +99,14 @@
                 }
 
                 to_adr = []
-                header = (project.warn_header or '') % val
-                footer = (project.warn_footer or '') % val
+                header = footer = ''
+                try:
+                    header_str = (project.warn_header or '')
+                    footer_str = (project.warn_footer or '')
+                    header = (re.sub(r'\%\W*\(', '%(', header_str)) % val
+                    footer = (re.sub(r'\%\W*\(', '%(', footer_str)) % val
+                except:
+                    raise osv.except_osv(_('Error'), _("Invlaid automatic variables used in project header or foooter."))
                 body = u'%s\n%s\n%s\n\n-- \n%s' % (header, task.description, footer, signature)
                 if data.manager_warn and data.manager_email:
                     to_adr.append(data.manager_email)

=== modified file 'project/wizard/project_task_delegate.py'
--- project/wizard/project_task_delegate.py	2011-01-14 00:11:01 +0000
+++ project/wizard/project_task_delegate.py	2011-02-17 07:28:57 +0000
@@ -53,17 +53,17 @@
 
         if 'name' in fields:
             if task_name.startswith(_('CHECK: ')):
-                newname = str(task_name).replace(_('CHECK: '), '')
+                newname = tools.ustr(task_name).replace(_('CHECK: '), '')
             else:
-                newname = task_name or ''
+                newname = tools.ustr(task_name or '')
             res.update({'name': newname})
         if 'planned_hours' in fields:
             res.update({'planned_hours': task.remaining_hours or 0.0})
         if 'prefix' in fields:
             if task_name.startswith(_('CHECK: ')):
-                newname = str(task_name).replace(_('CHECK: '), '')
+                newname = tools.ustr(task_name).replace(_('CHECK: '), '')
             else:
-                newname = task_name or ''
+                newname = tools.ustr(task_name or '')
             prefix = _('CHECK: ') + newname
             res.update({'prefix': prefix})
         if 'new_task_description' in fields:

=== modified file 'project_planning/project_planning_demo.xml'
--- project_planning/project_planning_demo.xml	2011-02-01 15:50:23 +0000
+++ project_planning/project_planning_demo.xml	2011-02-17 07:28:57 +0000
@@ -7,8 +7,8 @@
         <record id="project_plannning_1" model="report_account_analytic.planning">
             <field name="name">Project_Planning</field>
             <field name="business_days">20</field>
-            <field name="date_from" eval="time.strftime('%Y-%m-01 10:00:00')"/>
-            <field name="date_to" eval="time.strftime('%Y-%m-28 15:00:00')"/>
+            <field name="date_from" eval="time.strftime('%Y-%m-01')"/>
+            <field name="date_to" eval="time.strftime('%Y-%m-28')"/>
             <field name="state">open</field>
             <field name="user_id" ref="project.res_users_project_manager"/>
         </record>

=== removed file 'thunderbird/plugin/openerp_plugin.xpi'
Binary files thunderbird/plugin/openerp_plugin.xpi	2011-02-14 11:45:07 +0000 and thunderbird/plugin/openerp_plugin.xpi	1970-01-01 00:00:00 +0000 differ
=== removed file 'thunderbird/plugin/openerp_plugin/chrome/openerp_plugin.jar'
Binary files thunderbird/plugin/openerp_plugin/chrome/openerp_plugin.jar	2011-02-14 11:45:07 +0000 and thunderbird/plugin/openerp_plugin/chrome/openerp_plugin.jar	1970-01-01 00:00:00 +0000 differ
=== modified file 'thunderbird/plugin/openerp_plugin/chrome/openerp_plugin/content/tiny_xmlrpc.js'
--- thunderbird/plugin/openerp_plugin/chrome/openerp_plugin/content/tiny_xmlrpc.js	2011-02-01 14:25:28 +0000
+++ thunderbird/plugin/openerp_plugin/chrome/openerp_plugin/content/tiny_xmlrpc.js	2011-02-17 07:28:57 +0000
@@ -1384,6 +1384,7 @@
     xmlRpcClient.asyncCall(listPartnerHandler,cmdPartnerList,'execute',[ strDbName,struid,strpass,strobj,strmethod,strvalue ],6);
 }
 
+
 //function to create the xmlrpc supported variables for xmlrpc request
 function dictcontact(a,b){
     var temp = xmlRpcClient.createType(xmlRpcClient.ARRAY,{});


Follow ups