diff --git a/rhodecode/controllers/journal.py b/rhodecode/controllers/journal.py --- a/rhodecode/controllers/journal.py +++ b/rhodecode/controllers/journal.py @@ -25,10 +25,9 @@ journal controller for pylons from pylons import request, response, session, tmpl_context as c, url from pylons.controllers.util import abort, redirect -from rhodecode.lib.auth import LoginRequired +from rhodecode.lib.auth import LoginRequired, NotAnonymous from rhodecode.lib.base import BaseController, render from rhodecode.lib.helpers import get_token -from rhodecode.lib.utils import action_logger from rhodecode.model.db import UserLog, UserFollowing from rhodecode.model.scm import ScmModel from sqlalchemy import or_ @@ -41,6 +40,7 @@ class JournalController(BaseController): @LoginRequired() + @NotAnonymous() def __before__(self): super(JournalController, self).__before__() @@ -49,12 +49,12 @@ class JournalController(BaseController): c.following = self.sa.query(UserFollowing)\ .filter(UserFollowing.user_id == c.rhodecode_user.user_id).all() - - repo_ids = [x.follows_repository.repo_id for x in c.following + + repo_ids = [x.follows_repository.repo_id for x in c.following if x.follows_repository is not None] - user_ids = [x.follows_user.user_id for x in c.following + user_ids = [x.follows_user.user_id for x in c.following if x.follows_user is not None] - + c.journal = self.sa.query(UserLog)\ .filter(or_( UserLog.repository_id.in_(repo_ids), @@ -65,7 +65,6 @@ class JournalController(BaseController): .all() return render('/journal.html') - def toggle_following(self): if request.POST.get('auth_token') == get_token(): diff --git a/rhodecode/model/scm.py b/rhodecode/model/scm.py --- a/rhodecode/model/scm.py +++ b/rhodecode/model/scm.py @@ -170,19 +170,6 @@ class ScmModel(BaseModel): 'repository.admin')(repo_name, 'get repo check'): return - pre_invalidate = True - if invalidation_list is not None: - pre_invalidate = repo_name in invalidation_list - - if pre_invalidate: - invalidate = self._should_invalidate(repo_name) - - if invalidate: - log.info('invalidating cache for repository %s', repo_name) - region_invalidate(_get_repo, None, repo_name) - self._mark_invalidated(invalidate) - - #====================================================================== # CACHE FUNCTION #====================================================================== @@ -224,6 +211,18 @@ class ScmModel(BaseModel): repo.dbrepo = dbrepo return repo + pre_invalidate = True + if invalidation_list is not None: + pre_invalidate = repo_name in invalidation_list + + if pre_invalidate: + invalidate = self._should_invalidate(repo_name) + + if invalidate: + log.info('invalidating cache for repository %s', repo_name) + region_invalidate(_get_repo, None, repo_name) + self._mark_invalidated(invalidate) + return _get_repo(repo_name) diff --git a/rhodecode/templates/base/base.html b/rhodecode/templates/base/base.html --- a/rhodecode/templates/base/base.html +++ b/rhodecode/templates/base/base.html @@ -22,7 +22,12 @@