Changeset 3453 in products


Ignore:
Timestamp:
Apr 26, 2012 10:13:56 AM (12 years ago)
Author:
vmaksymiv
Message:

switch captcha provider adapter to named utility

Location:
quintagroup.plonecaptchas/branches/captcha_provider/quintagroup/plonecaptchas
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • quintagroup.plonecaptchas/branches/captcha_provider/quintagroup/plonecaptchas/captcha.py

    r3445 r3453  
    66from quintagroup.plonecaptchas.interfaces import ICaptchaProvider 
    77from zope.interface import Interface 
    8 from zope.component import adapts, getAdapters, queryAdapter 
     8from zope.component import adapts, getUtilitiesFor, queryUtility 
    99from plone.app.discussion.browser.comments import CommentForm 
    1010 
     
    1212class CaptchaProvider(object): 
    1313 
    14     def __init__(self, context): 
     14    def __init__(self): 
    1515        self.widget_factory = CaptchaWidgetFactory 
    1616 
     
    2121    def update(self): 
    2222        super(CaptchaExtender, self).update() 
    23         providers = getAdapters((self.context,), ICaptchaProvider) 
    24         if self.captcha in (n for n, a in providers) and self.isAnon: 
    25             captcha_provider = queryAdapter((self.context,), name=self.captcha) 
     23        if self.isAnon: 
     24            captcha_provider = queryUtility(ICaptchaProvider, name=self.captcha) 
    2625            if captcha_provider: 
    2726                self.form.fields['captcha'].widgetFactory = \ 
     
    3332    """ Extend captcha vocabulary with quintagroup.plonecaptchas""" 
    3433    terms = vocabularies.captcha_vocabulary(context)._terms 
    35     captchas = [t.value for t in terms] 
     34    captchas = set((t.value for t in terms)) 
    3635 
    37     adapters = getAdapters((context,), ICaptchaProvider) 
    38     for name, adapter in adapters: 
     36    providers = getUtilitiesFor(ICaptchaProvider) 
     37    for name, util in providers: 
    3938        if name and name not in captchas: 
    40             terms.append(SimpleTerm(value=name.lower(), 
    41                                     token=name.lower(), 
    42                                     title=name[0].upper() + name[1:])) 
     39            terms.append(SimpleTerm(value=name, 
     40                                    token=name, 
     41                                    title=name.capitalize())) 
    4342    return SimpleVocabulary(terms) 
  • quintagroup.plonecaptchas/branches/captcha_provider/quintagroup/plonecaptchas/configure.zcml

    r3439 r3453  
    2727    <configure zcml:condition="installed plone.app.discussion"> 
    2828 
    29         <adapter 
     29        <utility 
    3030            factory=".captcha.CaptchaProvider" 
    31             for="zope.component.Interface" 
    3231            provides="quintagroup.plonecaptchas.interfaces.ICaptchaProvider" 
    3332            name="plonecaptchas" 
Note: See TracChangeset for help on using the changeset viewer.