Skip to content
Snippets Groups Projects
Commit 3b16799a authored by Antoine Lambert's avatar Antoine Lambert
Browse files

browse: Add link to revision history in revision view

parent 11b2f550
No related branches found
No related tags found
No related merge requests found
......@@ -570,23 +570,17 @@ def gen_origin_directory_link(origin_context, revision_id=None,
return gen_link(directory_url, link_text, link_attrs)
def gen_revision_log_link(revision_id, origin_context=None, link_text=None,
link_attrs={}):
def get_revision_log_url(revision_id, origin_context=None):
"""
Utility function for generating a link to a SWH revision log HTML view
(possibly in the context of an origin) to insert in Django templates.
Utility function for getting the URL for a SWH revision log HTML view
(possibly in the context of an origin).
Args:
revision_id (str): revision identifier the history heads to
origin_context (dict): if provided, generate origin-dependent browsing
link (see :func:`swh.web.browse.utils.get_origin_context`)
link_text (str): optional text to use for the generated link
link_attrs (dict): optional attributes (e.g. class)
to add to the link
Returns:
An HTML link in the form
'<a href="revision_log_view_url">link_text</a>'
The SWH revision log view URL
"""
if origin_context:
origin_info = origin_context['origin_info']
......@@ -605,6 +599,29 @@ def gen_revision_log_link(revision_id, origin_context=None, link_text=None,
else:
revision_log_url = reverse('browse-revision-log',
kwargs={'sha1_git': revision_id})
return revision_log_url
def gen_revision_log_link(revision_id, origin_context=None, link_text=None,
link_attrs={}):
"""
Utility function for generating a link to a SWH revision log HTML view
(possibly in the context of an origin) to insert in Django templates.
Args:
revision_id (str): revision identifier the history heads to
origin_context (dict): if provided, generate origin-dependent browsing
link (see :func:`swh.web.browse.utils.get_origin_context`)
link_text (str): optional text to use for the generated link
link_attrs (dict): optional attributes (e.g. class)
to add to the link
Returns:
An HTML link in the form
'<a href="revision_log_view_url">link_text</a>'
"""
revision_log_url = get_revision_log_url(revision_id, origin_context)
if not link_text:
link_text = revision_log_url
return gen_link(revision_log_url, link_text, link_attrs)
......@@ -756,6 +773,8 @@ def get_origin_context(origin_type, origin_url, timestamp, visit_id=None):
'visit_info': visit_info,
'branches': branches,
'releases': releases,
'branch': None,
'release': None,
'origin_browse_url': origin_browse_url,
'origin_branches_url': origin_branches_url,
'origin_releases_url': origin_releases_url,
......
......@@ -16,8 +16,8 @@ from swh.web.browse.utils import (
gen_link, gen_person_link, gen_revision_link,
prepare_revision_log_for_display,
get_origin_context, gen_origin_directory_link,
gen_revision_log_link, get_directory_entries,
gen_directory_link, request_content, prepare_content_for_display
get_revision_log_url, get_directory_entries,
gen_directory_link, request_content, prepare_content_for_display,
)
......@@ -82,14 +82,9 @@ def revision_browse(request, sha1_git):
revision_data['directory'] = \
gen_origin_directory_link(origin_context, sha1_git,
link_text='Browse')
revision_data['history log'] = \
gen_revision_log_link(sha1_git, origin_context,
link_text='Browse')
else:
revision_data['directory'] = \
gen_directory_link(revision['directory'], link_text='Browse')
revision_data['history log'] = \
gen_revision_log_link(sha1_git, link_text='Browse')
revision_data['id'] = sha1_git
revision_data['merge'] = revision['merge']
revision_data['metadata'] = json.dumps(revision['metadata'],
......@@ -169,6 +164,8 @@ def revision_browse(request, sha1_git):
kwargs={'sha1_git': sha1_git},
query_params=query_params)
history_url = get_revision_log_url(sha1_git, origin_context)
return render(request, 'revision.html',
{'empty_browse': False,
'heading': 'Revision information',
......@@ -186,7 +183,12 @@ def revision_browse(request, sha1_git):
'content': content,
'mimetype': mimetype,
'language': language,
'breadcrumbs': breadcrumbs})
'breadcrumbs': breadcrumbs,
'top_right_link': history_url,
'top_right_link_text': mark_safe(
'<i class="fa fa-history fa-fw" aria-hidden="true"></i>'
'History'
)})
NB_LOG_ENTRIES = 20
......
<div class="swh-browse-top-navigation">
{% if origin_context %}
{% if origin_context and origin_context.branch %}
<div class="dropdown" style="float: left;" id="swh-branches-releases-dd">
<button class="btn btn-md btn-swh dropdown-toggle" type="button" data-toggle="dropdown">
{% if origin_context.branch %}
......
......@@ -23,8 +23,8 @@
{{ parents_links }}
</div>
<div style="padding-bottom:5px; border-top: 1px solid #ddd; border-bottom: 1px solid #ddd;">
{% include "includes/breadcrumbs.html" %}
<div style="padding-bottom:5px; border-top: 1px solid #ddd;">
{% include "includes/top-navigation.html" %}
</div>
{% if content %}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment