# -*- coding: utf-8 -*-""" rhodecode.controllers.admin.admin ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Controller for Admin panel of Rhodecode :created_on: Apr 7, 2010 :author: marcink :copyright: (C) 2009-2011 Marcin Kuzminski <marcin@python-works.com> :license: GPLv3, see COPYING for more details."""# This program is free software: you can redistribute it and/or modify# it under the terms of the GNU General Public License as published by# the Free Software Foundation, either version 3 of the License, or# (at your option) any later version.## This program is distributed in the hope that it will be useful,# but WITHOUT ANY WARRANTY; without even the implied warranty of# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the# GNU General Public License for more details.## You should have received a copy of the GNU General Public License# along with this program. If not, see <http://www.gnu.org/licenses/>.importloggingfrompylonsimportrequest,tmpl_contextascfromsqlalchemy.ormimportjoinedloadfromwebhelpers.paginateimportPagefromrhodecode.lib.authimportLoginRequired,HasPermissionAllDecoratorfromrhodecode.lib.baseimportBaseController,renderfromrhodecode.model.dbimportUserLoglog=logging.getLogger(__name__)classAdminController(BaseController):@LoginRequired()def__before__(self):super(AdminController,self).__before__()@HasPermissionAllDecorator('hg.admin')defindex(self):users_log=self.sa.query(UserLog)\
.options(joinedload(UserLog.user))\
.options(joinedload(UserLog.repository))\
.order_by(UserLog.action_date.desc())p=int(request.params.get('page',1))c.users_log=Page(users_log,page=p,items_per_page=10)c.log_data=render('admin/admin_log.html')ifrequest.environ.get('HTTP_X_PARTIAL_XHR'):returnc.log_datareturnrender('admin/admin.html')