# -*- coding: utf-8 -*- from Products.CMFCore.utils import getToolByName from Products.TeleServices import TeleServicesReview, ManageTeleServices from Products.TeleServices.config import * import logging logger = logging.getLogger('TeleServices') def install(self, reinstall=False): """ We load the default terms and define some permissions """ # print '########################## IN TS INSTALL' portal=getToolByName(self,'portal_url').getPortalObject() wft = portal.portal_workflow if not hasattr(portal.portal_teleservices, ATTOPIC_ALL_NAME): portal.portal_setup.setImportContext("profile-Products.TeleServices:default") logger.info('AppInstall.py: running createFolderHierarchy from GenericSetup profile') portal.portal_setup.runImportStep(step_id="createfolderhierarchy-teleservices") portal.portal_setup.runImportStep(step_id="defaultconfig-teleservices") tst = getToolByName(portal, 'portal_teleservices') #we add the application tab in portal_actions logger.info('AppInstall.py: setting actions') actions = portal.portal_actions.listActions() action_ids = [action.id for action in actions] if not 'mydemands' in action_ids: portal.portal_actions.addAction('mydemands', 'My demands', 'string:${portal/portal_teleservices/getDemandFolder}', 'member', 'View', 'portal_tabs') if not reinstall: #we hide the "my folder" with id "mystuff" action for action in self.portal_membership._actions: if action.getId() == "mystuff": action.visible = False #we correct the controlpanel link pcp = getToolByName(self, 'portal_controlpanel') for action in pcp.listActions(): if action.getId() == 'TeleServicesTool': if action.getActionExpression().endswith('/view'): act_str = action.getActionExpression() action.setActionExpression(action.getActionExpression()[0:-5]) #we add the metadata in topic fields logger.info('AppInstall.py: adding metadatas in topic fields') topict = portal.portal_atct topict.addMetadata("getNationalRegister", "Nationalregister", "", enabled=True) topict.addMetadata("getStructuredCommunication", "Structuredcommunication", "", enabled=True) topict.addMetadata("getTransmissionDate", "Transmissiondate", "", enabled=True) #we adapt a topic folder = getattr(portal.portal_teleservices, 'populationteleservice_config') attopic = getattr(folder, 'searchforwaiting_payment') attopic.setCustomViewFields(['getStructuredCommunication', 'Title', 'Creator', 'getNationalRegister', 'review_state', 'getTransmissionDate', 'Type']) #we add the "TeleServicesManager" role here if HAS_PLONEPAS: logger.info('AppInstall.py: setting roles') pas = getToolByName(self, 'acl_users', None) prm = pas.portal_role_manager # if not "TeleServicesManager" in prm.listRoleIds(): # prm.addRole("TeleServicesManager", "TeleServicesManager", "Manage the TeleServices") if not "PopulationTSManager" in prm.listRoleIds(): prm.addRole("PopulationTSManager", "PopulationTSManager", "Manage the Population TeleServices") if not "WorkTSManager" in prm.listRoleIds(): prm.addRole("WorkTSManager", "WorkTSManager", "Manage the Work TeleServices") return