Mercurial > kallithea
changeset 62:4df4c0eac619
Updated admin to show last 5 actions + updated db model
author | Marcin Kuzminski <marcin@python-blog.com> |
---|---|
date | Sat, 10 Apr 2010 16:42:08 +0200 |
parents | 1b6d7662d6e2 |
children | 3cf0603cd4f5 |
files | pylons_app/controllers/admin.py pylons_app/model/db.py pylons_app/templates/admin.html |
diffstat | 3 files changed, 31 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- a/pylons_app/controllers/admin.py Sat Apr 10 16:29:25 2010 +0200 +++ b/pylons_app/controllers/admin.py Sat Apr 10 16:42:08 2010 +0200 @@ -12,7 +12,8 @@ from pylons_app.model.forms import LoginForm import formencode import formencode.htmlfill as htmlfill -from pylons_app.lib.auth import authenticate +from pylons_app.model import meta +from pylons_app.model.db import Users, UserLogs log = logging.getLogger(__name__) class AdminController(BaseController): @@ -50,6 +51,9 @@ defaults=c.form_result, encoding="UTF-8" ) + if c.admin_user: + sa = meta.Session + c.users_log = sa.query(UserLogs).limit(10).all() return render('/admin.html') def hgrc(self, dirname):
--- a/pylons_app/model/db.py Sat Apr 10 16:29:25 2010 +0200 +++ b/pylons_app/model/db.py Sat Apr 10 16:42:08 2010 +0200 @@ -21,6 +21,7 @@ __table_args__ = {'useexisting':True} id = Column("id", SLInteger(), nullable=False, unique=True, default=None, primary_key=1) user_id = Column("user_id", SLInteger(), ForeignKey(u'users.user_id'), nullable=True, unique=None, default=None) - last_action = Column("last_action", SLText(length=None, convert_unicode=False, assert_unicode=None), nullable=True, unique=None, default=None) - last_action_date = Column("last_action_date", SLDateTime(timezone=False), nullable=True, unique=None, default=None) + repository = Column("repository", SLText(length=None, convert_unicode=False, assert_unicode=None), nullable=True, unique=None, default=None) + action = Column("action", SLText(length=None, convert_unicode=False, assert_unicode=None), nullable=True, unique=None, default=None) + action_date = Column("action_date", SLDateTime(timezone=False), nullable=True, unique=None, default=None) user = relation('Users')
--- a/pylons_app/templates/admin.html Sat Apr 10 16:29:25 2010 +0200 +++ b/pylons_app/templates/admin.html Sat Apr 10 16:42:08 2010 +0200 @@ -33,8 +33,29 @@ </ul> <br/> <div> - - <h2>Hi !</h2> + <h2>Welcome ${c.admin_username}</h2> + <div>Last 5 user actions</div> + %if c.users_log: + <table> + <tr> + <td>${_('Username')}</td> + <td>${_('Repository')}</td> + <td>${_('Action')}</td> + <td>${_('Date')}</td> + </tr> + %for cnt,l in enumerate(c.users_log): + <tr class="parity${cnt%2}"> + <td>${l.user.username}</td> + <td>${l.repository}</td> + <td>${l.action}</td> + <td>${l.action_date}</td> + </tr> + %endfor + </table> + %else: + ${_('No actions yet')} + %endif + </div> %else: <div>