##// END OF EJS Templates
fixed saving settings on repositories inside groups, also fixes #187...
fixed saving settings on repositories inside groups, also fixes #187 added options to properly rename directories in groups

File last commit:

r1307:c1516b35 beta
r1323:a7a772ea beta
Show More
base.py
81 lines | 3.0 KiB | text/x-python | PythonLexer
renamed project to rhodecode
r547 """The base Controller API
Provides the BaseController class for subclassing.
"""
gui-improvments
r1304 import copy
renamed project to rhodecode
r547 from pylons import config, tmpl_context as c, request, session
from pylons.controllers import WSGIController
from pylons.templating import render_mako as render
gui-improvments
r1304
renamed project to rhodecode
r547 from rhodecode import __version__
Major rewrite of auth objects. Moved parts of filling user data into user model....
r1117 from rhodecode.lib.auth import AuthUser
renamed project to rhodecode
r547 from rhodecode.lib.utils import get_repo_slug
from rhodecode.model import meta
Refactor codes for scm model...
r691 from rhodecode.model.scm import ScmModel
Disable git support due to large problems with dulwich....
r710 from rhodecode import BACKENDS
Moved out reposcan into hg Model....
r665
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')
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()
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
Implemented fancier top menu for logged and anonymous users...
r784 self.sa = meta.Session()
another major codes rewrite:...
r1045 self.scm_model = ScmModel(self.sa)
c.cached_repo_list = self.scm_model.get_repos()
Implemented fancier top menu for logged and anonymous users...
r784 #c.unread_journal = scm_model.get_unread_journal()
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']
try:
pep8ify
r1307 # putting this here makes sure that we update permissions each time
Major rewrite of auth objects. Moved parts of filling user data into user model....
r1117 api_key = request.GET.get('api_key')
user_id = getattr(session.get('rhodecode_user'), 'user_id', None)
self.rhodecode_user = c.rhodecode_user = AuthUser(user_id, api_key)
self.rhodecode_user.set_authenticated(
getattr(session.get('rhodecode_user'),
'is_authenticated', False))
session['rhodecode_user'] = self.rhodecode_user
session.save()
renamed project to rhodecode
r547 return WSGIController.__call__(self, environ, start_response)
finally:
meta.Session.remove()
another major codes rewrite:...
r1045
class BaseRepoController(BaseController):
"""
Base class for controllers responsible for loading all needed data
for those controllers, loaded items are
source code cleanup: remove trailing white space, normalize file endings
r1203
another major codes rewrite:...
r1045 c.rhodecode_repo: instance of scm repository (taken from cache)
source code cleanup: remove trailing white space, normalize file endings
r1203
another major codes rewrite:...
r1045 """
def __before__(self):
super(BaseRepoController, self).__before__()
if c.repo_name:
gui-improvments
r1304 r, dbrepo = self.scm_model.get(c.repo_name, retval='repo')
fixed condition evaluated for gitrepo that returned null, simplified scm functions
r1282
gui-improvments
r1304 if r is not None:
pep8ify
r1307 c.repository_followers = \
self.scm_model.get_followers(c.repo_name)
another major codes rewrite:...
r1045 c.repository_forks = self.scm_model.get_forks(c.repo_name)
else:
c.repository_followers = 0
c.repository_forks = 0
gui-improvments
r1304
# Since RhodeCode uses heavy memory caching we make a deepcopy
# of object taken from cache. This way we lose reference to cached
pep8ify
r1307 # instance in memory and keep it relatively small even for
gui-improvments
r1304 # very large number of changesets
c.rhodecode_repo = copy.copy(r)