Commit 23e0fa27 authored by Ivan Tyagov's avatar Ivan Tyagov

Initial import.


git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@20676 20353a03-c40f-0410-a6d1-a30d3c3de9de
parent 722cf8da
##############################################################################
#
# Copyright (c) 2007 Nexedi SARL and Contributors. All Rights Reserved.
# Yusei TAHARA <yusei@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.
#
##############################################################################
class ExpressPreference:
"""
User Preferences for erp5 express
Contains all preferences (see portal_preferences) relative to erp5 express.
"""
_properties = (
{ 'id' : 'preferred_witch_tool_server_url',
'description' : 'The URL of a server which provides Witch Tool',
'type' : 'string',
'preference' : 1,
'read_permission' : 'Manage portal',
'write_permission' : 'Manage portal',
'mode' : 'w' },
{ 'id' : 'preferred_witch_tool_server_root',
'description' : 'The root of a server which provides Witch Tool',
'type' : 'string',
'preference' : 1,
'read_permission' : 'Manage portal',
'write_permission' : 'Manage portal',
'mode' : 'w' },
{ 'id' : 'preferred_express_subscription_status',
'description' : 'ERP5 Express subscription status',
'type' : 'string',
'preference' : 1,
'read_permission' : 'Manage portal',
'write_permission' : 'Manage portal',
'mode' : 'w' },
{ 'id' : 'preferred_express_configuration_status',
'description' : 'ERP5 Express configuration status',
'type' : 'string',
'preference' : 1,
'read_permission' : 'Manage portal',
'write_permission' : 'Manage portal',
'mode' : 'w' },
{ 'id' : 'preferred_express_user_id',
'description' : 'ERP5 Express subscription user id',
'type' : 'string',
'preference' : 1,
'read_permission' : 'Modify portal content',
'write_permission' : 'Modify portal content',
'mode' : 'w' },
{ 'id' : 'preferred_express_password',
'description' : 'ERP5 Express subscription password',
'type' : 'string',
'preference' : 1,
'read_permission' : 'Modify portal content',
'write_permission' : 'Modify portal content',
'mode' : 'w' },
{ 'id' : 'preferred_express_after_setup_script_id',
'description' : 'ERP5 Express after setup script id',
'type' : 'string',
'preference' : 1,
'read_permission' : 'Modify portal content',
'write_permission' : 'Modify portal content',
'mode' : 'w' },
{ 'id' : 'preferred_express_erp5_uid',
'description' : 'ERP5 Express unique ID',
'type' : 'string',
'preference' : 1,
'read_permission' : 'Modify portal content',
'write_permission' : 'Modify portal content',
'mode' : 'w' },
{ 'id' : 'preferred_express_client_uid',
'description' : 'ERP5 Express client unique ID',
'type' : 'string',
'preference' : 1,
'read_permission' : 'Modify portal content',
'write_permission' : 'Modify portal content',
'mode' : 'w' },
)
This diff is collapsed.
##############################################################################
#
# Copyright (c) 2006 Nexedi SARL and Contributors. All Rights Reserved.
# Romain Courteaud <romain@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.
#
##############################################################################
"""
ERP5Wizard is a ERP5Configurator client.
"""
from Products.ERP5Type.Utils import initializeProduct, updateGlobals
import sys, Permissions
this_module = sys.modules[ __name__ ]
document_classes = updateGlobals(this_module, globals(), permissions_module=Permissions)
# Finish installation
def initialize(context):
import Document
from Tool import WizardTool
# Define object classes and tools
object_classes = ()
portal_tools = (WizardTool.WizardTool,)
content_classes = ()
content_constructors = ()
# Do initialization step
initializeProduct(context, this_module, globals(),
document_module=Document,
document_classes=document_classes,
object_classes=object_classes,
portal_tools=portal_tools,
content_constructors=content_constructors,
content_classes=content_classes)
<dtml-var manage_page_header>
<dtml-var manage_tabs>
<h3>Explain Wizard Tool</h3>
<p>
Wizard Tool provides a wizard-style user interface to
allow the user to configure a site easily.
</p>
<p>
You need to have a remote configurator site to exchange information
and ask configuration services.
</p>
<dtml-var manage_page_footer>
##############################################################################
#
# Copyright (c) 2007 Nexedi SA and Contributors. All Rights Reserved.
# Jerome Perrin <jerome@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.
#
##############################################################################
import unittest
import xmlrpclib
from Products.ERP5Wizard.Tool.WizardTool import GeneratorCall
class TestGeneratorCall(unittest.TestCase):
"""Tests Generator Call
"""
def test_dump(self):
call = GeneratorCall()
dumped = call.dump()
self.failUnless(isinstance(dumped, str))
load = xmlrpclib.loads(dumped)
self.failUnless(isinstance(load, tuple))
self.assertEquals(len(load), 2)
self.assertEquals(load[1], 'GeneratorAnswer')
self.failUnless(isinstance(load[0], tuple))
self.assertEquals(len(load[0]), 1)
server_response_dict = load[0][0]
self.failUnless(isinstance(server_response_dict, dict))
def test_dump_load(self):
call = GeneratorCall(data='Foo')
self.assertEquals(call['data'], 'Foo')
dumped = call.dump()
self.failUnless(isinstance(dumped, str))
# reread it in a new call
read = GeneratorCall()
read.load(dumped)
self.assertEquals(read['data'], 'Foo')
def test_suite():
suite = unittest.TestSuite()
suite.addTest(unittest.makeSuite(TestGeneratorCall))
return suite
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment