Ticket #3153: verify_email_option.patch
| File verify_email_option.patch, 3.2 kB (added by coderanger, 7 months ago) |
|---|
-
acct_mgr/admin.py
old new 59 59 self.config.save() 60 60 self.config.set('account-manager', 'force_passwd_change', 61 61 req.args.get('force_passwd_change')) 62 self.config.set('account-manager', 'verify_email', 63 ('verify_email' in req.args and 'true' or 'false')) 62 64 self.config.save() 63 65 64 66 … … 81 83 ] 82 84 sections = sorted(sections, key=lambda i: i['name']) 83 85 data = {'sections': sections, 84 'force_passwd_change': self.account_manager.force_passwd_change} 86 'force_passwd_change': self.account_manager.force_passwd_change, 87 'verify_email': self.config.getbool('account-manager', 'verify_email')} 85 88 return 'admin_accountsconfig.html', data 86 89 87 90 def _do_users(self, req): -
acct_mgr/web_ui.py
old new 505 505 class EmailVerificationModule(Component): 506 506 implements(IRequestFilter, IRequestHandler) 507 507 508 enable = BoolOption('account-manager', 'verify_email', default=False, 509 doc='Verify the email address of Trac users.') 510 508 511 # IRequestFilter methods 509 510 512 def pre_process_request(self, req, handler): 511 if handler is not self and 'email_verification_token' in req.session: 513 if self.enable and handler is not self and \ 514 'email_verification_token' in req.session and \ 515 'TRAC_ADMIN' not in req.perm: 512 516 chrome.add_warning(req, MessageWrapper(tag.span( 513 517 'Your permissions have been limited until you ', 514 518 tag.a(href=req.href.verify_email())( … … 517 521 return handler 518 522 519 523 def post_process_request(self, req, template, data, content_type): 520 if req.session.get('email') != req.session.get('email_verification_sent_to'): 524 if self.enable and 'TRAC_ADMIN' not in req.perm and \ 525 req.session.get('email') != req.session.get('email_verification_sent_to'): 521 526 req.session['email_verification_token'] = self._gen_token() 522 527 req.session['email_verification_sent_to'] = req.session.get('email') 523 528 self._send_email(req) -
acct_mgr/templates/admin_accountsconfig.html
old new 39 39 <input type="radio" name="force_passwd_change" value="false" 40 40 checked="${not force_passwd_change and 'checked' or None}">No</input> 41 41 </fieldset> 42 <fieldset> 43 <legend>Verify email</legend> 44 <label for="verify_email"> 45 Force users to verify their email addresses? 46 </label> 47 <input type="checkbox" name="verify_email" value="1" checked="$verify_email" /> 48 </fieldset> 42 49 <div class="buttons"> 43 50 <input type="submit" name="save" value="Save" /> 44 51 </div>
