source: products/adsenseproduct/trunk/Extensions/Install.py @ 2111

Last change on this file since 2111 was 1, checked in by myroslav, 18 years ago

Building directory structure

  • Property svn:eol-style set to native
File size: 1.8 KB
Line 
1import string
2from StringIO import StringIO
3from Products.CMFCore.utils import getToolByName
4from Products.Archetypes.Extensions.utils import install_subskin
5from Products.CMFCore.permissions import ManagePortal
6from Products.adsenseproduct.config import *
7
8def registerConfiglet(self, out):
9    controlpanel_tool = getToolByName(self, 'portal_controlpanel')
10    controlpanel_tool.unregisterConfiglet('prefs_adsense')
11    controlpanel_tool.registerConfiglet(id='prefs_adsense', name='Adsense Properties' \
12        ,category='Products', action='string:${portal_url}/prefs_adsense' \
13        ,appId=PRODUCT_NAME,  permission=ManagePortal, imageUrl='group.gif')
14    out.write("'prefs_adsense' configlet registered\n")
15
16def unregisterConfiglet(self):
17    controlpanel_tool = getToolByName(self, 'portal_controlpanel')
18    controlpanel_tool.unregisterConfiglet('prefs_adsense')
19
20def addProperties(self, out):
21    pp = getToolByName(self, 'portal_properties')
22    if not 'adsense_properties' in pp.objectIds():
23        pp.addPropertySheet(id='adsense_properties', title= 'adsense_properties')
24        print >> out, "Added 'portal_properties.adsense_properties' PropertySheet."
25    ads_ps = pp.adsense_properties
26    if not ads_ps.hasProperty('customer_id'):
27        ads_ps.manage_addProperty('customer_id','','string')
28        out.write("'customer_id' property added to portal_properties/adsense_properties\n")
29
30def removeProperties(self):
31    pp = getToolByName(self, 'portal_properties')
32    if 'adsense_properties' in pp.objectIds():
33        pp.manage_delObjects(ids=['adsense_properties',])
34
35
36def install(self):
37    out = StringIO()
38    install_subskin(self,out,GLOBALS)
39    registerConfiglet(self, out)
40    addProperties(self, out)
41    return out.getvalue()
42
43def uninstall(self):
44    unregisterConfiglet(self)
45    removeProperties(self)
Note: See TracBrowser for help on using the repository browser.