ui: links to tags/branches/bookmarks render that in a context of summary page for better navigation.
This commit is contained in:
parent
a58593dbcb
commit
a53d42117a
12 changed files with 64 additions and 31 deletions
|
|
@ -242,6 +242,22 @@ class RepoAppView(BaseAppView):
|
|||
'Requirements are missing for repository %s: %s',
|
||||
self.db_repo_name, safe_unicode(error))
|
||||
|
||||
def _prepare_and_set_clone_url(self, c):
|
||||
username = ''
|
||||
if self._rhodecode_user.username != User.DEFAULT_USER:
|
||||
username = self._rhodecode_user.username
|
||||
|
||||
_def_clone_uri = c.clone_uri_tmpl
|
||||
_def_clone_uri_id = c.clone_uri_id_tmpl
|
||||
_def_clone_uri_ssh = c.clone_uri_ssh_tmpl
|
||||
|
||||
c.clone_repo_url = self.db_repo.clone_url(
|
||||
user=username, uri_tmpl=_def_clone_uri)
|
||||
c.clone_repo_url_id = self.db_repo.clone_url(
|
||||
user=username, uri_tmpl=_def_clone_uri_id)
|
||||
c.clone_repo_url_ssh = self.db_repo.clone_url(
|
||||
uri_tmpl=_def_clone_uri_ssh, ssh=True)
|
||||
|
||||
def _get_local_tmpl_context(self, include_app_defaults=True):
|
||||
_ = self.request.translate
|
||||
c = super(RepoAppView, self)._get_local_tmpl_context(
|
||||
|
|
@ -359,6 +375,7 @@ class RepoAppView(BaseAppView):
|
|||
'repo_files', repo_name=_repo_name,
|
||||
commit_id=commit.raw_id, f_path=readme_node.path),
|
||||
}
|
||||
|
||||
readme_data = self._render_readme_or_none(commit, readme_node, relative_urls)
|
||||
readme_filename = readme_node.unicode_path
|
||||
|
||||
|
|
@ -366,6 +383,7 @@ class RepoAppView(BaseAppView):
|
|||
|
||||
readme_data, readme_filename = generate_repo_readme(
|
||||
db_repo.repo_id, landing_commit_id, db_repo.repo_name, path, renderer_type,)
|
||||
|
||||
compute_time = time.time() - start
|
||||
log.debug('Repo README for path %s generated and computed in %.4fs',
|
||||
path, compute_time)
|
||||
|
|
|
|||
|
|
@ -25,7 +25,7 @@ from rhodecode.apps._base import BaseReferencesView
|
|||
from rhodecode.lib import ext_json
|
||||
from rhodecode.lib import helpers as h
|
||||
from rhodecode.lib.auth import (LoginRequired, HasRepoPermissionAnyDecorator)
|
||||
|
||||
from rhodecode.model.scm import ScmModel
|
||||
|
||||
log = logging.getLogger(__name__)
|
||||
|
||||
|
|
@ -37,6 +37,9 @@ class RepoBookmarksView(BaseReferencesView):
|
|||
'repository.read', 'repository.write', 'repository.admin')
|
||||
def bookmarks(self):
|
||||
c = self.load_default_context()
|
||||
self._prepare_and_set_clone_url(c)
|
||||
c.rhodecode_repo = self.rhodecode_vcs_repo
|
||||
c.repository_forks = ScmModel().get_forks(self.db_repo)
|
||||
|
||||
if not h.is_hg(self.db_repo):
|
||||
raise HTTPNotFound()
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@ import logging
|
|||
from rhodecode.apps._base import BaseReferencesView
|
||||
from rhodecode.lib import ext_json
|
||||
from rhodecode.lib.auth import (LoginRequired, HasRepoPermissionAnyDecorator)
|
||||
|
||||
from rhodecode.model.scm import ScmModel
|
||||
|
||||
log = logging.getLogger(__name__)
|
||||
|
||||
|
|
@ -36,6 +36,9 @@ class RepoBranchesView(BaseReferencesView):
|
|||
'repository.read', 'repository.write', 'repository.admin')
|
||||
def branches(self):
|
||||
c = self.load_default_context()
|
||||
self._prepare_and_set_clone_url(c)
|
||||
c.rhodecode_repo = self.rhodecode_vcs_repo
|
||||
c.repository_forks = ScmModel().get_forks(self.db_repo)
|
||||
|
||||
ref_items = self.rhodecode_vcs_repo.branches_all.items()
|
||||
data = self.load_refs_context(
|
||||
|
|
|
|||
|
|
@ -79,22 +79,6 @@ class RepoSummaryView(RepoAppView):
|
|||
c.comments = self.db_repo.get_comments(page_ids)
|
||||
c.statuses = self.db_repo.statuses(page_ids)
|
||||
|
||||
def _prepare_and_set_clone_url(self, c):
|
||||
username = ''
|
||||
if self._rhodecode_user.username != User.DEFAULT_USER:
|
||||
username = safe_str(self._rhodecode_user.username)
|
||||
|
||||
_def_clone_uri = c.clone_uri_tmpl
|
||||
_def_clone_uri_id = c.clone_uri_id_tmpl
|
||||
_def_clone_uri_ssh = c.clone_uri_ssh_tmpl
|
||||
|
||||
c.clone_repo_url = self.db_repo.clone_url(
|
||||
user=username, uri_tmpl=_def_clone_uri)
|
||||
c.clone_repo_url_id = self.db_repo.clone_url(
|
||||
user=username, uri_tmpl=_def_clone_uri_id)
|
||||
c.clone_repo_url_ssh = self.db_repo.clone_url(
|
||||
uri_tmpl=_def_clone_uri_ssh, ssh=True)
|
||||
|
||||
@LoginRequired()
|
||||
@HasRepoPermissionAnyDecorator(
|
||||
'repository.read', 'repository.write', 'repository.admin')
|
||||
|
|
|
|||
|
|
@ -23,6 +23,7 @@ import logging
|
|||
from rhodecode.apps._base import BaseReferencesView
|
||||
from rhodecode.lib import ext_json
|
||||
from rhodecode.lib.auth import (LoginRequired, HasRepoPermissionAnyDecorator)
|
||||
from rhodecode.model.scm import ScmModel
|
||||
|
||||
log = logging.getLogger(__name__)
|
||||
|
||||
|
|
@ -34,6 +35,9 @@ class RepoTagsView(BaseReferencesView):
|
|||
'repository.read', 'repository.write', 'repository.admin')
|
||||
def tags(self):
|
||||
c = self.load_default_context()
|
||||
self._prepare_and_set_clone_url(c)
|
||||
c.rhodecode_repo = self.rhodecode_vcs_repo
|
||||
c.repository_forks = ScmModel().get_forks(self.db_repo)
|
||||
|
||||
ref_items = self.rhodecode_vcs_repo.tags.items()
|
||||
data = self.load_refs_context(
|
||||
|
|
|
|||
|
|
@ -43,7 +43,7 @@
|
|||
</div>
|
||||
|
||||
% if repo:
|
||||
${dt.repo_name(name=repo.repo_name, rtype=repo.repo_type,rstate=None,private=None,archived=False,fork_of=False)}
|
||||
${dt.repo_name(name=repo.repo_name, rtype=repo.repo_type,rstate=None,private=None,archived=False, fork_repo_name=None)}
|
||||
${h.hidden('bookmark_repo', repo.repo_id)}
|
||||
% elif repo_group:
|
||||
${dt.repo_group_name(repo_group.group_name)}
|
||||
|
|
|
|||
|
|
@ -1,8 +1,9 @@
|
|||
## -*- coding: utf-8 -*-
|
||||
<%inherit file="/base/base.mako"/>
|
||||
<%namespace name="components" file="/summary/components.mako"/>
|
||||
|
||||
<%def name="title()">
|
||||
${_('%s Bookmarks') % c.repo_name}
|
||||
${_('{} Bookmarks').format(c.repo_name)}
|
||||
%if c.rhodecode_name:
|
||||
· ${h.branding(c.rhodecode_name)}
|
||||
%endif
|
||||
|
|
@ -19,6 +20,10 @@
|
|||
</%def>
|
||||
|
||||
<%def name="main()">
|
||||
<div id="repo-summary" class="summary">
|
||||
${components.summary_detail(breadcrumbs_links=self.breadcrumbs_links(), show_downloads=False, simplified=True)}
|
||||
</div>
|
||||
|
||||
<div class="box">
|
||||
<div class="title">
|
||||
|
||||
|
|
@ -60,7 +65,7 @@ $(document).ready(function() {
|
|||
|
||||
// object list
|
||||
$('#obj_list_table').DataTable({
|
||||
data: ${c.data|n},
|
||||
data: ${c.data | n},
|
||||
dom: 'rtp',
|
||||
pageLength: ${c.visual.dashboard_items},
|
||||
order: [[ 0, "asc" ]],
|
||||
|
|
|
|||
|
|
@ -1,8 +1,9 @@
|
|||
## -*- coding: utf-8 -*-
|
||||
<%inherit file="/base/base.mako"/>
|
||||
<%namespace name="components" file="/summary/components.mako"/>
|
||||
|
||||
<%def name="title()">
|
||||
${_('%s Branches') % c.repo_name}
|
||||
${_('{} Branches').format(c.repo_name)}
|
||||
%if c.rhodecode_name:
|
||||
· ${h.branding(c.rhodecode_name)}
|
||||
%endif
|
||||
|
|
@ -19,6 +20,10 @@
|
|||
</%def>
|
||||
|
||||
<%def name="main()">
|
||||
<div id="repo-summary" class="summary">
|
||||
${components.summary_detail(breadcrumbs_links=self.breadcrumbs_links(), show_downloads=False, simplified=True)}
|
||||
</div>
|
||||
|
||||
<div class="box">
|
||||
<div class="title">
|
||||
|
||||
|
|
|
|||
|
|
@ -78,7 +78,7 @@ ${h.style_metatag(tag_type, tag)|n,trim}
|
|||
</div>
|
||||
</%def>
|
||||
|
||||
<%def name="repo_name(name,rtype,rstate,private,archived,fork_of,short_name=False,admin=False)">
|
||||
<%def name="repo_name(name,rtype,rstate,private,archived,fork_repo_name,short_name=False,admin=False)">
|
||||
<%
|
||||
def get_name(name,short_name=short_name):
|
||||
if short_name:
|
||||
|
|
@ -109,8 +109,8 @@ ${h.style_metatag(tag_type, tag)|n,trim}
|
|||
%endif
|
||||
${get_name(name)}
|
||||
</a>
|
||||
%if fork_of:
|
||||
<a href="${h.route_path('repo_summary',repo_name=fork_of.repo_name)}"><i class="icon-code-fork"></i></a>
|
||||
%if fork_repo_name:
|
||||
<a href="${h.route_path('repo_summary',repo_name=fork_repo_name)}"><i class="icon-code-fork"></i></a>
|
||||
%endif
|
||||
%if rstate == 'repo_state_pending':
|
||||
<span class="creation_in_progress tooltip" title="${_('This repository is being created in a background task')}">
|
||||
|
|
|
|||
|
|
@ -64,7 +64,7 @@
|
|||
<div class="codeblock">
|
||||
<div class=" codeblock-header">
|
||||
<div class="file-filename">
|
||||
<i class="icon-file"></i> ${c.file}
|
||||
<i class="icon-file"></i> ${c.file.name}
|
||||
</div>
|
||||
|
||||
<div class="file-stats">
|
||||
|
|
|
|||
|
|
@ -50,7 +50,7 @@
|
|||
%endif
|
||||
</%def>
|
||||
|
||||
<%def name="summary_detail(breadcrumbs_links, show_downloads=True)">
|
||||
<%def name="summary_detail(breadcrumbs_links, show_downloads=True, simplified=False)">
|
||||
<% summary = lambda n:{False:'summary-short'}.get(n) %>
|
||||
|
||||
<div id="summary-menu-stats" class="summary-detail">
|
||||
|
|
@ -140,6 +140,8 @@
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
% if not simplified:
|
||||
## owner, description, downloads, statistics
|
||||
|
||||
## Owner
|
||||
|
|
@ -266,11 +268,15 @@
|
|||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
% endif
|
||||
|
||||
</div><!--end summary-detail-->
|
||||
|
||||
<div id="summary_details_expand" class="btn-collapse" data-toggle="summary-details">
|
||||
% if simplified:
|
||||
<div style="height: 25px"></div>
|
||||
%else:
|
||||
<div id="summary_details_expand" class="btn-collapse" data-toggle="summary-details">
|
||||
${_('Show More')}
|
||||
</div>
|
||||
</div>
|
||||
% endif
|
||||
</%def>
|
||||
|
|
|
|||
|
|
@ -1,8 +1,9 @@
|
|||
## -*- coding: utf-8 -*-
|
||||
<%inherit file="/base/base.mako"/>
|
||||
<%namespace name="components" file="/summary/components.mako"/>
|
||||
|
||||
<%def name="title()">
|
||||
${_('%s Tags') % c.repo_name}
|
||||
${_('{} Tags').format(c.repo_name)}
|
||||
%if c.rhodecode_name:
|
||||
· ${h.branding(c.rhodecode_name)}
|
||||
%endif
|
||||
|
|
@ -19,6 +20,10 @@
|
|||
</%def>
|
||||
|
||||
<%def name="main()">
|
||||
<div id="repo-summary" class="summary">
|
||||
${components.summary_detail(breadcrumbs_links=self.breadcrumbs_links(), show_downloads=False, simplified=True)}
|
||||
</div>
|
||||
|
||||
<div class="box">
|
||||
<div class="title">
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue