##// END OF EJS Templates
compare: highlight linked line in diffs
compare: highlight linked line in diffs

File last commit:

r3179:cd50d1b5 merge default
r3412:3373e1b3 beta
Show More
home.py
87 lines | 3.0 KiB | text/x-python | PythonLexer
updated docs on every controller
r861 # -*- coding: utf-8 -*-
"""
rhodecode.controllers.home
~~~~~~~~~~~~~~~~~~~~~~~~~~
Home controller for Rhodecode
source code cleanup: remove trailing white space, normalize file endings
r1203
updated docs on every controller
r861 :created_on: Feb 18, 2010
:author: marcink
2012 copyrights
r1824 :copyright: (C) 2010-2012 Marcin Kuzminski <marcin@python-works.com>
updated docs on every controller
r861 :license: GPLv3, see COPYING for more details.
"""
fixed license issue #149
r1206 # 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.
source code cleanup: remove trailing white space, normalize file endings
r1203 #
Fixes for raw_id, needed for git...
r636 # 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.
source code cleanup: remove trailing white space, normalize file endings
r1203 #
Fixes for raw_id, needed for git...
r636 # You should have received a copy of the GNU General Public License
fixed license issue #149
r1206 # along with this program. If not, see <http://www.gnu.org/licenses/>.
updated docs on every controller
r861
import logging
Fixes for raw_id, needed for git...
r636 from pylons import tmpl_context as c, request
Added lightweight dashboard option. ref #500
r2936 from pylons.i18n.translation import _
Use webob exception as often as possible
r2242 from webob.exc import HTTPBadRequest
Use common function for generation of grid data...
r3154 from sqlalchemy.sql.expression import func
updated docs on every controller
r861
Added lightweight dashboard option. ref #500
r2936 import rhodecode
from rhodecode.lib import helpers as h
from rhodecode.lib.ext_json import json
Fixes for raw_id, needed for git...
r636 from rhodecode.lib.auth import LoginRequired
from rhodecode.lib.base import BaseController, render
#227 Initial version of repository groups permissions system...
r1982 from rhodecode.model.db import Repository
Use common function for generation of grid data...
r3154 from rhodecode.model.repo import RepoModel
implemented repo switcher list as dynamically loaded by xhr requestt....
r1158
Fixes for raw_id, needed for git...
r636 log = logging.getLogger(__name__)
pep8ify
r1212
Fixes for raw_id, needed for git...
r636 class HomeController(BaseController):
@LoginRequired()
def __before__(self):
super(HomeController, self).__before__()
def index(self):
#227 Initial version of repository groups permissions system...
r1982 c.groups = self.scm_model.get_repos_groups()
#401 repository group is automatically pre-selected when adding repos inside a repository group
r2130 c.group = None
Added lightweight dashboard option. ref #500
r2936
if c.visual.lightweight_dashboard is False:
c.repos_list = self.scm_model.get_repos()
## lightweight version of dashboard
else:
c.repos_list = Repository.query()\
.filter(Repository.group_id == None)\
.order_by(func.lower(Repository.repo_name))\
.all()
Use common function for generation of grid data...
r3154 repos_data = RepoModel().get_repos_as_dict(repos_list=c.repos_list,
admin=False)
#json used to render the grid
c.data = json.dumps(repos_data)
Added lightweight dashboard option. ref #500
r2936
Fixes for raw_id, needed for git...
r636 return render('/index.html')
implemented repo switcher list as dynamically loaded by xhr requestt....
r1158
def repo_switcher(self):
if request.is_xhr:
fixes #200, rewrote the whole caching mechanism to get rid of such problems. Now cached instances are attached...
r1366 all_repos = Repository.query().order_by(Repository.repo_name).all()
c.repos_list = self.scm_model.get_repos(all_repos,
Use simplified cached repos list for quick repo switcher, in some cases it can have 2-3x speed-up since it doesn't need to init the scms
r2604 sort_key='name_sort',
simple=True)
implemented repo switcher list as dynamically loaded by xhr requestt....
r1158 return render('/repo_switcher_list.html')
else:
fixed badRequest on views decorated by @jsonify
r2970 raise HTTPBadRequest()
lazy load of branches and tags menu...
r1608
def branch_tag_switcher(self, repo_name):
if request.is_xhr:
fixed xhr check for tags-branches view
r1609 c.rhodecode_db_repo = Repository.get_by_repo_name(c.repo_name)
c.rhodecode_repo = c.rhodecode_db_repo.scm_instance
lazy load of branches and tags menu...
r1608 return render('/switch_to_list.html')
else:
fixed badRequest on views decorated by @jsonify
r2970 raise HTTPBadRequest()