From: <la...@us...> - 2002-10-30 22:40:17
|
Update of /cvsroot/plone/CMFPlone In directory usw-pr-cvs1:/tmp/cvs-serv6080 Modified Files: CustomizationPolicy.py MigrationTool.py NavigationTool.py PloneFolder.py PloneInitialize.py PloneTool.py Portal.py PrivateSitePolicy.py PropertiesTool.py WorkflowTool.py __init__.py version.txt Log Message: merging 1.0 branch, just to create it again (safely) Index: CustomizationPolicy.py =================================================================== RCS file: /cvsroot/plone/CMFPlone/CustomizationPolicy.py,v retrieving revision 1.44 retrieving revision 1.45 diff -C2 -d -r1.44 -r1.45 *** CustomizationPolicy.py 28 Oct 2002 23:21:41 -0000 1.44 --- CustomizationPolicy.py 30 Oct 2002 22:39:37 -0000 1.45 *************** *** 216,222 **** #customize memberdata tool md=getToolByName(portal, 'portal_memberdata') ! md._setProperty('formtooltips', '1', 'boolean') ! md._setProperty('visible_ids', '1', 'boolean') ! md._setProperty('wysiwyg_editor', '', 'string') #customize membership tool --- 216,225 ---- #customize memberdata tool md=getToolByName(portal, 'portal_memberdata') ! if not hasattr(md,'formtooltips'): ! md._setProperty('formtooltips', '1', 'boolean') ! if not hasattr(md,'visible_ids'): ! md._setProperty('visible_ids', '1', 'boolean') ! if not hasattr(md,'wysiwyg_editor'): ! md._setProperty('wysiwyg_editor', '', 'string') #customize membership tool *************** *** 254,263 **** #customized the registration tool ! rt=getToolByName(portal, 'portal_registration') ! rt_actions=rt._cloneActions() ! for a in rt_actions: ! if a.id=='join': ! a.condition=Expression('python: test(not member and portal.portal_membership.checkPermission("Add portal member", portal), 1, 0)') ! rt._actions=rt_actions pp=getToolByName(portal, 'portal_properties') --- 257,267 ---- #customized the registration tool ! if hasattr(portal, 'portal_registration'): ! rt=getToolByName(portal, 'portal_registration') ! rt_actions=rt._cloneActions() ! for a in rt_actions: ! if a.id=='join': ! a.condition=Expression('python: test(not member and portal.portal_membership.checkPermission("Add portal member", portal), 1, 0)') ! rt._actions=rt_actions pp=getToolByName(portal, 'portal_properties') Index: MigrationTool.py =================================================================== RCS file: /cvsroot/plone/CMFPlone/MigrationTool.py,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** MigrationTool.py 28 Oct 2002 23:21:42 -0000 1.2 --- MigrationTool.py 30 Oct 2002 22:39:37 -0000 1.3 *************** *** 21,25 **** security = ClassSecurityInfo() security.declareProtected(ManagePortal, 'manage_overview') ! manage_overview = DTMLFile('tool_forms/migrationTool', globals()) security.declareProtected(ManagePortal, 'getInstanceVersion') --- 21,25 ---- security = ClassSecurityInfo() security.declareProtected(ManagePortal, 'manage_overview') ! manage_overview = DTMLFile('www/migrationTool', globals()) security.declareProtected(ManagePortal, 'getInstanceVersion') Index: NavigationTool.py =================================================================== RCS file: /cvsroot/plone/CMFPlone/NavigationTool.py,v retrieving revision 1.33 retrieving revision 1.34 diff -C2 -d -r1.33 -r1.34 *** NavigationTool.py 30 Oct 2002 22:23:10 -0000 1.33 --- NavigationTool.py 30 Oct 2002 22:39:38 -0000 1.34 *************** *** 143,147 **** ! security.declarePrivate('removeTransitionFor') def removeTransitionFrom(self, content, script=None, status=None): """ removes everything regarding a content/script combination """ --- 143,147 ---- ! security.declarePrivate('removeTransitionFrom') def removeTransitionFrom(self, content, script=None, status=None): """ removes everything regarding a content/script combination """ Index: PloneFolder.py =================================================================== RCS file: /cvsroot/plone/CMFPlone/PloneFolder.py,v retrieving revision 1.26 retrieving revision 1.27 diff -C2 -d -r1.26 -r1.27 *** PloneFolder.py 30 Oct 2002 22:23:11 -0000 1.26 --- PloneFolder.py 30 Oct 2002 22:39:38 -0000 1.27 *************** *** 12,15 **** --- 12,16 ---- from Acquisition import aq_base from Globals import InitializeClass + from webdav.WriteLockInterface import WriteLockInterface from PloneUtilities import log *************** *** 62,66 **** security=ClassSecurityInfo() ! __implements__ = DefaultDublinCoreImpl.__implements__ , manage_options = Folder.manage_options + \ --- 63,68 ---- security=ClassSecurityInfo() ! __implements__ = (DefaultDublinCoreImpl.__implements__ , ! WriteLockInterface) manage_options = Folder.manage_options + \ Index: PloneInitialize.py =================================================================== RCS file: /cvsroot/plone/CMFPlone/PloneInitialize.py,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** PloneInitialize.py 28 Oct 2002 23:21:43 -0000 1.2 --- PloneInitialize.py 30 Oct 2002 22:39:38 -0000 1.3 *************** *** 12,17 **** import zLOG ! def log(message,summary='',severity=0): ! zLOG.LOG('Plone Database Init',severity,summary,message) from ConfigParser import ConfigParser --- 12,17 ---- import zLOG ! def log(message, summary='', severity=0): ! zLOG.LOG('Plone Database Init', severity, summary, message) from ConfigParser import ConfigParser *************** *** 35,39 **** out.append('Database init failed miserably [%s, %s]' % _get_error()) ! log('\n'.join(out)) def _get_error(): --- 35,39 ---- out.append('Database init failed miserably [%s, %s]' % _get_error()) ! log('\n'.join(out)+'\n') def _get_error(): Index: PloneTool.py =================================================================== RCS file: /cvsroot/plone/CMFPlone/PloneTool.py,v retrieving revision 1.34 retrieving revision 1.35 diff -C2 -d -r1.34 -r1.35 *** PloneTool.py 30 Oct 2002 22:23:11 -0000 1.34 --- PloneTool.py 30 Oct 2002 22:39:38 -0000 1.35 *************** *** 33,42 **** if not variables: return mail_text = self.sendto_template( self ! , variables['send_from_address'] ! , variables['send_to_address'] ! , variables['url'] ! , variables['title'] ! , variables['description'] ! , variables['comment'] ) host = self.MailHost --- 33,42 ---- if not variables: return mail_text = self.sendto_template( self ! , send_from_address = variables['send_from_address'] ! , send_to_address = variables['send_to_address'] ! , url = variables['url'] ! , title = variables['title'] ! , description = variables['description'] ! , comment = variables['comment'] ) host = self.MailHost Index: Portal.py =================================================================== RCS file: /cvsroot/plone/CMFPlone/Portal.py,v retrieving revision 1.54 retrieving revision 1.55 diff -C2 -d -r1.54 -r1.55 *** Portal.py 30 Oct 2002 22:23:11 -0000 1.54 --- Portal.py 30 Oct 2002 22:39:39 -0000 1.55 *************** *** 129,134 **** wf_tool.manage_addWorkflow( id='folder_workflow' ! , workflow_type='folder_workflow '+\ ! '(Folder Workflow [Plone])') wf_tool.setChainForPortalTypes( ('Folder','Topic'), 'folder_workflow') --- 129,134 ---- wf_tool.manage_addWorkflow( id='folder_workflow' ! , workflow_type='folder_workflow '+\ ! '(Folder Workflow [Plone])') wf_tool.setChainForPortalTypes( ('Folder','Topic'), 'folder_workflow') Index: PrivateSitePolicy.py =================================================================== RCS file: /cvsroot/plone/CMFPlone/PrivateSitePolicy.py,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** PrivateSitePolicy.py 30 Oct 2002 22:23:11 -0000 1.7 --- PrivateSitePolicy.py 30 Oct 2002 22:39:39 -0000 1.8 *************** *** 40,43 **** --- 40,46 ---- portal.index_html.manage_permission('View', ('Anonymous', 'Authenticated') ) + wf_tool.doActionFor(portal,'show',comment='The portal object itself must be visible') + portal.index_html.manage_permission('View', ('Anonymous', 'Authenticated') ) + portal.manage_permission(AddPortalMember,('Manager',)) pa_tool=getToolByName(portal,'portal_actions') Index: PropertiesTool.py =================================================================== RCS file: /cvsroot/plone/CMFPlone/PropertiesTool.py,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** PropertiesTool.py 25 Aug 2002 03:31:29 -0000 1.6 --- PropertiesTool.py 30 Oct 2002 22:39:39 -0000 1.7 *************** *** 32,38 **** """ add a new PropertySheet """ o=SimpleItemWithProperties(id, title) ! self._setObject(id, o) ! o=self._getOb(id) ! o.title=title # copy the propertysheet values onto the new instance --- 32,37 ---- """ add a new PropertySheet """ o=SimpleItemWithProperties(id, title) ! #self._setObject(id, o) ! #o=self._getOb(id) # copy the propertysheet values onto the new instance *************** *** 40,48 **** if not hasattr(propertysheet, 'propertyIds'): raise TypeError, 'propertysheet needs to be a PropertyManager' for property in propertysheet.propertyMap(): pid=property.get('id') ptype=property.get('type') pvalue=propertysheet.getProperty(pid) ! o._setProperty(pid, pvalue, ptype) def manage_addPropertySheet(self, id, title='', propertysheet=None, REQUEST=None): --- 39,52 ---- if not hasattr(propertysheet, 'propertyIds'): raise TypeError, 'propertysheet needs to be a PropertyManager' + for property in propertysheet.propertyMap(): pid=property.get('id') ptype=property.get('type') pvalue=propertysheet.getProperty(pid) ! if not hasattr(o, pid): ! o._setProperty(pid, pvalue, ptype) ! ! self._setObject(id, o) ! def manage_addPropertySheet(self, id, title='', propertysheet=None, REQUEST=None): Index: WorkflowTool.py =================================================================== RCS file: /cvsroot/plone/CMFPlone/WorkflowTool.py,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** WorkflowTool.py 3 Sep 2002 03:57:22 -0000 1.6 --- WorkflowTool.py 30 Oct 2002 22:39:39 -0000 1.7 *************** *** 18,24 **** def flattenTransitions(self, objs, container=None): """ this is really hokey - hold on!!""" ! if hasattr(objs, 'startswith'): return () ! transitions=() t_names=[] if container is None: container = self --- 18,27 ---- def flattenTransitions(self, objs, container=None): """ this is really hokey - hold on!!""" ! if hasattr(objs, 'startswith'): ! return () ! ! transitions=[] t_names=[] + if container is None: container = self *************** *** 32,52 **** for t in trans: if t['name'] not in t_names: ! transitions+=(t,) t_names.append(t['name']) ! return transitions security.declarePublic('getTransitionsFor') def getTransitionsFor(self, obj=None, container=None, REQUEST=None): - wf_tool=getToolByName(self, 'portal_workflow') if type(obj)==type([]): return self.flattenTransitions(objs=obj, container=container) else: obj=obj wfs=() ! avail_trans=() objstate=None try: ! objstate=wf_tool.getInfoFor(obj, 'review_state') ! wfs=wf_tool.getWorkflowsFor(obj) except WorkflowException, e: return avail_trans --- 35,57 ---- for t in trans: if t['name'] not in t_names: ! transitions.append(t) t_names.append(t['name']) ! ! return tuple(transitions[:]) security.declarePublic('getTransitionsFor') def getTransitionsFor(self, obj=None, container=None, REQUEST=None): if type(obj)==type([]): return self.flattenTransitions(objs=obj, container=container) else: obj=obj + wfs=() ! avail_trans=[] objstate=None + try: ! objstate=self.getInfoFor(obj, 'review_state') ! wfs=self.getWorkflowsFor(obj) except WorkflowException, e: return avail_trans *************** *** 63,82 **** t['id']=trans.id t['name']=trans.actbox_name ! avail_trans+=(t, ) ! return avail_trans def workflows_in_use(self): """ gathers all the available workflow chains (sequence of workflow ids, ). """ in_use = [] - wf_tool = getToolByName(self, 'portal_workflow') types_tool = getToolByName(self, 'portal_types') ! in_use.append( wf_tool._default_chain ) ! if wf_tool._chains_by_type: ! for chain in wf_tool._chains_by_type.values(): in_use.append(chain) ! return in_use security.declarePublic('getWorklists') --- 68,86 ---- t['id']=trans.id t['name']=trans.actbox_name ! avail_trans.append(t) ! return tuple(avail_trans[:]) def workflows_in_use(self): """ gathers all the available workflow chains (sequence of workflow ids, ). """ in_use = [] types_tool = getToolByName(self, 'portal_types') ! in_use.append( self._default_chain ) ! if self._chains_by_type: ! for chain in self._chains_by_type.values(): in_use.append(chain) ! return tuple(in_use[:]) security.declarePublic('getWorklists') *************** *** 91,100 **** catalog_vars (mapping), actbox_name (actions box label), and actbox_url (actions box url) """ - wf_tool=getToolByName(self, 'portal_workflow') wf_with_wlists = {} for id in [workflow for seq in self.workflows_in_use() for workflow in seq]: # the above list incomprehension merely _flattens_ nested sequences into 1 sequence ! wf=wf_tool.getWorkflowById(id) if hasattr(wf, 'worklists'): wlists = [] --- 95,103 ---- catalog_vars (mapping), actbox_name (actions box label), and actbox_url (actions box url) """ wf_with_wlists = {} for id in [workflow for seq in self.workflows_in_use() for workflow in seq]: # the above list incomprehension merely _flattens_ nested sequences into 1 sequence ! wf=self.getWorkflowById(id) if hasattr(wf, 'worklists'): wlists = [] *************** *** 112,132 **** return wf_with_wlists - - def testGettingWorklists(self): - """ careful with this.. it can hose the ZODB """ - wf_tool=getToolByName(self, 'portal_workflow') - if not hasattr(wf_tool, 'getWorklists'): - wf_tool.getWorklists = getWorklists - log('wf_tool doenst have Worklists!') - else: - del(wf_tool.getWorklists) - - log('wf_tool has getWorklists!') - - for wflow_id, wlist_seq in wf_tool.getWorklists(self).items(): - for wlist in wlist_seq: - log(wlist) - permission=wlist['guard'].getPermissionsText() - log ('permission for ' + wlist['id'] + ' is ' + permission) InitializeClass(WorkflowTool) --- 115,118 ---- Index: __init__.py =================================================================== RCS file: /cvsroot/plone/CMFPlone/__init__.py,v retrieving revision 1.28 retrieving revision 1.29 diff -C2 -d -r1.28 -r1.29 *** __init__.py 30 Oct 2002 22:23:11 -0000 1.28 --- __init__.py 30 Oct 2002 22:39:39 -0000 1.29 *************** *** 1,5 **** cmfplone_globals=globals() custom_policies={} #stores the registered Policies ! from Products.CMFCore import CachingPolicyManager, DirectoryView, utils from AccessControl import ModuleSecurityInfo, ClassSecurityInfo --- 1,5 ---- cmfplone_globals=globals() custom_policies={} #stores the registered Policies ! import migrations from Products.CMFCore import CachingPolicyManager, DirectoryView, utils from AccessControl import ModuleSecurityInfo, ClassSecurityInfo *************** *** 8,11 **** --- 8,12 ---- import PloneFolder, Portal, PloneWorkflow, FolderWorkflow import CustomizationPolicy, PrivateSitePolicy + import sys import StatelessTreeNav Index: version.txt =================================================================== RCS file: /cvsroot/plone/CMFPlone/version.txt,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** version.txt 17 Oct 2002 01:02:43 -0000 1.6 --- version.txt 30 Oct 2002 22:39:39 -0000 1.7 *************** *** 1 **** ! 1.0beta2 --- 1 ---- ! 1.0beta3 |