[Checkins] SVN: Products.CMFDefault/trunk/Products/CMFDefault/browser/membership/ - some stylistic changes
Yvo Schubbe
y.2011 at wcm-solutions.de
Fri Jul 22 04:51:18 EDT 2011
Log message for revision 122314:
- some stylistic changes
Changed:
U Products.CMFDefault/trunk/Products/CMFDefault/browser/membership/configure.zcml
U Products.CMFDefault/trunk/Products/CMFDefault/browser/membership/join.py
U Products.CMFDefault/trunk/Products/CMFDefault/browser/membership/tests/test_join.py
-=-
Modified: Products.CMFDefault/trunk/Products/CMFDefault/browser/membership/configure.zcml
===================================================================
--- Products.CMFDefault/trunk/Products/CMFDefault/browser/membership/configure.zcml 2011-07-22 08:49:53 UTC (rev 122313)
+++ Products.CMFDefault/trunk/Products/CMFDefault/browser/membership/configure.zcml 2011-07-22 08:51:18 UTC (rev 122314)
@@ -46,7 +46,7 @@
for="Products.CMFCore.interfaces.ISiteRoot"
layer="Products.CMFDefault.interfaces.ICMFDefaultSkin"
name="join.html"
- class=".join.Join"
+ class=".join.JoinFormView"
permission="zope.Public"
/>
Modified: Products.CMFDefault/trunk/Products/CMFDefault/browser/membership/join.py
===================================================================
--- Products.CMFDefault/trunk/Products/CMFDefault/browser/membership/join.py 2011-07-22 08:49:53 UTC (rev 122313)
+++ Products.CMFDefault/trunk/Products/CMFDefault/browser/membership/join.py 2011-07-22 08:51:18 UTC (rev 122314)
@@ -14,6 +14,7 @@
"""
from Products.Five.browser.pagetemplatefile import ViewPageTemplateFile
+from zope.component import getUtility
from zope.formlib import form
from zope.interface import Interface
from zope.interface import Invalid
@@ -22,6 +23,8 @@
from zope.schema import Bool
from zope.schema import Password
+from Products.CMFCore.interfaces import IPropertiesTool
+from Products.CMFDefault.browser.utils import memoize
from Products.CMFDefault.formlib.form import EditFormBase
from Products.CMFDefault.formlib.schema import EmailLine
from Products.CMFDefault.permissions import ManageUsers
@@ -30,7 +33,8 @@
class IJoinSchema(Interface):
- """Zope generates password and sends it by email"""
+ """Schema for join form.
+ """
member_id = ASCIILine(
title=_(u"Member ID"))
@@ -58,7 +62,7 @@
u"Please try again."))
-class Join(EditFormBase):
+class JoinFormView(EditFormBase):
base_template = EditFormBase.template
template = ViewPageTemplateFile("join.pt")
@@ -69,7 +73,7 @@
form.Action(
name='register',
label=_(u'Register'),
- validator="validate_username",
+ validator='handle_register_validate',
success='handle_register_success',
failure='handle_failure'),
form.Action(
@@ -79,44 +83,51 @@
)
def __init__(self, context, request):
- super(Join, self).__init__(context, request)
- ptool = self._getTool("portal_properties")
- self.validate_email = ptool.getProperty('validate_email', None)
+ super(JoinFormView, self).__init__(context, request)
if self.validate_email:
self.form_fields = self.form_fields.select('member_id', 'email')
self.rtool = self._getTool('portal_registration')
self.mtool = self._getTool('portal_membership')
@property
+ @memoize
+ def validate_email(self):
+ ptool = getUtility(IPropertiesTool)
+ return ptool.getProperty('validate_email')
+
+ @property
+ @memoize
def isAnon(self):
return self.mtool.isAnonymousUser()
@property
+ @memoize
def isManager(self):
return self.mtool.checkPermission(ManageUsers, self.mtool)
@property
+ @memoize
def isOrdinaryMember(self):
return not (self.registered or self.isManager or self.isAnon)
@property
def title(self):
if self.isManager:
- return _(u"Register a New Member")
+ return _(u'Register a New Member')
else:
return _(u'Become a Member')
def setUpWidgets(self, ignore_request=False):
"""If email validation is in effect, users cannot select passwords"""
- super(Join, self).setUpWidgets(ignore_request)
+ super(JoinFormView, self).setUpWidgets(ignore_request)
def personalize(self):
atool = self._getTool('portal_actions')
return atool.getActionInfo("user/preferences")['url']
- def validate_username(self, action, data):
+ def handle_register_validate(self, action, data):
"""Avoid duplicate registration"""
- errors = super(Join, self).validate(action, data)
+ errors = self.validate(action, data)
member = self.mtool.getMemberById(data.get('member_id', None))
if member is not None:
errors.append(_(u"The login name you selected is already in use "
Modified: Products.CMFDefault/trunk/Products/CMFDefault/browser/membership/tests/test_join.py
===================================================================
--- Products.CMFDefault/trunk/Products/CMFDefault/browser/membership/tests/test_join.py 2011-07-22 08:49:53 UTC (rev 122313)
+++ Products.CMFDefault/trunk/Products/CMFDefault/browser/membership/tests/test_join.py 2011-07-22 08:51:18 UTC (rev 122314)
@@ -18,11 +18,11 @@
from zope.component.testing import PlacelessSetup
from Products.CMFDefault.browser.skins.tests.test_ursa import (
- DummyRequest, DummySite, DummyContext,
+ DummyRequest, DummyContext,
DummyPropertiesTool, DummyURLTool, DummyActionsTool
)
-class JoinFormTests(unittest.TestCase, PlacelessSetup):
+class JoinFormViewTests(unittest.TestCase, PlacelessSetup):
def setUp(self):
PlacelessSetup.setUp(self)
@@ -31,9 +31,10 @@
PlacelessSetup.tearDown(self)
def _getTargetClass(self):
- from Products.CMFDefault.browser.membership.join import Join
- return Join
+ from Products.CMFDefault.browser.membership.join import JoinFormView
+ return JoinFormView
+
def _makeOne(self, site=None):
if site is None:
site = self._makeSite()
More information about the checkins
mailing list