Changeset 1139
- Timestamp:
- 06/27/08 12:12:53
- Files:
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
qPloneComments/branches/plone-3.0/Extensions/Install.py
r1136 r1139 1 1 from StringIO import StringIO 2 2 from Products.CMFCore.utils import getToolByName 3 from Products.CMFCore.DirectoryView import addDirectoryViews4 3 from Products.CMFCore.permissions import ManagePortal, ReplyToItem 5 4 … … 13 12 portal_setup.runAllImportStepsFromProfile('profile-Products.qPloneComments:default') 14 13 15 # Add Property sheet to portal_properies16 pp = getToolByName(self, 'portal_properties')17 if not 'qPloneComments' in pp.objectIds():18 pp.addPropertySheet(id='qPloneComments', title='qPloneComments Properties')19 out.write("Adding %s property sheet to portal_properies\n" % 'qPloneComments')20 props_sheet = pp['qPloneComments']21 updateProperties(props_sheet, out, PROPERTIES)22 14 # Tern on Anonymous commenting 23 15 self.manage_permission(ReplyToItem, ['Anonymous','Manager','Member'], 1) 24 25 out.write("Updating properties of %s property sheet\n" % 'qPloneComments' )26 16 27 17 # Add Configlet. Delete old version before adding, if exist one. … … 40 30 41 31 self.manage_permission('Moderate Discussion', ['DiscussionManager', 'Manager']) 32 42 33 # Add 'DiscussionManagers' group 43 34 gtool = getToolByName(self, 'portal_groups') … … 55 46 return out.getvalue() 56 47 57 def updateProperties(pp_ps, out, *args):58 for prop in args:59 for prop_id, prop_value, prop_type in prop:60 if not pp_ps.hasProperty(prop_id):61 pp_ps.manage_addProperty(prop_id, prop_value, prop_type)62 out.write("Adding %s property to %s property sheet\n" % (prop_id, 'qPloneComments'))63 64 48 def uninstall(self): 65 skinstool = getToolByName(self, 'portal_skins')66 # Remove skin67 for skinName in skinstool.getSkinSelections():68 old_path = skinstool.getSkinPath(skinName)69 old_path = [i.strip() for i in old_path.split(',')]70 path = []71 for p in old_path:72 if not p.startswith(SKIN_NAME):73 path.append(p)74 path = ','.join(path)75 skinstool.addSkinSelection(skinName, path)76 49 77 50 # Remove configlet 78 51 controlpanel_tool = getToolByName(self, 'portal_controlpanel') 79 52 controlpanel_tool.unregisterConfiglet(CONFIGLET_ID) 80 81 # Remove Product's property sheet from portal_properties82 pp = getToolByName(self, 'portal_properties')qPloneComments/branches/plone-3.0/config.py
r1018 r1139 1 1 PROJECTNAME = "qPloneComments" 2 3 GLOBALS = globals()4 SKINS_DIR = "skins"5 SKIN_NAME = "qplonecomments"6 2 7 3 CONFIGLET_ID = "prefs_comments_setup_form" 8 4 CONFIGLET_NAME = "qPloneComments setup" 9 10 PROPERTIES = (('enable_approve_user_notification', 'True', 'boolean'),11 ('enable_reply_user_notification', 'True', 'boolean'),12 ('enable_rejected_user_notification', 'True', 'boolean'),13 ('enable_moderation', 'True', 'boolean'),14 ('require_email', 'False', 'boolean'),15 ('enable_anonymous_commenting', 'True', 'boolean'),16 ('enable_published_notification', 'True', 'boolean'),17 ('enable_approve_notification', 'True', 'boolean'),18 ('email_discussion_manager', '', 'string'),19 ('email_subject_prefix', '', 'string'))
