BigW Consortium Gitlab
Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
G
gitlab-ce
Project
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Commits
Issue Boards
Open sidebar
Forest Godfrey
gitlab-ce
Commits
c0d47ad5
Commit
c0d47ad5
authored
Mar 21, 2017
by
Rémy Coutable
Committed by
DJ Mountney
Mar 21, 2017
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Merge branch 'revert-
37328406
' into 'master'
Revert "Merge branch '29534-todos-performance' into 'master'" Closes #29758 See merge request !10116
parent
f01352f1
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
8 additions
and
56 deletions
+8
-56
todos_controller.rb
app/controllers/dashboard/todos_controller.rb
+1
-1
todos_finder.rb
app/finders/todos_finder.rb
+0
-12
todos_helper.rb
app/helpers/todos_helper.rb
+3
-7
merge_request.rb
app/models/merge_request.rb
+4
-1
merge_requests.rb
spec/factories/merge_requests.rb
+0
-1
todos_helper_spec.rb
spec/helpers/todos_helper_spec.rb
+0
-34
No files found.
app/controllers/dashboard/todos_controller.rb
View file @
c0d47ad5
...
...
@@ -45,7 +45,7 @@ class Dashboard::TodosController < Dashboard::ApplicationController
private
def
find_todos
@todos
||=
TodosFinder
.
new
(
current_user
,
params
.
merge
(
include_associations:
true
)
).
execute
@todos
||=
TodosFinder
.
new
(
current_user
,
params
).
execute
end
def
todos_counts
...
...
app/finders/todos_finder.rb
View file @
c0d47ad5
...
...
@@ -24,7 +24,6 @@ class TodosFinder
def
execute
items
=
current_user
.
todos
items
=
include_associations
(
items
)
items
=
by_action_id
(
items
)
items
=
by_action
(
items
)
items
=
by_author
(
items
)
...
...
@@ -39,17 +38,6 @@ class TodosFinder
private
def
include_associations
(
items
)
return
items
unless
params
[
:include_associations
]
items
.
includes
(
[
target:
{
project:
[
:route
,
namespace: :route
]
},
author:
{
namespace: :route
},
]
)
end
def
action_id?
action_id
.
present?
&&
Todo
::
ACTION_NAMES
.
has_key?
(
action_id
.
to_i
)
end
...
...
app/helpers/todos_helper.rb
View file @
c0d47ad5
...
...
@@ -39,13 +39,9 @@ module TodosHelper
namespace_project_commit_path
(
todo
.
project
.
namespace
.
becomes
(
Namespace
),
todo
.
project
,
todo
.
target
,
anchor:
anchor
)
else
if
todo
.
build_failed?
# associated namespace and route would be loaded from the db again if todo.project was used
project
=
todo
.
target
.
project
path
=
[
:pipelines
,
project
.
namespace
.
becomes
(
Namespace
),
project
,
todo
.
target
]
else
path
=
[
todo
.
target
]
end
path
=
[
todo
.
project
.
namespace
.
becomes
(
Namespace
),
todo
.
project
,
todo
.
target
]
path
.
unshift
(
:pipelines
)
if
todo
.
build_failed?
polymorphic_path
(
path
,
anchor:
anchor
)
end
...
...
app/models/merge_request.rb
View file @
c0d47ad5
...
...
@@ -7,7 +7,6 @@ class MergeRequest < ActiveRecord::Base
belongs_to
:target_project
,
class_name:
"Project"
belongs_to
:source_project
,
class_name:
"Project"
belongs_to
:project
,
foreign_key: :target_project_id
belongs_to
:merge_user
,
class_name:
"User"
has_many
:merge_request_diffs
,
dependent: :destroy
...
...
@@ -538,6 +537,10 @@ class MergeRequest < ActiveRecord::Base
target_project
!=
source_project
end
def
project
target_project
end
# If the merge request closes any issues, save this information in the
# `MergeRequestsClosingIssues` model. This is a performance optimization.
# Calculating this information for a number of merge requests requires
...
...
spec/factories/merge_requests.rb
View file @
c0d47ad5
...
...
@@ -4,7 +4,6 @@ FactoryGirl.define do
author
association
:source_project
,
:repository
,
factory: :project
target_project
{
source_project
}
project
{
target_project
}
# $ git log --pretty=oneline feature..master
# 5937ac0a7beb003549fc5fd26fc247adbce4a52e Add submodule from gitlab.com
...
...
spec/helpers/todos_helper_spec.rb
View file @
c0d47ad5
require
"spec_helper"
describe
TodosHelper
do
include
GitlabRoutingHelper
describe
'#todo_target_path'
do
let
(
:project
)
{
create
(
:project
)
}
let
(
:merge_request
)
{
create
(
:merge_request
,
target_project:
project
,
source_project:
project
)
}
let
(
:issue
)
{
create
(
:issue
,
project:
project
)
}
let
(
:note
)
{
create
(
:note_on_issue
,
noteable:
issue
,
project:
project
)
}
let
(
:mr_todo
)
{
build
(
:todo
,
project:
project
,
target:
merge_request
)
}
let
(
:issue_todo
)
{
build
(
:todo
,
project:
project
,
target:
issue
)
}
let
(
:note_todo
)
{
build
(
:todo
,
project:
project
,
target:
issue
,
note:
note
)
}
let
(
:build_failed_todo
)
{
build
(
:todo
,
:build_failed
,
project:
project
,
target:
merge_request
)
}
it
'returns correct path to the todo MR'
do
expect
(
todo_target_path
(
mr_todo
)).
to
eq
(
"/
#{
project
.
full_path
}
/merge_requests/
#{
merge_request
.
iid
}
"
)
end
it
'returns correct path to the todo issue'
do
expect
(
todo_target_path
(
issue_todo
)).
to
eq
(
"/
#{
project
.
full_path
}
/issues/
#{
issue
.
iid
}
"
)
end
it
'returns correct path to the todo note'
do
expect
(
todo_target_path
(
note_todo
)).
to
eq
(
"/
#{
project
.
full_path
}
/issues/
#{
issue
.
iid
}
#note_
#{
note
.
id
}
"
)
end
it
'returns correct path to build_todo MR when pipeline failed'
do
expect
(
todo_target_path
(
build_failed_todo
)).
to
eq
(
"/
#{
project
.
full_path
}
/merge_requests/
#{
merge_request
.
iid
}
/pipelines"
)
end
end
describe
'#todo_projects_options'
do
let
(
:projects
)
{
create_list
(
:empty_project
,
3
)
}
let
(
:user
)
{
create
(
:user
)
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment