Mercurial > public > src > rhodecode
changeset 2705:370ed7829168 beta
Readme renderer now uses landing_rev parameter to render the readme based on
given revision, rather than tip
author | Marcin Kuzminski <marcin@python-works.com> |
---|---|
date | Sat, 14 Jul 2012 19:09:35 +0200 |
parents | 17083006a33d |
children | dfa5180cf02f |
files | rhodecode/controllers/admin/repos.py rhodecode/controllers/summary.py rhodecode/model/db.py rhodecode/templates/summary/summary.html |
diffstat | 4 files changed, 18 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- a/rhodecode/controllers/admin/repos.py Sat Jul 14 18:53:39 2012 +0200 +++ b/rhodecode/controllers/admin/repos.py Sat Jul 14 19:09:35 2012 +0200 @@ -211,6 +211,10 @@ self.__load_defaults() repo_model = RepoModel() changed_name = repo_name + #override the choices with extracted revisions ! + choices, c.landing_revs = ScmModel().get_repo_landing_revs(repo_name) + c.landing_revs_choices = choices + _form = RepoForm(edit=True, old_data={'repo_name': repo_name}, repo_groups=c.repo_groups_choices, landing_revs=c.landing_revs_choices)()
--- a/rhodecode/controllers/summary.py Sat Jul 14 18:53:39 2012 +0200 +++ b/rhodecode/controllers/summary.py Sat Jul 14 19:09:35 2012 +0200 @@ -180,12 +180,12 @@ if c.enable_downloads: c.download_options = self._get_download_links(c.rhodecode_repo) - c.readme_data, c.readme_file = self.__get_readme_data( - c.rhodecode_db_repo.repo_name, c.rhodecode_repo - ) + c.readme_data, c.readme_file = \ + self.__get_readme_data(c.rhodecode_db_repo) return render('summary/summary.html') - def __get_readme_data(self, repo_name, repo): + def __get_readme_data(self, db_repo): + repo_name = db_repo.repo_name @cache_region('long_term') def _get_readme_from_cache(key): @@ -193,7 +193,8 @@ readme_file = None log.debug('Fetching readme file') try: - cs = repo.get_changeset() # fetches TIP + # get's the landing revision! or tip if fails + cs = db_repo.get_landing_changeset() renderer = MarkupRenderer() for f in README_FILES: try:
--- a/rhodecode/model/db.py Sat Jul 14 18:53:39 2012 +0200 +++ b/rhodecode/model/db.py Sat Jul 14 19:09:35 2012 +0200 @@ -777,6 +777,13 @@ def get_changeset(self, rev=None): return get_changeset_safe(self.scm_instance, rev) + def get_landing_changeset(self): + """ + Returns landing changeset, or if that doesn't exist returns the tip + """ + cs = self.get_changeset(self.landing_rev) or self.get_changeset() + return cs + @property def tip(self): return self.get_changeset('tip')
--- a/rhodecode/templates/summary/summary.html Sat Jul 14 18:53:39 2012 +0200 +++ b/rhodecode/templates/summary/summary.html Sat Jul 14 19:09:35 2012 +0200 @@ -226,7 +226,7 @@ %if c.readme_data: <div id="readme" class="box header-pos-fix" style="background-color: #FAFAFA"> - <div id="readme" class="title"> + <div id="readme" class="title" title="${_("Readme file at revision '%s'" % c.rhodecode_db_repo.landing_rev)}"> <div class="breadcrumbs"><a href="${h.url('files_home',repo_name=c.repo_name,revision='tip',f_path=c.readme_file)}">${c.readme_file}</a></div> </div> <div id="readme" class="readme">