Changeset 656

Show
Ignore:
Timestamp:
11/24/06 09:04:54
Author:
crchemist
Message:

Added qPloneCaptchas properties in portal_properties.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • qPloneCaptchas/trunk/Extensions/Install.py

    r655 r656  
    1414    out=StringIO() 
    1515    portal = getToolByName(self, 'portal_url').getPortalObject() 
     16    # add captchas_tool 
    1617    if not hasattr(portal, TOOL_ID): 
    1718        constructTransientObjectContainer(portal, id=TOOL_ID, timeout_mins=60) 
     
    1920    safeEditProperty(self, 'captcha_key', generateKey(8)) 
    2021 
     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 
    2130    Layers = [] 
    2231    Layers += LAYERS 
    2332 
    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: 
    2536        Layers.append(LAYER_STATIC_CAPTCHAS) 
    26     else: 
    27         Layers.append(LAYER_DYNAMIC_CAPTCHAS) 
    2837 
    29     qi = getToolByName(self, 'portal_quickinstaller') 
    3038    mtool = getToolByName(self, 'portal_migration') 
    3139    plone_version = mtool.getFileSystemVersion() 
     
    4149 
    4250    DiscussionLayer = LAYER_DISCUSSION 
     51    qi = getToolByName(self, 'portal_quickinstaller') 
    4352    if qi.isProductInstalled('PloneFormMailer'): 
    4453        formmailer_layer = LAYER_FORMMAILER+'/'+plone_version 
     
    4655    discussion_layer = DiscussionLayer+'/'+plone_version 
    4756    Layers.append(discussion_layer) 
     57    out.write('Call setupSkin... \n') 
     58    setupSkin(self, out, Layers) 
    4859 
    4960    # Add Configlet. Delete old version before adding, if exist one. 
     
    5364                                        action='string:${portal_url}/%s' % CONFIGLET_ID, 
    5465                                        appId=PRODUCT_NAME, permission=ManagePortal, imageUrl='group.gif') 
    55  
    56     out.write('Call setupSkin... \n') 
    57     setupSkin(self, out, Layers) 
    58  
    5966 
    6067def setupSkin(self, out, layers): 
     
    9198        skinstool.addSkinSelection(skinName, ','.join(pth)) 
    9299 
     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 
     109def 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 
    93116def generateKey(length): 
    94117    key = '' 
  • qPloneCaptchas/trunk/config.py

    r655 r656  
    1212CONFIGLET_ID = "prefs_captchas_setup_form" 
    1313CONFIGLET_NAME = "qPloneCaptchas setup" 
     14PROPERTIES = (('static_captchas', 'True', 'boolean'),) 
    1415 
    1516try: 
     
    1819except: 
    1920    havePIL = False 
    20  
    21 static_captchas = False 
  • qPloneCaptchas/trunk/skins/plone_captchas/prefs_captchas_setup.cpy.metadata

    r655 r656  
     1[validators] 
     2validators= 
     3 
     4[actions] 
     5action.success=redirect_to:string:prefs_captchas_setup_form 
     6action.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    &nbsp; 
     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] 
     2title=qPloneCaptchas setup 
     3 
     4[security] 
     5View=1:Authenticated 
     6 
     7[actions] 
     8action.success..form_submit=traverse_to:string:prefs_captchas_setup 
     9action.success=traverse_to:string:prefs_captchas_setup_form 
     10action.failure=traverse_to:string:prefs_captchas_setup_form