##// END OF EJS Templates
Added handling of ignore whitespace flag in changesets...
Added handling of ignore whitespace flag in changesets - fixed messages for FK validation

File last commit:

r1749:8ecc6b82 beta
r1752:f28dc032 beta
Show More
base.py
96 lines | 3.6 KiB | text/x-python | PythonLexer
renamed project to rhodecode
r547 """The base Controller API
Provides the BaseController class for subclassing.
"""
Fixes issue #201...
r1373 import logging
Added Request time tracking
r1601 import time
Fixes issue #201...
r1373 from pylons import config, tmpl_context as c, request, session, url
renamed project to rhodecode
r547 from pylons.controllers import WSGIController
Fixes issue #201...
r1373 from pylons.controllers.util import redirect
renamed project to rhodecode
r547 from pylons.templating import render_mako as render
gui-improvments
r1304
reduce cookie size for better support of client side sessions
r1718 from rhodecode import __version__, BACKENDS
implements #293 gravatar link should be disabled when use_gravatar = false
r1629 from rhodecode.lib import str2bool
Liad Shani
Improved container-based auth implementation and added support for a reverse-proxy setup (using the X-Forwarded-User header)
r1617 from rhodecode.lib.auth import AuthUser, get_container_username
renamed project to rhodecode
r547 from rhodecode.lib.utils import get_repo_slug
from rhodecode.model import meta
reduce cookie size for better support of client side sessions
r1718
fixes #200, rewrote the whole caching mechanism to get rid of such problems. Now cached instances are attached...
r1366 from rhodecode.model.db import Repository
#302 - basic notification system, models+tests
r1702 from rhodecode.model.notification import NotificationModel
reduce cookie size for better support of client side sessions
r1718 from rhodecode.model.scm import ScmModel
Moved out reposcan into hg Model....
r665
Fixes issue #201...
r1373 log = logging.getLogger(__name__)
pep8ify
r1307
renamed project to rhodecode
r547 class BaseController(WSGIController):
extended repo creation by repo type. fixed fork creation to maintain repo type.
r659
renamed project to rhodecode
r547 def __before__(self):
renamed hg_app to rhodecode
r548 c.rhodecode_version = __version__
implemented #89 google analytics code
r890 c.rhodecode_name = config.get('rhodecode_title')
implements #293 gravatar link should be disabled when use_gravatar = false
r1629 c.use_gravatar = str2bool(config.get('use_gravatar'))
fixes for #89 ga code
r891 c.ga_code = config.get('rhodecode_ga_code')
renamed project to rhodecode
r547 c.repo_name = get_repo_slug(request)
extended repo creation by repo type. fixed fork creation to maintain repo type.
r659 c.backends = BACKENDS.keys()
#302 - basic notification system, models+tests
r1702 c.unread_notifications = NotificationModel()\
.get_unread_cnt_for_user(c.rhodecode_user.user_id)
implemented #89 google analytics code
r890 self.cut_off_limit = int(config.get('cut_off_limit'))
Major refactoring, removed when possible calls to app globals....
r1036
commit less models...
r1749 self.sa = meta.Session
another major codes rewrite:...
r1045 self.scm_model = ScmModel(self.sa)
fixes #200, rewrote the whole caching mechanism to get rid of such problems. Now cached instances are attached...
r1366
renamed project to rhodecode
r547 def __call__(self, environ, start_response):
"""Invoke the Controller"""
# WSGIController.__call__ dispatches to the Controller method
# the request is routed to. This routing information is
# available in environ['pylons.routes_dict']
Added Request time tracking
r1601 start = time.time()
renamed project to rhodecode
r547 try:
Some code cleanups and fixes
r1628 # make sure that we update permissions each time we call controller
Major rewrite of auth objects. Moved parts of filling user data into user model....
r1117 api_key = request.GET.get('api_key')
reduce cookie size for better support of client side sessions
r1718 cookie_store = session.get('rhodecode_user') or {}
user_id = cookie_store.get('user_id', None)
Liad Shani
Improved container-based auth support for middleware
r1630 username = get_container_username(environ, config)
Some code cleanups and fixes
r1628 auth_user = AuthUser(user_id, api_key, username)
- fixes celery sqlalchemy session issues for async forking...
r1728 request.user = auth_user
Some code cleanups and fixes
r1628 self.rhodecode_user = c.rhodecode_user = auth_user
Liad Shani
Added automatic logout of deactivated/deleted users
r1618 if not self.rhodecode_user.is_authenticated and \
self.rhodecode_user.user_id is not None:
reduce cookie size for better support of client side sessions
r1718 self.rhodecode_user\
.set_authenticated(cookie_store.get('is_authenticated'))
session['rhodecode_user'] = self.rhodecode_user.get_cookie_store()
Major rewrite of auth objects. Moved parts of filling user data into user model....
r1117 session.save()
renamed project to rhodecode
r547 return WSGIController.__call__(self, environ, start_response)
finally:
reduce cookie size for better support of client side sessions
r1718 log.debug('Request time: %.3fs' % (time.time() - start))
renamed project to rhodecode
r547 meta.Session.remove()
another major codes rewrite:...
r1045
class BaseRepoController(BaseController):
"""
Some code cleanups and fixes
r1628 Base class for controllers responsible for loading all needed data for
repository loaded items are
source code cleanup: remove trailing white space, normalize file endings
r1203
Some code cleanups and fixes
r1628 c.rhodecode_repo: instance of scm repository
c.rhodecode_db_repo: instance of db
c.repository_followers: number of followers
c.repository_forks: number of forks
another major codes rewrite:...
r1045 """
def __before__(self):
super(BaseRepoController, self).__before__()
if c.repo_name:
Refactoring of model get functions
r1530 c.rhodecode_db_repo = Repository.get_by_repo_name(c.repo_name)
Fixes issue #201...
r1373 c.rhodecode_repo = c.rhodecode_db_repo.scm_instance
if c.rhodecode_repo is None:
log.error('%s this repository is present in database but it '
'cannot be created as an scm instance', c.repo_name)
fixed condition evaluated for gitrepo that returned null, simplified scm functions
r1282
Fixes issue #201...
r1373 redirect(url('home'))
gui-improvments
r1304
Some code cleanups and fixes
r1628 c.repository_followers = self.scm_model.get_followers(c.repo_name)
Fixes issue #201...
r1373 c.repository_forks = self.scm_model.get_forks(c.repo_name)