##// END OF EJS Templates
always use json from compat module
always use json from compat module

File last commit:

r3705:f37d7514 beta
r3705:f37d7514 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
always use json from compat module
r3705 from rhodecode.lib.compat 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
Mads Kiilerich
follow Python conventions for boolean values...
r3625 if not c.visual.lightweight_dashboard:
Added lightweight dashboard option. ref #500
r2936 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)
Mads Kiilerich
home: don't crash in branch_tag_switcher when an invalid repo name is given
r3437 if c.rhodecode_db_repo:
c.rhodecode_repo = c.rhodecode_db_repo.scm_instance
return render('/switch_to_list.html')
raise HTTPBadRequest()