;ς Ύ˜@c@sadklZdkZdklZdklZdklZdk l Z dfd„ƒYZ dS((sStringION(s getToolByName(sContentFactoryMetadata(saddDirectoryViews(ssafeEditPropertys InstallationcBsttZd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Z d „Z d „Z d „Z d „Z RS( NcCsv||_tƒ|_t|idƒ|_t|idƒ|_t|idƒ|_|ii|_|ii |_ dS(Ns portal_typess portal_skinssportal_properties( srootsselfsStringIOsouts getToolByNames typesTools skinsToolsportal_propertiessnavigation_propertiessform_properties(sselfsroot((sP/mnt/gmirror/ports/www/zope-groupuserfolder/work/GroupUserFolder/Installation.pys__init__s  cCs!|iidƒ|iiƒSdS(NsInstallation completed. (sselfsoutswritesgetvalue(sself((sP/mnt/gmirror/ports/www/zope-groupuserfolder/work/GroupUserFolder/Installation.pysreportsc Cs|ii|i}xκ|D]β\}}d}x1|ii ƒD] }|i |jo d}q<q<W| o||t ƒnd}|i}xN|i ƒD]@}|i |jo*||_|iid|fƒd}q•q•W| o|iid|fƒqqWdS(NiisAdded '%s' tool. sCouldn't add '%s' tool. (sselfsrootsmanage_addProducts product_namesmanage_addToolsaddToolstoolsstoolstitlesfounds objectValuessobjs meta_typesNonesoutswrite( sselfs product_namestoolssobjstitlesaddToolsrootsfoundstool((sP/mnt/gmirror/ports/www/zope-groupuserfolder/work/GroupUserFolder/Installation.pys setupTools!s(    cCsρxκ|iiƒD]Ω}|ii|ƒ}ttiti |dƒƒ}||j oy!|i |i dƒd|ƒWn t j o|i|ƒnXti|dƒ}|ii||ƒ|iid|ƒq|iid|ƒqWdS(s9 Install a subskin, i.e. a folder/directoryview. s,scustomis, s(Subskin successfully installed into %s. s+*** Subskin was already installed into %s. N(sselfs skinsToolsgetSkinSelectionssskins getSkinPathspathsmapsstringsstripssplits skinFoldersinsertsindexs ValueErrorsappendsjoinsaddSkinSelectionsoutswrite(sselfs skinFoldersskinspath((sP/mnt/gmirror/ports/www/zope-groupuserfolder/work/GroupUserFolder/Installation.pysinstallSubSkin5s!cCsRy|iidi|dƒWn|iid|ƒnX|id|ƒdS(s$ Install custom skin folder sOFSPs CustomModelss9*** Skin %sCustomModels already existed in portal_skins. s%sCustomModelsN(sselfs skinsToolsmanage_addProductsmanage_addFolders skin_namesoutswritesinstallSubSkin(sselfs skin_name((sP/mnt/gmirror/ports/www/zope-groupuserfolder/work/GroupUserFolder/Installation.pyssetupCustomModelsSkinFs cCs/xX|D]P}|d|iiƒjo0|iid|dƒ|ii|dƒqqWx|D]w}|iƒ o |i dƒo|d|d*** Object "%s" already existed in the types tool => deleting s plone1_actionsactions)Type "%s" registered with the types tool sskinss'Added directory views to portal_skins. s3*** Unable to add directory views to portal_skins. N(sfti_listsfsselfs typesTools objectIdssoutswrites _delObjectshasFormControllershas_keysapplysContentFactoryMetadatascfms _setObjectsaddDirectoryViewss skinsToolsinstall_globalssinstallSubSkins skin_name(sselfsfti_lists skin_namesinstall_globalsscfmsf((sP/mnt/gmirror/ports/www/zope-groupuserfolder/work/GroupUserFolder/Installation.pyssetupTypesandSkinsOs&cCs|iƒSdS(sL isPlone2(self,) => return true if we're using Plone2 ! :-) N(sselfshasFormController(sself((sP/mnt/gmirror/ports/www/zope-groupuserfolder/work/GroupUserFolder/Installation.pysisPlone2pscCs&d|iiƒjodSntSdS(sL hasFormController(self,) => Return 1 if CMFFC is available sportal_form_controlleriN(sselfsroots objectIdssNone(sself((sP/mnt/gmirror/ports/www/zope-groupuserfolder/work/GroupUserFolder/Installation.pyshasFormControllervscCsC|iƒodSnx'|D]\}}t|i||ƒqWdS(sh Adds the form validators. DON'T ADD ANYTHING IF CMFFORMCONTROLLER IS INSTALLED N(sselfshasFormControllersmappingskeysvaluessafeEditPropertysform_properties(sselfsmappingsvalueskey((sP/mnt/gmirror/ports/www/zope-groupuserfolder/work/GroupUserFolder/Installation.pysaddFormValidatorss   cCsC|iƒodSnx'|D]\}}t|i||ƒqWdS(sB Adds Navigation Transitions in portal properties N(sselfshasFormControllers transitionsskeysvaluessafeEditPropertysnavigation_properties(sselfs transitionssvalueskey((sP/mnt/gmirror/ports/www/zope-groupuserfolder/work/GroupUserFolder/Installation.pysaddNavigationTransitionsŠs   cCsDx-|D]%}|ii|ddfddƒqW|iidƒdS(sJ setPermissions(self) => Set standard permissions / roles sManagersOwnersacquireisReseted default permissions N(s perms_listspermsselfsrootsmanage_permissionsoutswrite(sselfs perms_listsperm((sP/mnt/gmirror/ports/www/zope-groupuserfolder/work/GroupUserFolder/Installation.pyssetPermissions”s  cCs[dtƒ} yt|dƒ}Wntj o }| SnXd}x2|iƒD]$\}}||jo d}PqOqOW| o| Sny|i |ƒ}Wnttfj o }| SnX|iiddi|iƒƒƒgi}|iƒD]\}}||ƒqσ~} |iiddi| ƒƒti i|d dd ƒ} ti i| |d ƒ} ti| ƒ}t i!|d ƒ}h} x+|D]#}|i%|ƒd}|| |