diff --git a/kallithea/controllers/journal.py b/kallithea/controllers/journal.py --- a/kallithea/controllers/journal.py +++ b/kallithea/controllers/journal.py @@ -37,14 +37,13 @@ from tg.i18n import ugettext as _ from webob.exc import HTTPBadRequest import kallithea.lib.helpers as h +from kallithea.controllers import base from kallithea.controllers.admin.admin import _journal_filter -from kallithea.lib import feeds +from kallithea.lib import feeds, webutils from kallithea.lib.auth import LoginRequired -from kallithea.lib.base import BaseController, render from kallithea.lib.page import Page from kallithea.lib.utils2 import AttributeDict, safe_int -from kallithea.model.db import Repository, User, UserFollowing, UserLog -from kallithea.model.meta import Session +from kallithea.model import db, meta from kallithea.model.repo import RepoModel @@ -56,7 +55,7 @@ ttl = "5" feed_nr = 20 -class JournalController(BaseController): +class JournalController(base.BaseController): def _before(self, *args, **kwargs): super(JournalController, self)._before(*args, **kwargs) @@ -84,20 +83,20 @@ class JournalController(BaseController): filtering_criterion = None if repo_ids and user_ids: - filtering_criterion = or_(UserLog.repository_id.in_(repo_ids), - UserLog.user_id.in_(user_ids)) + filtering_criterion = or_(db.UserLog.repository_id.in_(repo_ids), + db.UserLog.user_id.in_(user_ids)) if repo_ids and not user_ids: - filtering_criterion = UserLog.repository_id.in_(repo_ids) + filtering_criterion = db.UserLog.repository_id.in_(repo_ids) if not repo_ids and user_ids: - filtering_criterion = UserLog.user_id.in_(user_ids) + filtering_criterion = db.UserLog.user_id.in_(user_ids) if filtering_criterion is not None: - journal = UserLog.query() \ - .options(joinedload(UserLog.user)) \ - .options(joinedload(UserLog.repository)) + journal = db.UserLog.query() \ + .options(joinedload(db.UserLog.user)) \ + .options(joinedload(db.UserLog.repository)) # filter journal = _journal_filter(journal, c.search_term) journal = journal.filter(filtering_criterion) \ - .order_by(UserLog.action_date.desc()) + .order_by(db.UserLog.action_date.desc()) else: journal = [] @@ -126,13 +125,13 @@ class JournalController(BaseController): entry.repository.repo_name) _url = None if entry.repository is not None: - _url = h.canonical_url('changelog_home', + _url = webutils.canonical_url('changelog_home', repo_name=entry.repository.repo_name) entries.append(dict( title=title, pubdate=entry.action_date, - link=_url or h.canonical_url(''), + link=_url or webutils.canonical_url(''), author_email=user.email, author_name=user.full_name_or_username, description=action_extra(), @@ -142,22 +141,22 @@ class JournalController(BaseController): def _atom_feed(self, repos, public=True): if public: - link = h.canonical_url('public_journal_atom') + link = webutils.canonical_url('public_journal_atom') desc = '%s %s %s' % (c.site_name, _('Public Journal'), 'atom feed') else: - link = h.canonical_url('journal_atom') + link = webutils.canonical_url('journal_atom') desc = '%s %s %s' % (c.site_name, _('Journal'), 'atom feed') return self._feed(repos, feeds.AtomFeed, link, desc) def _rss_feed(self, repos, public=True): if public: - link = h.canonical_url('public_journal_atom') + link = webutils.canonical_url('public_journal_atom') desc = '%s %s %s' % (c.site_name, _('Public Journal'), 'rss feed') else: - link = h.canonical_url('journal_atom') + link = webutils.canonical_url('journal_atom') desc = '%s %s %s' % (c.site_name, _('Journal'), 'rss feed') return self._feed(repos, feeds.RssFeed, link, desc) @@ -166,10 +165,10 @@ class JournalController(BaseController): def index(self): # Return a rendered template p = safe_int(request.GET.get('page'), 1) - c.user = User.get(request.authuser.user_id) - c.following = UserFollowing.query() \ - .filter(UserFollowing.user_id == request.authuser.user_id) \ - .options(joinedload(UserFollowing.follows_repository)) \ + c.user = db.User.get(request.authuser.user_id) + c.following = db.UserFollowing.query() \ + .filter(db.UserFollowing.user_id == request.authuser.user_id) \ + .options(joinedload(db.UserFollowing.follows_repository)) \ .all() journal = self._get_journal_data(c.following) @@ -179,32 +178,32 @@ class JournalController(BaseController): c.journal_day_aggregate = self._get_daily_aggregate(c.journal_pager) if request.environ.get('HTTP_X_PARTIAL_XHR'): - return render('journal/journal_data.html') + return base.render('journal/journal_data.html') - repos_list = Repository.query(sorted=True) \ + repos_list = db.Repository.query(sorted=True) \ .filter_by(owner_id=request.authuser.user_id).all() repos_data = RepoModel().get_repos_as_dict(repos_list, admin=True) # data used to render the grid c.data = repos_data - return render('journal/journal.html') + return base.render('journal/journal.html') @LoginRequired() def journal_atom(self): """Produce a simple atom-1.0 feed""" - following = UserFollowing.query() \ - .filter(UserFollowing.user_id == request.authuser.user_id) \ - .options(joinedload(UserFollowing.follows_repository)) \ + following = db.UserFollowing.query() \ + .filter(db.UserFollowing.user_id == request.authuser.user_id) \ + .options(joinedload(db.UserFollowing.follows_repository)) \ .all() return self._atom_feed(following, public=False) @LoginRequired() def journal_rss(self): """Produce a simple rss2 feed""" - following = UserFollowing.query() \ - .filter(UserFollowing.user_id == request.authuser.user_id) \ - .options(joinedload(UserFollowing.follows_repository)) \ + following = db.UserFollowing.query() \ + .filter(db.UserFollowing.user_id == request.authuser.user_id) \ + .options(joinedload(db.UserFollowing.follows_repository)) \ .all() return self._rss_feed(following, public=False) @@ -215,7 +214,7 @@ class JournalController(BaseController): try: self.scm_model.toggle_following_user(user_id, request.authuser.user_id) - Session().commit() + meta.Session().commit() return 'ok' except Exception: log.error(traceback.format_exc()) @@ -226,7 +225,7 @@ class JournalController(BaseController): try: self.scm_model.toggle_following_repo(repo_id, request.authuser.user_id) - Session().commit() + meta.Session().commit() return 'ok' except Exception: log.error(traceback.format_exc()) @@ -239,9 +238,9 @@ class JournalController(BaseController): # Return a rendered template p = safe_int(request.GET.get('page'), 1) - c.following = UserFollowing.query() \ - .filter(UserFollowing.user_id == request.authuser.user_id) \ - .options(joinedload(UserFollowing.follows_repository)) \ + c.following = db.UserFollowing.query() \ + .filter(db.UserFollowing.user_id == request.authuser.user_id) \ + .options(joinedload(db.UserFollowing.follows_repository)) \ .all() journal = self._get_journal_data(c.following) @@ -251,16 +250,16 @@ class JournalController(BaseController): c.journal_day_aggregate = self._get_daily_aggregate(c.journal_pager) if request.environ.get('HTTP_X_PARTIAL_XHR'): - return render('journal/journal_data.html') + return base.render('journal/journal_data.html') - return render('journal/public_journal.html') + return base.render('journal/public_journal.html') @LoginRequired(allow_default_user=True) def public_journal_atom(self): """Produce a simple atom-1.0 feed""" - c.following = UserFollowing.query() \ - .filter(UserFollowing.user_id == request.authuser.user_id) \ - .options(joinedload(UserFollowing.follows_repository)) \ + c.following = db.UserFollowing.query() \ + .filter(db.UserFollowing.user_id == request.authuser.user_id) \ + .options(joinedload(db.UserFollowing.follows_repository)) \ .all() return self._atom_feed(c.following) @@ -268,9 +267,9 @@ class JournalController(BaseController): @LoginRequired(allow_default_user=True) def public_journal_rss(self): """Produce a simple rss2 feed""" - c.following = UserFollowing.query() \ - .filter(UserFollowing.user_id == request.authuser.user_id) \ - .options(joinedload(UserFollowing.follows_repository)) \ + c.following = db.UserFollowing.query() \ + .filter(db.UserFollowing.user_id == request.authuser.user_id) \ + .options(joinedload(db.UserFollowing.follows_repository)) \ .all() return self._rss_feed(c.following)