diff --git a/product/ERP5Wizard/Tool/IntrospectionTool.py b/product/ERP5Wizard/Tool/IntrospectionTool.py index 18d4ddb485703f0282a80f9fb4254cf24280d8a2..ca90a523e4f1a0186737c92ab025cc0ad551920f 100644 --- a/product/ERP5Wizard/Tool/IntrospectionTool.py +++ b/product/ERP5Wizard/Tool/IntrospectionTool.py @@ -45,7 +45,7 @@ class IntrospectionTool(BaseTool): meta_type = 'ERP5 Introspection Tool' portal_type = 'Introspection Tool' - allowed_content_types = ('Anonymized Introspection Report', 'User Introspection Report', ) + allowed_content_types = ('Anonymized Introspection Report', 'User Introspection Report',) security = ClassSecurityInfo() security.declareProtected(Permissions.ManagePortal, 'manage_overview') diff --git a/product/ERP5Wizard/Tool/WizardTool.py b/product/ERP5Wizard/Tool/WizardTool.py index f03ebe488485177937e534a184a12c2762c38d70..58dc55e8dfa34fa26eeeadb1e45213e653c1149f 100644 --- a/product/ERP5Wizard/Tool/WizardTool.py +++ b/product/ERP5Wizard/Tool/WizardTool.py @@ -47,6 +47,7 @@ from DateTime import DateTime from Products.PluggableAuthService.interfaces.plugins import IAuthenticationPlugin from Products.ERP5Type.Cache import CachingMethod from urlparse import urlparse +from Products.ERP5Wizard.WebServiceMixIn import WebServiceMixIn # global (RAM) cookie storage cookiejar = cookielib.CookieJar() @@ -169,7 +170,7 @@ _server_to_preference_ids_map = {'client_id': 'preferred_express_client_uid', 'user_id': 'preferred_express_user_id',} -class WizardTool(BaseTool): +class WizardTool(BaseTool, WebServiceMixIn): """ WizardTool is able to generate custom business templates. """ id = 'portal_wizard' diff --git a/product/ERP5Wizard/WebServiceMixIn.py b/product/ERP5Wizard/WebServiceMixIn.py new file mode 100644 index 0000000000000000000000000000000000000000..374ebd7607b76ec7245bef99b92dbaff62a6385e --- /dev/null +++ b/product/ERP5Wizard/WebServiceMixIn.py @@ -0,0 +1,47 @@ +############################################################################## +# +# Copyright (c) 2006 Nexedi SARL and Contributors. All Rights Reserved. +# Ivan Tyagov <ivan@nexedi.com> +# +# WARNING: This program as such is intended to be used by professional +# programmers who take the whole responsability of assessing all potential +# consequences resulting from its eventual inadequacies and bugs +# End users who are looking for a ready-to-use solution with commercial +# garantees and support are strongly adviced to contract a Free Software +# Service Company +# +# This program is Free Software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# 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 General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +# +############################################################################## + +from AccessControl import ClassSecurityInfo +from Products.ERP5Type import Permissions + + +class WebServiceMixIn: + """ + Do all kinds of web services in all kinds of protocols. + """ + + security = ClassSecurityInfo() + + security.declareProtected('connect', Permissions.ManagePortal) + def connect(self, url, user=None, password=None, authentication_method=None): + """ + Connect to remote instances + of any kind of web service (not only ERP5) with many + different kinds of authentication. + """ + pass \ No newline at end of file diff --git a/product/ERP5Wizard/__init__.py b/product/ERP5Wizard/__init__.py index e335b48e9ca083ec577b34a4e68a5c8191e8a5d7..4484a2f3f2b715c39b4e6568db80c1491528a954 100644 --- a/product/ERP5Wizard/__init__.py +++ b/product/ERP5Wizard/__init__.py @@ -68,4 +68,4 @@ def initialize(context): addERP5RemoteUserManager, ) , visibility=None , icon='dtml/remote_user_manager_plugin.gif' - ) + ) diff --git a/product/ERP5Wizard/transport/SOAPConnection.py b/product/ERP5Wizard/transport/SOAPConnection.py new file mode 100644 index 0000000000000000000000000000000000000000..36c9c7aa510e562b226fc11637808e5770122a86 --- /dev/null +++ b/product/ERP5Wizard/transport/SOAPConnection.py @@ -0,0 +1,5 @@ +class SOAPConnection(self): + """ + Holds a SOAP connection + """ + pass \ No newline at end of file diff --git a/product/ERP5Wizard/transport/XMLRPCConnection.py b/product/ERP5Wizard/transport/XMLRPCConnection.py new file mode 100644 index 0000000000000000000000000000000000000000..34541d394e80c98113d08bf25ea7940d029ec2a8 --- /dev/null +++ b/product/ERP5Wizard/transport/XMLRPCConnection.py @@ -0,0 +1,5 @@ +class XMLRPCConnection(self): + """ + Holds an XML-RPC connection + """ + pass diff --git a/product/ERP5Wizard/transport/__init__.py b/product/ERP5Wizard/transport/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391