##// END OF EJS Templates
emailing: log failing emailing as an error...
emailing: log failing emailing as an error TODO: The failure should be reported back to the user (or the admins). The system should not silently not send any emails to the targeted recipients. Even better: it should inform the user whenever emails was (scheduled to be) sent - and to whom.

File last commit:

r3752:1e5bb8ed beta
r3781:40d50bb7 beta
Show More
home.py
85 lines | 2.9 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):
def __before__(self):
super(HomeController, self).__before__()
auth decorators are not used anymore on __before__...
r3749 @LoginRequired()
Fixes for raw_id, needed for git...
r636 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
index: always use lightweight - there shouldn't be any reason not to
r3752 c.repos_list = Repository.query()\
.filter(Repository.group_id == None)\
.order_by(func.lower(Repository.repo_name))\
.all()
Added lightweight dashboard option. ref #500
r2936
Mads Kiilerich
index: always use lightweight - there shouldn't be any reason not to
r3752 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
auth decorators are not used anymore on __before__...
r3749 @LoginRequired()
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
auth decorators are not used anymore on __before__...
r3749 @LoginRequired()
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()