summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--app/helpers/application_helper.rb15
-rw-r--r--db/schema.rb9
-rw-r--r--doc/update/8.11-to-8.12.md2
-rw-r--r--doc/user/project/merge_requests/img/versions-compare.pngbin0 -> 68722 bytes
-rw-r--r--doc/user/project/merge_requests/img/versions-dropdown.pngbin0 -> 60587 bytes
-rw-r--r--doc/user/project/merge_requests/img/versions.pngbin35001 -> 171413 bytes
-rw-r--r--doc/user/project/merge_requests/versions.md6
-rw-r--r--spec/features/issues/filter_by_labels_spec.rb20
8 files changed, 37 insertions, 15 deletions
diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb
index ed41bf04fc0..2163a437c48 100644
--- a/app/helpers/application_helper.rb
+++ b/app/helpers/application_helper.rb
@@ -286,8 +286,19 @@ module ApplicationHelper
}
state_title = titles[state] || state.to_s.humanize
- count = records.public_send(state).size
- html = content_tag :span, state_title
+ records_with_state = records.public_send(state)
+
+ # When filtering by multiple labels, the result of query.count is a Hash
+ # of the form { issuable_id1 => N, issuable_id2 => N }, where N is the
+ # number of labels selected. The ugly "trick" is to load the issuables
+ # as an array and get the size of the array...
+ # We should probably try to solve this properly in the future.
+ # See https://gitlab.com/gitlab-org/gitlab-ce/issues/22414
+ label_names = Array(params.fetch(:label_name, []))
+ records_with_state = records_with_state.to_a if label_names.many?
+
+ count = records_with_state.size
+ html = content_tag :span, state_title
if count.present?
html += " "
diff --git a/db/schema.rb b/db/schema.rb
index fc98694e2eb..59b3e237707 100644
--- a/db/schema.rb
+++ b/db/schema.rb
@@ -11,7 +11,7 @@
#
# It's strongly recommended that you check this file into your version control system.
-ActiveRecord::Schema.define(version: 20160915081353) do
+ActiveRecord::Schema.define(version: 20160915042921) do
# These are extensions that must be enabled in order to support this database
enable_extension "plpgsql"
@@ -158,9 +158,9 @@ ActiveRecord::Schema.define(version: 20160915081353) do
t.text "commands"
t.integer "job_id"
t.string "name"
- t.boolean "deploy", default: false
+ t.boolean "deploy", default: false
t.text "options"
- t.boolean "allow_failure", default: false, null: false
+ t.boolean "allow_failure", default: false, null: false
t.string "stage"
t.integer "trigger_request_id"
t.integer "stage_idx"
@@ -441,11 +441,11 @@ ActiveRecord::Schema.define(version: 20160915081353) do
create_table "issue_metrics", force: :cascade do |t|
t.integer "issue_id", null: false
+ t.datetime "first_mentioned_in_commit_at"
t.datetime "first_associated_with_milestone_at"
t.datetime "first_added_to_board_at"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
- t.datetime "first_mentioned_in_commit_at"
end
add_index "issue_metrics", ["issue_id"], name: "index_issue_metrics", using: :btree
@@ -602,6 +602,7 @@ ActiveRecord::Schema.define(version: 20160915081353) do
t.datetime "updated_at", null: false
end
+ add_index "merge_request_metrics", ["first_deployed_to_production_at"], name: "index_merge_request_metrics_on_first_deployed_to_production_at", using: :btree
add_index "merge_request_metrics", ["merge_request_id"], name: "index_merge_request_metrics", using: :btree
create_table "merge_requests", force: :cascade do |t|
diff --git a/doc/update/8.11-to-8.12.md b/doc/update/8.11-to-8.12.md
index 686c7e8e7b5..076696f565b 100644
--- a/doc/update/8.11-to-8.12.md
+++ b/doc/update/8.11-to-8.12.md
@@ -70,7 +70,7 @@ sudo -u git -H git checkout 8-12-stable-ee
```bash
cd /home/git/gitlab-shell
sudo -u git -H git fetch --all --tags
-sudo -u git -H git checkout v3.5.0
+sudo -u git -H git checkout v3.6.0
```
### 6. Update gitlab-workhorse
diff --git a/doc/user/project/merge_requests/img/versions-compare.png b/doc/user/project/merge_requests/img/versions-compare.png
new file mode 100644
index 00000000000..890cae7768c
--- /dev/null
+++ b/doc/user/project/merge_requests/img/versions-compare.png
Binary files differ
diff --git a/doc/user/project/merge_requests/img/versions-dropdown.png b/doc/user/project/merge_requests/img/versions-dropdown.png
new file mode 100644
index 00000000000..9bab9304e14
--- /dev/null
+++ b/doc/user/project/merge_requests/img/versions-dropdown.png
Binary files differ
diff --git a/doc/user/project/merge_requests/img/versions.png b/doc/user/project/merge_requests/img/versions.png
index f279ccd7ce3..6c86f2c68ac 100644
--- a/doc/user/project/merge_requests/img/versions.png
+++ b/doc/user/project/merge_requests/img/versions.png
Binary files differ
diff --git a/doc/user/project/merge_requests/versions.md b/doc/user/project/merge_requests/versions.md
index a6aa4b47835..2805fdf635c 100644
--- a/doc/user/project/merge_requests/versions.md
+++ b/doc/user/project/merge_requests/versions.md
@@ -7,14 +7,18 @@ of merge request diff is created. When you visit a merge request that contains
more than one pushes, you can select and compare the versions of those merge
request diffs.
+![Merge Request Versions](img/versions.png)
+
By default, the latest version of changes is shown. However, you
can select an older one from version dropdown.
-![Merge Request Versions](img/versions.png)
+![Merge Request Versions](img/versions-dropdown.png)
You can also compare the merge request version with older one to see what is
changed since then.
+![Merge Request Versions](img/versions-compare.png)
+
Please note that comments are disabled while viewing outdated merge versions
or comparing to versions other than base.
diff --git a/spec/features/issues/filter_by_labels_spec.rb b/spec/features/issues/filter_by_labels_spec.rb
index 908b18e5339..7e2abd759e1 100644
--- a/spec/features/issues/filter_by_labels_spec.rb
+++ b/spec/features/issues/filter_by_labels_spec.rb
@@ -6,20 +6,19 @@ feature 'Issue filtering by Labels', feature: true do
let(:project) { create(:project, :public) }
let!(:user) { create(:user)}
let!(:label) { create(:label, project: project) }
+ let(:bug) { create(:label, project: project, title: 'bug') }
+ let(:feature) { create(:label, project: project, title: 'feature') }
+ let(:enhancement) { create(:label, project: project, title: 'enhancement') }
+ let(:issue1) { create(:issue, title: "Bugfix1", project: project) }
+ let(:issue2) { create(:issue, title: "Bugfix2", project: project) }
+ let(:issue3) { create(:issue, title: "Feature1", project: project) }
before do
- bug = create(:label, project: project, title: 'bug')
- feature = create(:label, project: project, title: 'feature')
- enhancement = create(:label, project: project, title: 'enhancement')
-
- issue1 = create(:issue, title: "Bugfix1", project: project)
issue1.labels << bug
- issue2 = create(:issue, title: "Bugfix2", project: project)
issue2.labels << bug
issue2.labels << enhancement
- issue3 = create(:issue, title: "Feature1", project: project)
issue3.labels << feature
project.team << [user, :master]
@@ -159,6 +158,13 @@ feature 'Issue filtering by Labels', feature: true do
wait_for_ajax
end
+ it 'shows a correct "Open" counter' do
+ page.within '.issues-state-filters' do
+ expect(page).not_to have_content "{#{issue2.id} => 1}"
+ expect(page).to have_content "Open 1"
+ end
+ end
+
it 'shows issue "Bugfix2" in issues list' do
expect(page).to have_content "Bugfix2"
end