Add page titles to header for group and project
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
This commit is contained in:
parent
b35d5a6a16
commit
0c8f07774c
6 changed files with 67 additions and 20 deletions
|
@ -17,6 +17,14 @@ module GitlabRoutingHelper
|
|||
namespace_project_path(project.namespace, project, *args)
|
||||
end
|
||||
|
||||
def project_files_path(project, *args)
|
||||
namespace_project_tree_path(project.namespace, project, @ref || project.repository.root_ref)
|
||||
end
|
||||
|
||||
def project_commits_path(project, *args)
|
||||
namespace_project_commits_path(project.namespace, project, @ref || project.repository.root_ref)
|
||||
end
|
||||
|
||||
def activity_project_path(project, *args)
|
||||
activity_namespace_project_path(project.namespace, project, *args)
|
||||
end
|
||||
|
|
|
@ -43,24 +43,22 @@ module ProjectsHelper
|
|||
end
|
||||
end
|
||||
|
||||
def project_title(project)
|
||||
if project.group
|
||||
content_tag :span do
|
||||
link_to(
|
||||
simple_sanitize(project.group.name), group_path(project.group)
|
||||
) + ' / ' +
|
||||
link_to(simple_sanitize(project.name),
|
||||
project_path(project))
|
||||
end
|
||||
else
|
||||
owner = project.namespace.owner
|
||||
content_tag :span do
|
||||
link_to(
|
||||
simple_sanitize(owner.name), user_path(owner)
|
||||
) + ' / ' +
|
||||
link_to(simple_sanitize(project.name),
|
||||
project_path(project))
|
||||
def project_title(project, name = nil, url = nil)
|
||||
namespace_link =
|
||||
if project.group
|
||||
link_to(simple_sanitize(project.group.name), group_path(project.group))
|
||||
else
|
||||
owner = project.namespace.owner
|
||||
link_to(simple_sanitize(owner.name), user_path(owner))
|
||||
end
|
||||
|
||||
project_link = link_to(simple_sanitize(project.name), project_path(project))
|
||||
|
||||
full_title = namespace_link + ' / ' + project_link
|
||||
full_title += ' · '.html_safe + link_to(simple_sanitize(name), url) if name
|
||||
|
||||
content_tag :span do
|
||||
full_title
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -315,6 +313,43 @@ module ProjectsHelper
|
|||
end
|
||||
end
|
||||
|
||||
def detect_project_title(project)
|
||||
current_ref = @ref || project.repository.root_ref
|
||||
|
||||
name, url =
|
||||
if current_controller? 'wikis'
|
||||
['Wiki', get_project_wiki_path(project)]
|
||||
elsif current_controller? 'project_members'
|
||||
['Members', namespace_project_project_members_path(project.namespace, project)]
|
||||
elsif current_controller? 'labels'
|
||||
['Labels', namespace_project_labels_path(project.namespace, project)]
|
||||
elsif current_controller? 'members'
|
||||
['Members', project_files_path(project)]
|
||||
elsif current_controller? 'commits'
|
||||
['Commits', project_commits_path(project)]
|
||||
elsif current_controller? 'graphs'
|
||||
['Graphs', namespace_project_graph_path(project.namespace, project, current_ref)]
|
||||
elsif current_controller? 'network'
|
||||
['Network', namespace_project_network_path(project.namespace, project, current_ref)]
|
||||
elsif current_controller? 'milestones'
|
||||
['Milestones', namespace_project_milestones_path(project.namespace, project)]
|
||||
elsif current_controller? 'snippets'
|
||||
['Snippets', namespace_project_snippets_path(project.namespace, project)]
|
||||
elsif current_controller? 'issues'
|
||||
['Issues', namespace_project_issues_path(project.namespace, project)]
|
||||
elsif current_controller? 'merge_requests'
|
||||
['Merge Requests', namespace_project_merge_requests_path(project.namespace, project)]
|
||||
elsif current_controller? 'tree', 'blob'
|
||||
['Files', project_files_path(project)]
|
||||
elsif current_path? 'projects#activity'
|
||||
['Activity', activity_project_path(project)]
|
||||
else
|
||||
[nil, nil]
|
||||
end
|
||||
|
||||
project_title(project, name, url)
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def filename_path(project, filename)
|
||||
|
|
|
@ -1,4 +1,6 @@
|
|||
- header_title group_title(@group, "Settings", edit_group_path(@group))
|
||||
- @blank_container = true
|
||||
|
||||
.panel.panel-default
|
||||
.panel-heading
|
||||
%strong= @group.name
|
||||
|
|
|
@ -1,4 +1,6 @@
|
|||
- page_title "Projects"
|
||||
- header_title group_title(@group, "Projects", projects_group_path(@group))
|
||||
|
||||
.panel.panel-default
|
||||
.panel-heading
|
||||
%strong= @group.name
|
||||
|
|
|
@ -26,14 +26,14 @@
|
|||
Activity
|
||||
- if project_nav_tab? :files
|
||||
= nav_link(controller: %w(tree blob blame edit_tree new_tree)) do
|
||||
= link_to namespace_project_tree_path(@project.namespace, @project, @ref || @repository.root_ref), title: 'Files', class: 'shortcuts-tree', data: {placement: 'right'} do
|
||||
= link_to project_files_path(@project), title: 'Files', class: 'shortcuts-tree', data: {placement: 'right'} do
|
||||
= icon('files-o fw')
|
||||
%span
|
||||
Files
|
||||
|
||||
- if project_nav_tab? :commits
|
||||
= nav_link(controller: %w(commit commits compare repositories tags branches)) do
|
||||
= link_to namespace_project_commits_path(@project.namespace, @project, @ref || @repository.root_ref), title: 'Commits', class: 'shortcuts-commits', data: {placement: 'right'} do
|
||||
= link_to project_commits_path(@project), title: 'Commits', class: 'shortcuts-commits', data: {placement: 'right'} do
|
||||
= icon('history fw')
|
||||
%span
|
||||
Commits
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
- page_title @project.name_with_namespace
|
||||
- header_title project_title(@project)
|
||||
- header_title detect_project_title(@project)
|
||||
- sidebar "project" unless sidebar
|
||||
|
||||
- content_for :scripts_body_top do
|
||||
|
|
Loading…
Reference in a new issue