Ticket #1506: acctmgr-add-password-edit.patch
| File acctmgr-add-password-edit.patch, 4.2 kB (added by ian@ianduggan.net, 2 years ago) |
|---|
-
acct_mgr/admin.py
old new 45 45 if page == 'config': 46 46 return self._do_config(req) 47 47 elif page == 'users': 48 return self._do_users(req) 48 if path_info: 49 return self._do_user(req, cat, page, path_info) 50 else: 51 return self._do_users(req, cat, page) 49 52 50 53 def _do_config(self, req): 51 54 if req.method == 'POST': … … 78 81 req.hdf['sections'] = sections 79 82 return 'admin_accountsconfig.cs', None 80 83 81 def _do_users(self, req ):84 def _do_users(self, req, cat, page): 82 85 perm = PermissionSystem(self.env) 83 86 listing_enabled = self.account_manager.supports('get_users') 84 87 create_enabled = self.account_manager.supports('set_password') … … 117 120 if account: 118 121 account['name'] = name 119 122 account['email'] = email 123 account['href'] = self.env.href.admin(cat, page, username) 120 124 121 125 db = self.env.get_db_cnx() 122 126 cursor = db.cursor() … … 131 135 132 136 return 'admin_users.cs', None 133 137 138 def _do_user(self, req, cat, page, path_info): 139 user = path_info 140 if not self.account_manager.has_user(user): 141 req.redirect(self.env.href.admin(cat, page)) 142 return 143 144 success = False 145 if req.method == 'POST': 146 if req.method == 'POST': 147 if req.args.get('change'): 148 password = req.args.get('password1') 149 if len(password) == 0: 150 req.hdf['users.error'] = 'Password cannot be empty.' 151 elif password != req.args.get('password2'): 152 req.hdf['users.error'] = 'The passwords must match.' 153 else: 154 success = self.account_manager.set_password(user, password) 155 #elif req.args.get('delete'): 156 # success = self._do_delete(req, mgr, user) 157 else: 158 success = True 159 if success: 160 req.redirect(self.env.href.admin(cat, page)) 161 else: 162 req.hdf['admin.user'] = user 163 return 'admin_user.cs', None 164 134 165 # ITemplateProvider 135 166 136 167 def get_htdocs_dirs(self): -
acct_mgr/templates/admin_user.cs
old new 1 <h2>Change Password</h2> 2 3 <?cs if users.error ?> 4 <div class="system-message"> 5 <?cs var:users.error ?> 6 </div> 7 <?cs /if ?> 8 9 <form class="mod" id="usermod" method="post"> 10 <fieldset> 11 <legend>Change Password:</legend> 12 <div class="field"> 13 <label>Name: <?cs var:admin.user ?> </label> 14 </div> 15 <div class="field"> 16 <label>Password: <input type="password" name="password1" /></label> 17 </div> 18 <div class="field"> 19 <label>Confirm Password: 20 <input type="password" name="password2" /></label> 21 </div> 22 <div class="buttons"> 23 <input type="submit" name="change" value=" Change Password "/> 24 <!--input type="submit" name="delete" value=" Delete Account "/--> 25 <input type="submit" name="cancel" value=" Cancel "/> 26 </div> 27 </fieldset> 28 </form> -
acct_mgr/templates/admin_users.cs
old new 50 50 <?cs if:delete_enabled ?> 51 51 <td><input type="checkbox" name="sel" value="<?cs var:account.username ?>" /></td> 52 52 <?cs /if ?> 53 <td><?cs var:account.username ?></td> 54 <td><?cs var:account.name ?></td> 55 <td><?cs var:account.email ?></td> 56 <td><?cs var:account.last_visit ?></td> 53 <td> 54 <a href="<?cs var:account.href ?>"><?cs var:account.username ?></a> 55 </td> 56 <td> 57 <a href="<?cs var:account.href ?>"><?cs var:account.name ?></a> 58 </td> 59 <td> 60 <a href="<?cs var:account.href ?>"><?cs var:account.email ?></a> 61 </td> 62 <td> 63 <a href="<?cs var:account.href ?>"><?cs var:account.last_visit ?></a> 64 </td> 57 65 </tr><?cs 58 66 /each ?></tbody> 59 67 </table>
