Commit e0d60009 authored by Sebastien Robin's avatar Sebastien Robin

allow to choose if we want to install portal_activities


git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@1485 20353a03-c40f-0410-a6d1-a30d3c3de9de
parent 90e0278b
...@@ -44,6 +44,7 @@ manage_addERP5SiteForm.__name__ = 'addERP5Site' ...@@ -44,6 +44,7 @@ manage_addERP5SiteForm.__name__ = 'addERP5Site'
# ERP5Site Constructor # ERP5Site Constructor
def manage_addERP5Site(self, id, title='ERP5', description='', def manage_addERP5Site(self, id, title='ERP5', description='',
create_userfolder=1, create_userfolder=1,
create_activities=1,
email_from_address='postmaster@localhost', email_from_address='postmaster@localhost',
email_from_name='Portal Administrator', email_from_name='Portal Administrator',
validate_email=0, validate_email=0,
...@@ -53,10 +54,13 @@ def manage_addERP5Site(self, id, title='ERP5', description='', ...@@ -53,10 +54,13 @@ def manage_addERP5Site(self, id, title='ERP5', description='',
''' '''
Adds a portal instance. Adds a portal instance.
''' '''
LOG('manage_addERP5Site, create_activities',0,create_activities)
LOG('manage_addERP5Site, create_activities==1',0,create_activities==1)
gen = ERP5Generator() gen = ERP5Generator()
from string import strip from string import strip
id = strip(id) id = strip(id)
p = gen.create(self, id, create_userfolder,sql_connection_type,sql_connection_string) p = gen.create(self, id, create_userfolder,sql_connection_type,sql_connection_string,
create_activities=create_activities)
gen.setupDefaultProperties(p, title, description, gen.setupDefaultProperties(p, title, description,
email_from_address, email_from_name, email_from_address, email_from_name,
validate_email) validate_email)
...@@ -211,7 +215,8 @@ class ERP5Generator(PortalGenerator): ...@@ -211,7 +215,8 @@ class ERP5Generator(PortalGenerator):
klass = ERP5Site klass = ERP5Site
def create(self, parent, id, create_userfolder, sql_connection_type, sql_connection_string): def create(self, parent, id, create_userfolder, sql_connection_type, sql_connection_string,**kw):
LOG('setupTools, create',0,kw)
id = str(id) id = str(id)
portal = self.klass(id=id) portal = self.klass(id=id)
parent._setObject(id, portal) parent._setObject(id, portal)
...@@ -220,12 +225,13 @@ class ERP5Generator(PortalGenerator): ...@@ -220,12 +225,13 @@ class ERP5Generator(PortalGenerator):
p._setProperty('sql_connection_type', sql_connection_type, 'string') p._setProperty('sql_connection_type', sql_connection_type, 'string')
p._setProperty('sql_connection_string', sql_connection_string, 'string') p._setProperty('sql_connection_string', sql_connection_string, 'string')
p._setProperty('management_page_charset', 'UTF-8', 'string') # XXX hardcoded charset p._setProperty('management_page_charset', 'UTF-8', 'string') # XXX hardcoded charset
self.setup(p, create_userfolder) self.setup(p, create_userfolder,**kw)
return p return p
def setupTools(self, p): def setupTools(self, p,**kw):
"""Set up initial tools""" """Set up initial tools"""
if not 'portal_actions' in p.objectIds():
PortalGenerator.setupTools(self, p) PortalGenerator.setupTools(self, p)
# Add ERP5 Tools # Add ERP5 Tools
...@@ -238,6 +244,8 @@ class ERP5Generator(PortalGenerator): ...@@ -238,6 +244,8 @@ class ERP5Generator(PortalGenerator):
addTool('ERP5 Template Tool', None) addTool('ERP5 Template Tool', None)
# Add Activity Tool # Add Activity Tool
LOG('setupTools, kw',0,kw)
if kw.has_key('create_activities') and int(kw['create_activities'])==1:
addTool = p.manage_addProduct['CMFActivity'].manage_addTool addTool = p.manage_addProduct['CMFActivity'].manage_addTool
addTool('CMF Activity Tool', None) # Allow user to select active/passive addTool('CMF Activity Tool', None) # Allow user to select active/passive
...@@ -270,6 +278,8 @@ class ERP5Generator(PortalGenerator): ...@@ -270,6 +278,8 @@ class ERP5Generator(PortalGenerator):
addTool('ERP5 Synchronizations', None) addTool('ERP5 Synchronizations', None)
# Add Message Catalog # Add Message Catalog
if 'Localizer' in p.objectIds():
p._delObject('Localizer')
addLocalizer = p.manage_addProduct['Localizer'].manage_addLocalizer addLocalizer = p.manage_addProduct['Localizer'].manage_addLocalizer
addLocalizer('', ('en',)) addLocalizer('', ('en',))
localizer = getToolByName(p, 'Localizer') localizer = getToolByName(p, 'Localizer')
...@@ -279,6 +289,8 @@ class ERP5Generator(PortalGenerator): ...@@ -279,6 +289,8 @@ class ERP5Generator(PortalGenerator):
addMessageCatalog('erp5_content', 'ERP5 Localized Content', ('en',)) addMessageCatalog('erp5_content', 'ERP5 Localized Content', ('en',))
# Add Translation Service # Add Translation Service
if 'translation_service' in p.objectIds():
p._delObject('translation_service')
p.manage_addProduct['TranslationService'].addPlacefulTranslationService('translation_service') p.manage_addProduct['TranslationService'].addPlacefulTranslationService('translation_service')
p.translation_service.manage_setDomainInfo(domain_0=None, path_0='Localizer/default') p.translation_service.manage_setDomainInfo(domain_0=None, path_0='Localizer/default')
p.translation_service.manage_addDomainInfo(domain='ui', path='Localizer/erp5_ui') p.translation_service.manage_addDomainInfo(domain='ui', path='Localizer/erp5_ui')
...@@ -352,6 +364,7 @@ class ERP5Generator(PortalGenerator): ...@@ -352,6 +364,7 @@ class ERP5Generator(PortalGenerator):
addDirectoryViews(ps, path.join('skins','pro'), globals()) addDirectoryViews(ps, path.join('skins','pro'), globals())
ps.manage_addProduct['OFSP'].manage_addFolder(id='external_method') ps.manage_addProduct['OFSP'].manage_addFolder(id='external_method')
ps.manage_addProduct['OFSP'].manage_addFolder(id='local_pro') ps.manage_addProduct['OFSP'].manage_addFolder(id='local_pro')
ps.manage_addProduct['OFSP'].manage_addFolder(id='local_mrp')
ps.addSkinSelection('ERP5', 'local_pro, external_method, pro, erp5, activity, ' ps.addSkinSelection('ERP5', 'local_pro, external_method, pro, erp5, activity, '
+ 'zpt_content, zpt_generic,' + 'zpt_content, zpt_generic,'
+ 'zpt_control, content, generic, control, images', + 'zpt_control, content, generic, control, images',
...@@ -414,8 +427,8 @@ class ERP5Generator(PortalGenerator): ...@@ -414,8 +427,8 @@ class ERP5Generator(PortalGenerator):
role_list = permission_dict.get(name, ('Manager',)) role_list = permission_dict.get(name, ('Manager',))
p.manage_permission(name, roles=role_list, acquire=0) p.manage_permission(name, roles=role_list, acquire=0)
def setup(self, p, create_userfolder): def setup(self, p, create_userfolder,**kw):
self.setupTools(p) self.setupTools(p,**kw)
self.setupMailHost(p) self.setupMailHost(p)
if int(create_userfolder) != 0: if int(create_userfolder) != 0:
self.setupUserFolder(p) self.setupUserFolder(p)
...@@ -439,11 +452,8 @@ class ERP5Generator(PortalGenerator): ...@@ -439,11 +452,8 @@ class ERP5Generator(PortalGenerator):
# ERP5 Design Choice is that all content should be user defined # ERP5 Design Choice is that all content should be user defined
# Content is disseminated through business templates # Content is disseminated through business templates
from Products.ERP5.Document.BusinessTemplate import BusinessTemplate self.setupFolder(p)
from Products.ERP5Type.Document.Folder import Folder self.setupBusinessTemplate(p)
from Products.ERP5.Tool.TemplateTool import TemplateTool
self.setupTypes(p, (BusinessTemplate.factory_type_information, Folder.factory_type_information))
self.setupTypes(p, (TemplateTool.factory_type_information,))
self.setupMimetypes(p) self.setupMimetypes(p)
self.setupWorkflow(p) self.setupWorkflow(p)
...@@ -453,5 +463,21 @@ class ERP5Generator(PortalGenerator): ...@@ -453,5 +463,21 @@ class ERP5Generator(PortalGenerator):
# XXX for some strange reason, member was indexed 5 times # XXX for some strange reason, member was indexed 5 times
self.setupIndex(p) self.setupIndex(p)
def setupFolder(self,p):
"""
Install the portal type of Folder
"""
from Products.ERP5Type.Document.Folder import Folder
self.setupTypes(p, (Folder.factory_type_information,))
def setupBusinessTemplate(self,p):
"""
Install the portal_type of Business Template
"""
from Products.ERP5.Document.BusinessTemplate import BusinessTemplate
from Products.ERP5.Tool.TemplateTool import TemplateTool
self.setupTypes(p, (BusinessTemplate.factory_type_information,))
self.setupTypes(p, (TemplateTool.factory_type_information,))
# Patch the standard method # Patch the standard method
CMFSite.getPhysicalPath = ERP5Site.getPhysicalPath CMFSite.getPhysicalPath = ERP5Site.getPhysicalPath
...@@ -55,6 +55,20 @@ ...@@ -55,6 +55,20 @@
</td> </td>
</tr> </tr>
<tr>
<td align="left" valign="top">
<div class="form-label">
Enable Portal Activities
</div>
</td>
<td align="left" valign="top">
<select name="create_activities" size="1" >
<option selected value="0">I'm new to ERP5, so I should use it later</option>
<option value="1">I know how to use it, and I want it</option>
</selection>
</td>
</tr>
<tr> <tr>
<td align="left" valign="top"> <td align="left" valign="top">
<div class="form-label"> <div class="form-label">
......
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