Skip to content
Snippets Groups Projects
Commit 2963e7fd authored by Daniel Gerhardt's avatar Daniel Gerhardt
Browse files

Add ref switching support for graphs

It is now possible to view contributor and commit statistics for
refs beyond the default branch.

Additionally, conditions in RefsController#switch have been refactored
in order that a `case` block is used now.
parent 570fd9f5
No related branches found
No related tags found
No related merge requests found
Loading
Loading
@@ -2,6 +2,7 @@ Please view this file on the master branch, on stable branches it's out of date.
 
v 7.13.0 (unreleased)
- Fix redirection to home page URL for unauthorized users (Daniel Gerhardt)
- Add branch switching support for graphs (Daniel Gerhardt)
- Fix external issue tracker hook/test for HTTPS URLs (Daniel Gerhardt)
- Remove link leading to a 404 error in Deploy Keys page (Stan Hu)
- Add support for unlocking users in admin settings (Stan Hu)
Loading
Loading
class Projects::GraphsController < Projects::ApplicationController
include ExtractsPath
# Authorize
before_action :require_non_empty_project
before_action :assign_ref_vars
before_action :authorize_download_code!
 
def show
Loading
Loading
@@ -13,7 +16,7 @@ class Projects::GraphsController < Projects::ApplicationController
end
 
def commits
@commits = @project.repository.commits(nil, nil, 2000, 0, true)
@commits = @project.repository.commits(@ref, nil, 2000, 0, true)
@commits_graph = Gitlab::Graphs::Commits.new(@commits)
@commits_per_week_days = @commits_graph.commits_per_week_days
@commits_per_time = @commits_graph.commits_per_time
Loading
Loading
@@ -23,7 +26,7 @@ class Projects::GraphsController < Projects::ApplicationController
private
 
def fetch_graph
@commits = @project.repository.commits(nil, nil, 6000, 0, true)
@commits = @project.repository.commits(@ref, nil, 6000, 0, true)
@log = []
 
@commits.each do |commit|
Loading
Loading
Loading
Loading
@@ -8,17 +8,21 @@ class Projects::RefsController < Projects::ApplicationController
def switch
respond_to do |format|
format.html do
new_path = if params[:destination] == "tree"
namespace_project_tree_path(@project.namespace, @project,
(@id))
elsif params[:destination] == "blob"
namespace_project_blob_path(@project.namespace, @project,
(@id))
elsif params[:destination] == "graph"
namespace_project_network_path(@project.namespace, @project, @id, @options)
else
namespace_project_commits_path(@project.namespace, @project, @id)
end
new_path =
case params[:destination]
when "tree"
namespace_project_tree_path(@project.namespace, @project, @id)
when "blob"
namespace_project_blob_path(@project.namespace, @project, @id)
when "graph"
namespace_project_network_path(@project.namespace, @project, @id, @options)
when "graphs"
namespace_project_graph_path(@project.namespace, @project, @id)
when "graphs_commits"
commits_namespace_project_graph_path(@project.namespace, @project, @id)
else
namespace_project_commits_path(@project.namespace, @project, @id)
end
 
redirect_to new_path
end
Loading
Loading
- page_title "Commit statistics"
.tree-ref-holder
= render 'shared/ref_switcher', destination: 'graphs_commits'
= render 'head'
 
%p.lead
Commit statistics for
%strong #{@repository.root_ref}
%strong #{@ref}
#{@commits_graph.start_date.strftime('%b %d')} - #{@commits_graph.end_date.strftime('%b %d')}
 
.row
Loading
Loading
- page_title "Contributor statistics"
.tree-ref-holder
= render 'shared/ref_switcher', destination: 'graphs'
= render 'head'
.loading-graph
.center
%h3.page-title
Loading
Loading
@@ -11,7 +14,7 @@
.header.clearfix
%h3#date_header.page-title
%p.light
Commits to #{@project.default_branch}, excluding merge commits. Limited by 6,000 commits
Commits to #{@ref}, excluding merge commits. Limited by 6,000 commits
%input#brush_change{:type => "hidden"}
.graphs
#contributors-master
Loading
Loading
@@ -35,4 +38,3 @@
$(".stat-graph").fadeIn();
$(".loading-graph").hide();
dataType: "json"
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