diff --git a/www-apps/trac-acct_mgr/Manifest b/www-apps/trac-acct_mgr/Manifest index 40feccd5..7c968a43 100644 --- a/www-apps/trac-acct_mgr/Manifest +++ b/www-apps/trac-acct_mgr/Manifest @@ -1,5 +1,5 @@ -AUX RegistrationConfirmationPatch.diff 4067 RMD160 c32d63d9ef9c533c306d7b6c76bc4cf6424bc715 SHA1 39b13622b3a58c9800c1cf89e8aad24e4f8fed96 SHA256 c328b0f23a2baf8314e201be1c42aca2c2267c10d56a7ca71a63250a44af690f +AUX RegistrationConfirmationPatch.diff 4570 RMD160 e844d2b40e2bf3ca05777f836d346a881d661bdb SHA1 dbf528abc61c510df84ad8a67d2ba657f3dda3ca SHA256 2c4499175037fd06a5e7661a5d61ef97a178b720e5cfe5973d711095b6604088 EBUILD trac-acct_mgr-0.1.3.ebuild 1214 RMD160 08c61116b34731a9204414a8801df2ed49327e61 SHA1 366ed27ec819f45a352573b3029ad79d84ece486 SHA256 dbcaa0bbb198ee2c4bb8d354dce62faabe36c823bfda827daf16fb87ec2c9b2c -EBUILD trac-acct_mgr-0.2.1.ebuild 1452 RMD160 68f332836dd6f90301280babd27349a34b929f1c SHA1 7dfea05925fd88cf661a866281dcb05575c41afa SHA256 a9bfbde6a13df29c28af2eb09dcc2b528ef4281380951e9dd5a191535edc1f8f +EBUILD trac-acct_mgr-0.2.1.ebuild 1453 RMD160 a996c376aaa7348acb3c1f7dbac1e87012b05833 SHA1 dacf2114cbce0ba292ddadea6bc1e422ac166b6a SHA256 f2e7c1141d3b62cfe5a507b924d841ff4fc75ec50c20fdd4398c33302c860c35 MISC ChangeLog 792 RMD160 789c44d0277047faf0131f7e7d6bc450e6d08eeb SHA1 4de822506b6f0e779bec655c9d4ebe830e014a5d SHA256 e8b0a9b2dd0060c63ada86c20d275b213b49b283d0e3d71ab0b44cdd3e8e097b MISC metadata.xml 170 RMD160 645927a396fdc21cdeb089fe42c5397332420ea6 SHA1 ac7f48a14fec325926f9ce1be8fbf1f311b4f2e4 SHA256 d797a2ec6f9dc516c9f9c1a758ee87ad3e8c43101b5dc76c2f872d5bd4639b42 diff --git a/www-apps/trac-acct_mgr/files/RegistrationConfirmationPatch.diff b/www-apps/trac-acct_mgr/files/RegistrationConfirmationPatch.diff index 3e68263b..bd1bf3bf 100644 --- a/www-apps/trac-acct_mgr/files/RegistrationConfirmationPatch.diff +++ b/www-apps/trac-acct_mgr/files/RegistrationConfirmationPatch.diff @@ -8,8 +8,8 @@ IRegistrationConfirmation extension point that enables pluggable verifications for new user registration. diff -Naur trac-acct_mgr-0.2.1.orig/acct_mgr/api.py trac-acct_mgr-0.2.1/acct_mgr/api.py ---- trac-acct_mgr-0.2.1.orig/acct_mgr/api.py 2009-03-15 06:40:44.875670135 +0000 -+++ trac-acct_mgr-0.2.1/acct_mgr/api.py 2009-03-15 06:41:38.225188601 +0000 +--- trac-acct_mgr-0.2.1.orig/acct_mgr/api.py 2009-03-15 07:26:49.412311159 +0000 ++++ trac-acct_mgr-0.2.1/acct_mgr/api.py 2009-03-15 07:27:13.305249903 +0000 @@ -77,6 +77,19 @@ """User deleted """ @@ -31,24 +31,41 @@ diff -Naur trac-acct_mgr-0.2.1.orig/acct_mgr/api.py trac-acct_mgr-0.2.1/acct_mgr """The AccountManager component handles all user account management methods provided by the IPasswordStore interface. diff -Naur trac-acct_mgr-0.2.1.orig/acct_mgr/templates/register.html trac-acct_mgr-0.2.1/acct_mgr/templates/register.html ---- trac-acct_mgr-0.2.1.orig/acct_mgr/templates/register.html 2009-03-15 06:40:44.873359012 +0000 -+++ trac-acct_mgr-0.2.1/acct_mgr/templates/register.html 2009-03-15 06:41:38.227503636 +0000 +--- trac-acct_mgr-0.2.1.orig/acct_mgr/templates/register.html 2009-03-15 07:26:49.368327943 +0000 ++++ trac-acct_mgr-0.2.1/acct_mgr/templates/register.html 2009-03-15 07:27:13.305249903 +0000 @@ -43,6 +43,11 @@ class="textwidget" size="20" /> -+ -+
-+ ${Markup(extra_required_content)} -+
-+
++ ++
++ ${Markup(extra_required_content)} ++
++
Optional diff -Naur trac-acct_mgr-0.2.1.orig/acct_mgr/web_ui.py trac-acct_mgr-0.2.1/acct_mgr/web_ui.py ---- trac-acct_mgr-0.2.1.orig/acct_mgr/web_ui.py 2009-03-15 06:40:44.875670135 +0000 -+++ trac-acct_mgr-0.2.1/acct_mgr/web_ui.py 2009-03-15 06:59:06.581876742 +0000 -@@ -394,19 +394,28 @@ +--- trac-acct_mgr-0.2.1.orig/acct_mgr/web_ui.py 2009-03-15 07:26:49.412311159 +0000 ++++ trac-acct_mgr-0.2.1/acct_mgr/web_ui.py 2009-03-15 07:27:13.307559560 +0000 +@@ -27,6 +27,7 @@ + from genshi.builder import tag + + from api import AccountManager ++from api import IRegistrationConfirmation + from acct_mgr.util import urandom + + def _create_user(req, env, check_permissions=True): +@@ -351,6 +352,8 @@ + + implements(INavigationContributor, IRequestHandler, ITemplateProvider) + ++ listeners = ExtensionPoint(IRegistrationConfirmation) ++ + def __init__(self): + self._enable_check(log=True) + +@@ -394,19 +397,28 @@ 'name' : None, 'email' : None, }, @@ -63,42 +80,41 @@ diff -Naur trac-acct_mgr-0.2.1.orig/acct_mgr/web_ui.py trac-acct_mgr-0.2.1/acct_ - formdata = getattr(e, 'acctmgr', None) - if formdata: - data['acctmgr'] = formdata -- else: -- raise e -- else: -- req.redirect(req.href.login()) + for listener in self.listeners: + error = listener.verify_registration(req) + if error is not None: + break + data['registration_error'] = error + if error is None: -+ try: -+ _create_user(req, self.env) -+ except TracError, e: -+ data['registration_error'] = e.message -+ formdata = getattr(e, 'acctmgr', None) -+ if formdata: -+ data['acctmgr'] = formdata -+ else: -+ raise e -+ else: -+ req.redirect(req.href.login()) ++ try: ++ _create_user(req, self.env) ++ except TracError, e: ++ data['registration_error'] = e.message ++ formdata = getattr(e, 'acctmgr', None) ++ if formdata: ++ data['acctmgr'] = formdata ++ else: ++ raise e + else: +- raise e +- else: +- req.redirect(req.href.login()) ++ req.redirect(req.href.login()) + data['reset_password_enabled'] = \ (self.env.is_component_enabled(AccountModule) and NotificationSystem(self.env).smtp_enabled) -@@ -414,6 +423,14 @@ +@@ -414,6 +426,14 @@ return 'register.html', data, None -+ def _get_extra_content(self, req): -+ ret = "" -+ for listener in self.listeners: -+ response = listener.pre_registration(req) -+ if response is not None: -+ ret += response -+ return ret ++ def _get_extra_content(self, req): ++ ret = "" ++ for listener in self.listeners: ++ response = listener.pre_registration(req) ++ if response is not None: ++ ret += response ++ return ret + # ITemplateProvider