Changeset 656
- Timestamp:
- 11/24/06 09:04:54
- Files:
-
- qPloneCaptchas/trunk/CaptchaTool.py (modified) (previous)
- qPloneCaptchas/trunk/Extensions/Install.py (modified) (6 diffs)
- qPloneCaptchas/trunk/config.py (modified) (2 diffs)
- qPloneCaptchas/trunk/skins/plone_captchas/prefs_captchas_setup.cpy.metadata (modified) (1 diff)
- qPloneCaptchas/trunk/skins/plone_captchas/prefs_captchas_setup_form.cpt (modified) (1 diff)
- qPloneCaptchas/trunk/skins/plone_captchas/prefs_captchas_setup_form.cpt.metadata (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
qPloneCaptchas/trunk/Extensions/Install.py
r655 r656 14 14 out=StringIO() 15 15 portal = getToolByName(self, 'portal_url').getPortalObject() 16 # add captchas_tool 16 17 if not hasattr(portal, TOOL_ID): 17 18 constructTransientObjectContainer(portal, id=TOOL_ID, timeout_mins=60) … … 19 20 safeEditProperty(self, 'captcha_key', generateKey(8)) 20 21 22 # add Property sheet to portal_properies 23 pp = getToolByName(self, 'portal_properties') 24 if not 'qPloneCaptchas' in pp.objectIds(): 25 pp.addPropertySheet(id='qPloneCaptchas', title= '%s Properties' % 'qPloneCaptchas') 26 out.write("Adding %s property sheet to portal_properies\n" % 'qPloneComments' ) 27 props_sheet = pp['qPloneCaptchas'] 28 updateProperties(props_sheet, out, PROPERTIES) 29 21 30 Layers = [] 22 31 Layers += LAYERS 23 32 24 if static_captchas or (not havePIL): 33 if pp.qPloneCaptchas.getProperty('static_captchas', False) and havePIL: 34 Layers.append(LAYER_DYNAMIC_CAPTCHAS) 35 else: 25 36 Layers.append(LAYER_STATIC_CAPTCHAS) 26 else:27 Layers.append(LAYER_DYNAMIC_CAPTCHAS)28 37 29 qi = getToolByName(self, 'portal_quickinstaller')30 38 mtool = getToolByName(self, 'portal_migration') 31 39 plone_version = mtool.getFileSystemVersion() … … 41 49 42 50 DiscussionLayer = LAYER_DISCUSSION 51 qi = getToolByName(self, 'portal_quickinstaller') 43 52 if qi.isProductInstalled('PloneFormMailer'): 44 53 formmailer_layer = LAYER_FORMMAILER+'/'+plone_version … … 46 55 discussion_layer = DiscussionLayer+'/'+plone_version 47 56 Layers.append(discussion_layer) 57 out.write('Call setupSkin... \n') 58 setupSkin(self, out, Layers) 48 59 49 60 # Add Configlet. Delete old version before adding, if exist one. … … 53 64 action='string:${portal_url}/%s' % CONFIGLET_ID, 54 65 appId=PRODUCT_NAME, permission=ManagePortal, imageUrl='group.gif') 55 56 out.write('Call setupSkin... \n')57 setupSkin(self, out, Layers)58 59 66 60 67 def setupSkin(self, out, layers): … … 91 98 skinstool.addSkinSelection(skinName, ','.join(pth)) 92 99 100 # Remove configlet 101 controlpanel_tool = getToolByName(self, 'portal_controlpanel') 102 controlpanel_tool.unregisterConfiglet(CONFIGLET_ID) 103 # Remove Product's property sheet from portal_properties 104 pp = getToolByName(self, 'portal_properties') 105 if 'qPloneCaptchas' in pp.objectIds(): 106 pp.manage_delObjects(ids=['qPloneCaptchas',]) 107 108 109 def updateProperties(pp_ps, out, *args): 110 for prop in args: 111 for prop_id, prop_value, prop_type in prop: 112 if not pp_ps.hasProperty(prop_id): 113 pp_ps.manage_addProperty(prop_id, prop_value, prop_type) 114 out.write("Adding %s property to %s property sheet\n" % (prop_id, 'qPloneComments')) 115 93 116 def generateKey(length): 94 117 key = '' qPloneCaptchas/trunk/config.py
r655 r656 12 12 CONFIGLET_ID = "prefs_captchas_setup_form" 13 13 CONFIGLET_NAME = "qPloneCaptchas setup" 14 PROPERTIES = (('static_captchas', 'True', 'boolean'),) 14 15 15 16 try: … … 18 19 except: 19 20 havePIL = False 20 21 static_captchas = FalseqPloneCaptchas/trunk/skins/plone_captchas/prefs_captchas_setup.cpy.metadata
r655 r656 1 [validators] 2 validators= 3 4 [actions] 5 action.success=redirect_to:string:prefs_captchas_setup_form 6 action.failure=traverse_to:string:prefs_captchas_setup_form qPloneCaptchas/trunk/skins/plone_captchas/prefs_captchas_setup_form.cpt
r655 r656 1 <html xmlns="http://www.w3.org/1999/xhtml" 2 xml:lang="en" 3 lang="en" 4 i18n:domain="plonecaptchas" 5 metal:use-macro="here/prefs_main_template/macros/master"> 6 7 <body> 8 9 <div metal:fill-slot="prefs_configlet_main" 10 tal:define="errors python:request.get('controller_state', None).getErrors();"> 11 12 <div metal:define-macro="main" i18n:domain="plonecaptchas"> 13 <div class="configlet"> 14 <div class="documentEditable"> 15 16 <div class="contentActions"> 17 18 </div> 19 <div class="documentContent" metal:define-slot="prefs_content"> 20 <h1 i18n:translate="heading_comments_setup">Plone Captchas Setup</h1> 21 22 <a href="" 23 class="link-parent" 24 tal:attributes="href string: $portal_url/plone_control_panel" 25 i18n:translate="label_up_to_plone_setup" 26 i18n:domain="plone"> 27 Up to Plone Setup 28 </a> 29 30 <form name="edit_form" 31 action="href" 32 method="post" 33 enctype="multipart/form-data" 34 tal:attributes="action string:${here/getId}/${template/getId}"> 35 36 <fieldset> 37 <legend i18n:translate="legend_setup_options">qPloneCaptchas setup options</legend> 38 <div 39 tal:define=""> 40 </div> 41 </fieldset> 42 43 <div class="formControls"> 44 <input type="hidden" name="form.submitted" value="1" /> 45 <input class="context" 46 tabindex="" 47 type="submit" 48 name="form.button.form_submit" 49 value="Save" 50 i18n:attributes="value" 51 tal:attributes="tabindex tabindex/next;"/> 52 </div> 53 </form> 54 </div> 55 </div> 56 </div> 57 </div> 58 </div> 59 </body> 60 </html> qPloneCaptchas/trunk/skins/plone_captchas/prefs_captchas_setup_form.cpt.metadata
r655 r656 1 [default] 2 title=qPloneCaptchas setup 3 4 [security] 5 View=1:Authenticated 6 7 [actions] 8 action.success..form_submit=traverse_to:string:prefs_captchas_setup 9 action.success=traverse_to:string:prefs_captchas_setup_form 10 action.failure=traverse_to:string:prefs_captchas_setup_form
