[commits] r113 - selinux-site/trunk/selinux.theme/selinux/theme

tim at mail.se.linux.org tim at mail.se.linux.org
Tis Okt 2 22:44:13 CEST 2007


Author: tim
Date: 2007-10-02 22:44:12 +0200 (Tue, 02 Oct 2007)
New Revision: 113

Added:
   selinux-site/trunk/selinux.theme/selinux/theme/setuphandlers.py
Removed:
   selinux-site/trunk/selinux.theme/selinux/theme/content.py
Log:
Bring back the old way of creating initial content, using GenericSetup.


Deleted: selinux-site/trunk/selinux.theme/selinux/theme/content.py
===================================================================
--- selinux-site/trunk/selinux.theme/selinux/theme/content.py	2007-10-02 20:29:17 UTC (rev 112)
+++ selinux-site/trunk/selinux.theme/selinux/theme/content.py	2007-10-02 20:44:12 UTC (rev 113)
@@ -1,129 +0,0 @@
-from Products.CMFCore.utils import getToolByName
-from Products.CMFPlone.utils import _createObjectByType
-from Products.ATContentTypes.lib import constraintypes
-
-def site_published(site, evt):
-    import pdb; pdb.set_trace()
-    a = 3
-    return True
-
-def site_created(site, evt):
-    setupFrontpage(site)
-    removePloneContent(site)
-    setupMemberFolder(site)
-    createNewsFolder(site)
-    createEventsFolder(site)
-    publishInitialFolders(site)
-
-def createEventsFolder(site):
-    wftool = getToolByName(site, 'portal_workflow')
-    existing = site.objectIds()
-
-    # Events topic
-    if 'handelser' in existing:
-        folder = site.handelser
-        folder.setConstrainTypesMode(constraintypes.ENABLED)
-        folder.setLocallyAllowedTypes(['Event'])
-        folder.setImmediatelyAddableTypes(['Event'])
-        folder.setDefaultPage('aggregator')
-        folder.unmarkCreationFlag()
-
-        if wftool.getInfoFor(folder, 'review_state') != 'published':
-            wftool.doActionFor(folder, 'publish')
-
-        topic = folder.aggregator
-        topic.unmarkCreationFlag()
-
-        type_crit = topic.addCriterion('Type','ATPortalTypeCriterion')
-        type_crit.setValue('Event')
-        sort_crit = topic.addCriterion('start','ATSortCriterion')
-        state_crit = topic.addCriterion('review_state', 'ATSimpleStringCriterion')
-        state_crit.setValue('published')
-        date_crit = topic.addCriterion('start', 'ATFriendlyDateCriteria')
-        # Set date reference to now
-        date_crit.setValue(0)
-        # Only take events in the future
-        date_crit.setDateRange('+') # This is irrelevant when the date is now
-        date_crit.setOperation('more')
-
-        if wftool.getInfoFor(topic, 'review_state') != 'published':
-            wftool.doActionFor(topic, 'publish')
-
-
-def createNewsFolder(site):
-    wftool = getToolByName(site, 'portal_workflow')
-    existing = site.objectIds()
-
-    # News topic
-    if 'nyheter' in existing:
-        folder = site.nyheter
-        folder.setConstrainTypesMode(constraintypes.ENABLED)
-        folder.setLocallyAllowedTypes(['News Item'])
-        folder.setImmediatelyAddableTypes(['News Item'])
-        folder.setDefaultPage('aggregator')
-        folder.unmarkCreationFlag()
-
-        if wftool.getInfoFor(folder, 'review_state') != 'published':
-            wftool.doActionFor(folder, 'publish')
-
-        topic = site.nyheter.aggregator
-        type_crit = topic.addCriterion('Type','ATPortalTypeCriterion')
-        type_crit.setValue('News Item')
-        sort_crit = topic.addCriterion('created','ATSortCriterion')
-        state_crit = topic.addCriterion('review_state', 'ATSimpleStringCriterion')
-        state_crit.setValue('published')
-        topic.setSortCriterion('effective', True)
-        topic.manage_addProperty('layout', 'folder_summary_view', 'string')
-        topic.unmarkCreationFlag()
-
-        if wftool.getInfoFor(topic, 'review_state') != 'published':
-            wftool.doActionFor(topic, 'publish')
-
-def setupFrontpage(site):
-    if site.hasProperty('default_page'):
-        site.manage_delProperties(ids=['default_page'])
-
-    #left_column = getUtility(IPortletManager, name=u'plone.leftcolumn',
-    #                         context=site)
-
-    #left = getMultiAdapter((site, left_column,), IPortletAssignmentMapping,
-    #                       context=site)
-
-    #keys = list(left.keys())
-    #for key in keys:
-    #    del left[key]
-
-        
-# until plone supports setting up the site without creating some initial
-# folders, we need to remove a few folders
-def removePloneContent(site):
-    for id in ('Members', 'news', 'events'):
-        if getattr(site, id, None):
-            site.manage_delObjects([id])
-        
-def setupMemberFolder(site):
-    mship = getToolByName(site, 'portal_membership')
-    workflow = getToolByName(site, 'portal_workflow')
-
-    # we call the members folder 'medlemmar'
-    mship.setMembersFolderById('medlemmar')
-
-    # member folders should be created
-    if not mship.getMemberareaCreationFlag():
-        mship.setMemberareaCreationFlag()
-
-    # publish member folder
-    members = getattr(site, 'medlemmar', None)
-    if members is not None:
-        if workflow.getInfoFor(members, 'review_state') != 'published':
-            workflow.doActionFor(members, 'publish')
-
-def publishInitialFolders(site):
-    workflow = getToolByName(site, 'portal_workflow')
-
-    folders = ('arbetsgrupper', 'dokumentation', 'support', 'foreningen')
-    for folder_id in folders:
-        folder = getattr(site, folder_id, None)
-        if folder is not None:
-            if workflow.getInfoFor(folder, 'review_state') != 'published':
-                workflow.doActionFor(folder, 'publish')

Copied: selinux-site/trunk/selinux.theme/selinux/theme/setuphandlers.py (from rev 112, selinux-site/trunk/selinux.theme/selinux/theme/content.py)
===================================================================
--- selinux-site/trunk/selinux.theme/selinux/theme/setuphandlers.py	                        (rev 0)
+++ selinux-site/trunk/selinux.theme/selinux/theme/setuphandlers.py	2007-10-02 20:44:12 UTC (rev 113)
@@ -0,0 +1,125 @@
+from Products.CMFCore.utils import getToolByName
+from Products.CMFPlone.utils import _createObjectByType
+from Products.ATContentTypes.lib import constraintypes
+
+def setupVarious(context):
+    site = context.getSite()
+    setupFrontpage(site)
+    removePloneContent(site)
+    setupMemberFolder(site)
+    createNewsFolder(site)
+    createEventsFolder(site)
+    publishInitialFolders(site)
+
+def createEventsFolder(site):
+    wftool = getToolByName(site, 'portal_workflow')
+    existing = site.objectIds()
+
+    # Events topic
+    if 'handelser' in existing:
+        folder = site.handelser
+        folder.setConstrainTypesMode(constraintypes.ENABLED)
+        folder.setLocallyAllowedTypes(['Event'])
+        folder.setImmediatelyAddableTypes(['Event'])
+        folder.setDefaultPage('aggregator')
+        folder.unmarkCreationFlag()
+
+        if wftool.getInfoFor(folder, 'review_state') != 'published':
+            wftool.doActionFor(folder, 'publish')
+
+        topic = folder.aggregator
+        topic.unmarkCreationFlag()
+
+        type_crit = topic.addCriterion('Type','ATPortalTypeCriterion')
+        type_crit.setValue('Event')
+        sort_crit = topic.addCriterion('start','ATSortCriterion')
+        state_crit = topic.addCriterion('review_state', 'ATSimpleStringCriterion')
+        state_crit.setValue('published')
+        date_crit = topic.addCriterion('start', 'ATFriendlyDateCriteria')
+        # Set date reference to now
+        date_crit.setValue(0)
+        # Only take events in the future
+        date_crit.setDateRange('+') # This is irrelevant when the date is now
+        date_crit.setOperation('more')
+
+        if wftool.getInfoFor(topic, 'review_state') != 'published':
+            wftool.doActionFor(topic, 'publish')
+
+
+def createNewsFolder(site):
+    wftool = getToolByName(site, 'portal_workflow')
+    existing = site.objectIds()
+
+    # News topic
+    if 'nyheter' in existing:
+        folder = site.nyheter
+        folder.setConstrainTypesMode(constraintypes.ENABLED)
+        folder.setLocallyAllowedTypes(['News Item'])
+        folder.setImmediatelyAddableTypes(['News Item'])
+        folder.setDefaultPage('aggregator')
+        folder.unmarkCreationFlag()
+
+        if wftool.getInfoFor(folder, 'review_state') != 'published':
+            wftool.doActionFor(folder, 'publish')
+
+        topic = site.nyheter.aggregator
+        type_crit = topic.addCriterion('Type','ATPortalTypeCriterion')
+        type_crit.setValue('News Item')
+        sort_crit = topic.addCriterion('created','ATSortCriterion')
+        state_crit = topic.addCriterion('review_state', 'ATSimpleStringCriterion')
+        state_crit.setValue('published')
+        topic.setSortCriterion('effective', True)
+        topic.manage_addProperty('layout', 'folder_summary_view', 'string')
+        topic.unmarkCreationFlag()
+
+        if wftool.getInfoFor(topic, 'review_state') != 'published':
+            wftool.doActionFor(topic, 'publish')
+
+def setupFrontpage(site):
+    if site.hasProperty('default_page'):
+        site.manage_delProperties(ids=['default_page'])
+
+    #left_column = getUtility(IPortletManager, name=u'plone.leftcolumn',
+    #                         context=site)
+
+    #left = getMultiAdapter((site, left_column,), IPortletAssignmentMapping,
+    #                       context=site)
+
+    #keys = list(left.keys())
+    #for key in keys:
+    #    del left[key]
+
+        
+# until plone supports setting up the site without creating some initial
+# folders, we need to remove a few folders
+def removePloneContent(site):
+    for id in ('Members', 'news', 'events'):
+        if getattr(site, id, None):
+            site.manage_delObjects([id])
+        
+def setupMemberFolder(site):
+    mship = getToolByName(site, 'portal_membership')
+    workflow = getToolByName(site, 'portal_workflow')
+
+    # we call the members folder 'medlemmar'
+    mship.setMembersFolderById('medlemmar')
+
+    # member folders should be created
+    if not mship.getMemberareaCreationFlag():
+        mship.setMemberareaCreationFlag()
+
+    # publish member folder
+    members = getattr(site, 'medlemmar', None)
+    if members is not None:
+        if workflow.getInfoFor(members, 'review_state') != 'published':
+            workflow.doActionFor(members, 'publish')
+
+def publishInitialFolders(site):
+    workflow = getToolByName(site, 'portal_workflow')
+
+    folders = ('arbetsgrupper', 'dokumentation', 'support', 'foreningen')
+    for folder_id in folders:
+        folder = getattr(site, folder_id, None)
+        if folder is not None:
+            if workflow.getInfoFor(folder, 'review_state') != 'published':
+                workflow.doActionFor(folder, 'publish')




More information about the commits mailing list