Opened 18 years ago

Last modified 18 years ago

#728 closed enhancement

PATCH: Add aditional user info into the admin page — at Initial Version

Reported by: Pedro Algarvio, aka, s0undt3ch Owned by: Matt Good
Priority: normal Component: AccountManagerPlugin
Severity: normal Keywords:
Cc: Trac Release: 0.10

Description

Here's a patch that adds aditional info to the admin page of the account manager plugin:

  • acct_mgr/admin.py

     
    99#
    1010# Author: Matthew Good <trac@matt-good.net>
    1111
     12from datetime import date
     13
    1214from trac.core import *
    1315from trac.perm import PermissionSystem
    1416from trac.util import sorted
     
    4345                for account in sel:
    4446                    self.account_manager.delete_user(account)
    4547
    46         req.hdf['accounts'] = sorted(self.account_manager.get_users())
     48        accounts = sorted(self.account_manager.get_users())
     49        db = self.env.get_db_cnx()
     50        cursor = db.cursor()
     51        hdf_accounts = []
     52        for account in accounts:
     53            QUERY = "SELECT name,value FROM session_attribute WHERE sid=%s AND authenticated=%s"
     54            cursor.execute(QUERY, (account,1))
     55            attrs = cursor.fetchall()
     56            acc_dict = dict(attrs)
     57            acc_dict['username'] = account
     58            QUERY = "SELECT last_visit FROM session WHERE sid=%s AND authenticated=%s"
     59            cursor.execute(QUERY, (account,1))
     60            acc_dict['last_visit'] = date.fromtimestamp(cursor.fetchone()[0])
     61            hdf_accounts.append(acc_dict)
     62
     63
     64        decorated = [(dict_['username'], dict_) for dict_ in hdf_accounts]
     65        decorated.sort()
     66        sorted_accounts = [dict_ for (key, dict_) in decorated]
     67        req.hdf['accounts'] = sorted_accounts
    4768
    4869        return 'admin_accounts.cs', None
    49 
     70
  • acct_mgr/templates/admin_accounts.cs

     
    3232<form method="post">
    3333 <table class="listing" id="accountlist">
    3434  <thead>
    35    <tr><th class="sel">&nbsp;</th><th>Account</th></tr>
     35   <tr><th class="sel">&nbsp;</th><th>Account</th><th>Name</th><th>Email</th><th>Last Login</th></tr>
    3636  </thead><tbody><?cs
    3737  each:account = accounts ?>
    3838   <tr>
    39     <td><input type="checkbox" name="sel" value="<?cs var:account ?>" /></td>
    40     <td><?cs var:account ?></td>
     39    <td><input type="checkbox" name="sel" value="<?cs var:account.username ?>" /></td>
     40    <td><?cs var:account.username ?></td>
     41    <td><?cs var:account.name ?></td>
     42    <td><?cs var:account.email ?></td>
     43    <td><?cs var:account.last_visit ?></td>
    4144   </tr><?cs
    4245  /each ?></tbody>
    4346 </table>

Change History (1)

Changed 18 years ago by Pedro Algarvio, aka, s0undt3ch

Attachment: aditional_info.png added
Note: See TracTickets for help on using tickets.