Changeset 3270 in products


Ignore:
Timestamp:
Sep 5, 2011 6:23:32 PM (13 years ago)
Author:
vmaksymiv
Message:

compatibility with plone.app.discussion added

Location:
quintagroup.plonecaptchas/trunk
Files:
3 added
11 edited

Legend:

Unmodified
Added
Removed
  • quintagroup.plonecaptchas/trunk/docs/HISTORY.txt

    r2513 r3270  
    11Changelog 
    22========= 
     3 
     44.1 (unreleased) 
     5 
     6* compatibility with plone.app.discussion added 
    37 
    484.0 - June 9, 2010 
  • quintagroup.plonecaptchas/trunk/quintagroup/plonecaptchas/Extensions/Install.py

    r3160 r3270  
    22from Products.CMFCore.utils import getToolByName 
    33REQUIRED = 'quintagroup.captcha.core' 
     4from quintagroup.plonecaptchas.config import HAS_APP_DISCUSSION 
     5from quintagroup.plonecaptchas.setuphandlers import registerDiscussionLayer 
    46 
    57 
     
    1618    profile = 'profile-quintagroup.plonecaptchas:default' 
    1719    gs.runAllImportStepsFromProfile(profile) 
     20    if HAS_APP_DISCUSSION: 
     21        # register browser layer 
     22        registerDiscussionLayer(self) 
    1823    transaction.savepoint() 
    1924 
  • quintagroup.plonecaptchas/trunk/quintagroup/plonecaptchas/browser/configure.zcml

    r2503 r3270  
    44    xmlns:five="http://namespaces.zope.org/five" 
    55    i18n_domain="plone"> 
     6 
     7    <include package="Products.CMFCore" file="permissions.zcml" /> 
    68 
    79    <!-- Join form definition --> 
  • quintagroup.plonecaptchas/trunk/quintagroup/plonecaptchas/config.py

    r2041 r3270  
    11GLOBALS = globals() 
    22PRODUCT_NAME = 'quintagroup.plonecaptchas' 
     3CAPTCHA_NAME = 'plonecaptchas' 
     4 
     5HAS_APP_DISCUSSION = True 
     6try: 
     7    import plone.app.discussion 
     8except ImportError: 
     9    HAS_APP_DISCUSSION = False 
    310 
    411#TOOL_ICON = 'tool.gif' 
  • quintagroup.plonecaptchas/trunk/quintagroup/plonecaptchas/configure.zcml

    r2505 r3270  
    55    xmlns:cmf="http://namespaces.zope.org/cmf" 
    66    xmlns:gs="http://namespaces.zope.org/genericsetup" 
     7    xmlns:zcml="http://namespaces.zope.org/zcml" 
    78    i18n_domain="quintagroup.plonecaptchas"> 
    89 
     
    1011    <include package="quintagroup.captcha.core" /> 
    1112    <!-- can't included quintagroup.formlib.captcha 
    12          because of ConfigurationConflictError. -->  
     13        because of ConfigurationConflictError. --> 
    1314 
    1415    <five:registerPackage package="." initialize=".initialize" /> 
     
    1718    <include package=".browser" /> 
    1819 
     20    <include file="meta.zcml"/> 
     21 
    1922    <!-- File System Directory Views registration --> 
    2023    <cmf:registerDirectory name="captchas_discussion" /> 
    2124    <cmf:registerDirectory name="captchas_sendto_form" /> 
    2225    <cmf:registerDirectory name="captchas_contact_info" /> 
     26 
     27    <configure zcml:condition="installed plone.app.discussion"> 
     28 
     29        <adapter 
     30            factory=".validate.QGDiscussionCaptchaValidator" 
     31            provides="z3c.form.interfaces.IValidator" 
     32            /> 
     33    </configure> 
    2334 
    2435    <gs:registerProfile 
  • quintagroup.plonecaptchas/trunk/quintagroup/plonecaptchas/interfaces.py

    r3160 r3270  
    11from plone.theme.interfaces import IDefaultPloneLayer 
     2from quintagroup.plonecaptchas.config import HAS_APP_DISCUSSION 
     3 
     4if HAS_APP_DISCUSSION: 
     5    from zope.publisher.interfaces.browser import IDefaultBrowserLayer 
     6 
     7    class IQGDiscussionCaptchas(IDefaultBrowserLayer): 
     8        """quintagroup.plonecaptchas browser layer interface for plone.app.discussion""" 
    29 
    310 
  • quintagroup.plonecaptchas/trunk/quintagroup/plonecaptchas/profiles/default/metadata.xml

    r2499 r3270  
    11<?xml version="1.0"?> 
    22<metadata> 
    3   <version>4.0</version> 
     3  <version>4.1</version> 
    44  <dependencies> 
    55    <dependency>profile-quintagroup.captcha.core:default</dependency> 
  • quintagroup.plonecaptchas/trunk/quintagroup/plonecaptchas/setuphandlers.py

    r3160 r3270  
    55 
    66 
    7 def removeBrowserLayer(site): 
    8     """ Remove browser layer. 
     7def registerDiscussionLayer(context): 
     8    """ Register browser layer for extending discussion 
     9        with quintagroup captcha  
     10    """ 
     11    from quintagroup.plonecaptchas.interfaces import IQGDiscussionCaptchas 
     12    from plone.browserlayer.utils import register_layer 
     13    name = "QGCaptchaDiscussionLayer" 
     14    site = getSiteManager(context) 
     15    register_layer(IQGDiscussionCaptchas, name, site_manager=site) 
     16 
     17 
     18def removeBrowserLayers(site): 
     19    """ Remove browser layers. 
    920    """ 
    1021    from plone.browserlayer.utils import unregister_layer 
    1122    from plone.browserlayer.interfaces import ILocalBrowserLayerType 
    1223 
    13     name = "quintagroup.plonecaptchas" 
     24    layers = ["quintagroup.plonecaptchas", "QGCapchaDiscussionLayer"] 
    1425    site = getSiteManager(site) 
    1526    registeredLayers = [r.name for r in site.registeredUtilities() 
    1627                        if r.provided == ILocalBrowserLayerType] 
    17     if name in registeredLayers: 
    18         unregister_layer(name, site_manager=site) 
    19         logger.log(logging.INFO, "Unregistered \"%s\" browser layer." % name) 
     28    for name in layers: 
     29        if name in registeredLayers: 
     30            unregister_layer(name, site_manager=site) 
     31            logger.log(logging.INFO, "Unregistered \"%s\" browser layer." % name) 
    2032 
    2133 
     
    2638        return 
    2739    site = context.getSite() 
    28     removeBrowserLayer(site) 
     40    removeBrowserLayers(site) 
  • quintagroup.plonecaptchas/trunk/quintagroup/plonecaptchas/tests/base.py

    r3160 r3270  
    4141        zcml.load_config('configure.zcml', quintagroup.plonecaptchas) 
    4242        fiveconfigure.debug_mode = False 
     43        ztc.installPackage('quintagroup.captcha.core') 
    4344        ztc.installPackage('quintagroup.plonecaptchas') 
    44         ztc.installPackage('quintagroup.captcha.core') 
    4545 
    4646 
  • quintagroup.plonecaptchas/trunk/quintagroup/plonecaptchas/tests/testForms.py

    r3160 r3270  
    11import unittest 
     2import doctest 
    23import re 
    34from urllib import urlencode 
     
    78from Products.PloneTestCase.PloneTestCase import default_password 
    89 
    9 from quintagroup.plonecaptchas.tests.base import FunctionalTestCase 
    10 from quintagroup.plonecaptchas.config import PRODUCT_NAME 
     10from quintagroup.plonecaptchas.tests.base import FunctionalTestCase, ztc 
     11from quintagroup.plonecaptchas.config import PRODUCT_NAME, HAS_APP_DISCUSSION 
    1112 
    1213from quintagroup.captcha.core.tests.testWidget import IMAGE_PATT, NOT_VALID 
     
    217218def test_suite(): 
    218219    suite = unittest.TestSuite() 
    219     suite.addTest(unittest.makeSuite(TestDiscussionForm)) 
     220    if HAS_APP_DISCUSSION: 
     221        suite.addTest(unittest.TestSuite([ 
     222            ztc.FunctionalDocFileSuite( 
     223                'discussion.txt', package='quintagroup.plonecaptchas.tests', 
     224                test_class=FunctionalTestCase, globs=globals(), 
     225                optionflags=doctest.REPORT_ONLY_FIRST_FAILURE | 
     226                    doctest.NORMALIZE_WHITESPACE | doctest.ELLIPSIS), 
     227            ])) 
     228 
     229    else: 
     230        suite.addTest(unittest.makeSuite(TestDiscussionForm)) 
    220231    suite.addTest(unittest.makeSuite(TestRegisterForm)) 
    221232    suite.addTest(unittest.makeSuite(TestSendtoForm)) 
  • quintagroup.plonecaptchas/trunk/setup.py

    r3160 r3270  
    22import os 
    33 
    4 version = '4.0' 
     4version = '4.1' 
    55 
    66setup(name='quintagroup.plonecaptchas', 
     
    3030          'quintagroup.captcha.core>=0.2', 
    3131          'quintagroup.formlib.captcha', 
     32          'quintagroup.z3cform.captcha', 
    3233          # -*- Extra requirements: -*- 
    3334      ], 
Note: See TracChangeset for help on using the changeset viewer.