Changeset - 4df4c0eac619
[Not reviewed]
default
0 3 0
Marcin Kuzminski - 16 years ago 2010-04-10 16:42:08
marcin@python-blog.com
Updated admin to show last 5 actions + updated db model
3 files changed with 31 insertions and 5 deletions:
0 comments (0 inline, 0 general)
pylons_app/controllers/admin.py
Show inline comments
 
@@ -12,7 +12,8 @@ from pylons_app.lib import auth
 
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 @@ class AdminController(BaseController):
 
                    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):
pylons_app/model/db.py
Show inline comments
 
@@ -21,6 +21,7 @@ class UserLogs(Base):
 
    __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')
pylons_app/templates/admin.html
Show inline comments
 
@@ -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>
0 comments (0 inline, 0 general)