From e3b079f978e33d07acb929d7ba19bb337d1e7fdc Mon Sep 17 00:00:00 2001 From: Marcin Kuzminski Date: Wed, 3 Jun 2020 10:59:50 +0200 Subject: [PATCH] landing-refs: create helpers for landing ref to make clear indication about type/name --- rhodecode/apps/repository/tests/test_repo_files.py | 2 +- rhodecode/apps/repository/views/repo_files.py | 2 +- rhodecode/apps/repository/views/repo_forks.py | 8 ++++---- rhodecode/model/db.py | 10 +++++++++- rhodecode/templates/base/base.mako | 2 +- rhodecode/templates/base/root.mako | 2 +- rhodecode/templates/commits/changelog.mako | 8 ++++---- rhodecode/templates/compare/compare_diff.mako | 8 ++++---- rhodecode/templates/files/files_browser.mako | 4 ++-- rhodecode/templates/summary/summary.mako | 4 ++-- 10 files changed, 29 insertions(+), 21 deletions(-) diff --git a/rhodecode/apps/repository/tests/test_repo_files.py b/rhodecode/apps/repository/tests/test_repo_files.py index 28fd37c4..059b5e03 100644 --- a/rhodecode/apps/repository/tests/test_repo_files.py +++ b/rhodecode/apps/repository/tests/test_repo_files.py @@ -178,7 +178,7 @@ class TestFilesViews(object): commit_id='tip', f_path='/')) # make sure Files menu url is not tip but new commit - landing_rev = backend.repo.landing_rev[1] + landing_rev = backend.repo.landing_ref_name files_url = route_path('repo_files:default_path', repo_name=backend.repo_name, commit_id=landing_rev) diff --git a/rhodecode/apps/repository/views/repo_files.py b/rhodecode/apps/repository/views/repo_files.py index 0fb121d5..e07a4690 100644 --- a/rhodecode/apps/repository/views/repo_files.py +++ b/rhodecode/apps/repository/views/repo_files.py @@ -137,7 +137,7 @@ class RepoFilesView(RepoAppView): raise HTTPFound(files_url) def _get_commit_and_path(self): - default_commit_id = self.db_repo.landing_rev[1] + default_commit_id = self.db_repo.landing_ref_name default_f_path = '/' commit_id = self.request.matchdict.get( diff --git a/rhodecode/apps/repository/views/repo_forks.py b/rhodecode/apps/repository/views/repo_forks.py index f6349dbc..2409a236 100644 --- a/rhodecode/apps/repository/views/repo_forks.py +++ b/rhodecode/apps/repository/views/repo_forks.py @@ -138,10 +138,10 @@ class RepoForksView(RepoAppView, DataGridAppView): url_link = h.route_path( 'repo_compare', repo_name=fork.repo_name, - source_ref_type=self.db_repo.landing_rev[0], - source_ref=self.db_repo.landing_rev[1], - target_ref_type=self.db_repo.landing_rev[0], - target_ref=self.db_repo.landing_rev[1], + source_ref_type=self.db_repo.landing_ref_type, + source_ref=self.db_repo.landing_ref_name, + target_ref_type=self.db_repo.landing_ref_type, + target_ref=self.db_repo.landing_ref_name, _query=dict(merge=1, target_repo=f.repo_name)) return h.link_to(_('Compare fork'), url_link, class_='btn-link') diff --git a/rhodecode/model/db.py b/rhodecode/model/db.py index fa29bc30..a495df80 100644 --- a/rhodecode/model/db.py +++ b/rhodecode/model/db.py @@ -1758,7 +1758,7 @@ class Repository(Base, BaseModel): @hybrid_property def landing_rev(self): - # always should return [rev_type, rev] + # always should return [rev_type, rev], e.g ['branch', 'master'] if self._landing_revision: _rev_info = self._landing_revision.split(':') if len(_rev_info) < 2: @@ -1766,6 +1766,14 @@ class Repository(Base, BaseModel): return [_rev_info[0], _rev_info[1]] return [None, None] + @property + def landing_ref_type(self): + return self.landing_rev[0] + + @property + def landing_ref_name(self): + return self.landing_rev[1] + @landing_rev.setter def landing_rev(self, val): if ':' not in val: diff --git a/rhodecode/templates/base/base.mako b/rhodecode/templates/base/base.mako index 8be810b7..9b302b4f 100644 --- a/rhodecode/templates/base/base.mako +++ b/rhodecode/templates/base/base.mako @@ -365,7 +365,7 @@