summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2014-09-05 14:39:40 +0300
committerDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2014-09-05 14:39:40 +0300
commit60a98584f672bafdf86b410809fb408764ad8fe5 (patch)
tree92852fa4ce6de631306a0664b5cd38ad45442c3e
parent3a971ca9ef612f44950182ded49c3bf9907fa530 (diff)
parentbd2355191fa45ec04ba7b79b7fcb2b26088abc16 (diff)
downloadgitlab-ce-60a98584f672bafdf86b410809fb408764ad8fe5.tar.gz
Merge pull request #7658 from Razer6/refresh_labels_page_on_delete
Show labels help message if last label is deleted
-rw-r--r--app/controllers/projects/labels_controller.rb2
-rw-r--r--app/views/projects/labels/destroy.js.haml2
-rw-r--r--app/views/projects/labels/index.html.haml16
-rw-r--r--features/project/issues/labels.feature5
-rw-r--r--features/steps/project/labels.rb16
5 files changed, 32 insertions, 9 deletions
diff --git a/app/controllers/projects/labels_controller.rb b/app/controllers/projects/labels_controller.rb
index 87d1c942034..6c7bde9c5d5 100644
--- a/app/controllers/projects/labels_controller.rb
+++ b/app/controllers/projects/labels_controller.rb
@@ -52,7 +52,7 @@ class Projects::LabelsController < Projects::ApplicationController
respond_to do |format|
format.html { redirect_to project_labels_path(@project), notice: 'Label was removed' }
- format.js { render nothing: true }
+ format.js
end
end
diff --git a/app/views/projects/labels/destroy.js.haml b/app/views/projects/labels/destroy.js.haml
new file mode 100644
index 00000000000..1b4c83ab097
--- /dev/null
+++ b/app/views/projects/labels/destroy.js.haml
@@ -0,0 +1,2 @@
+- if @project.labels.size == 0
+ $('.labels').load(document.URL + ' .light-well').hide().fadeIn(1000)
diff --git a/app/views/projects/labels/index.html.haml b/app/views/projects/labels/index.html.haml
index 075779a9c88..06568278de8 100644
--- a/app/views/projects/labels/index.html.haml
+++ b/app/views/projects/labels/index.html.haml
@@ -7,11 +7,11 @@
Labels
%hr
-- if @labels.present?
- %ul.bordered-list.manage-labels-list
- = render @labels
- = paginate @labels, theme: 'gitlab'
-
-- else
- .light-well
- .nothing-here-block Create first label or #{link_to 'generate', generate_project_labels_path(@project), method: :post} default set of labels
+.labels
+ - if @labels.present?
+ %ul.bordered-list.manage-labels-list
+ = render @labels
+ = paginate @labels, theme: 'gitlab'
+ - else
+ .light-well
+ .nothing-here-block Create first label or #{link_to 'generate', generate_project_labels_path(@project), method: :post} default set of labels
diff --git a/features/project/issues/labels.feature b/features/project/issues/labels.feature
index 29cf5307271..77ee5d8a686 100644
--- a/features/project/issues/labels.feature
+++ b/features/project/issues/labels.feature
@@ -24,6 +24,11 @@ Feature: Project Labels
When I remove label 'bug'
Then I should not see label 'bug'
+ @javascript
+ Scenario: I remove all labels
+ When I delete all labels
+ Then I should see labels help message
+
Scenario: I create a label with invalid color
Given I visit project "Shop" new label page
When I submit new label with invalid color
diff --git a/features/steps/project/labels.rb b/features/steps/project/labels.rb
index 8320405e096..6dd4df8a1ad 100644
--- a/features/steps/project/labels.rb
+++ b/features/steps/project/labels.rb
@@ -25,6 +25,22 @@ class ProjectLabels < Spinach::FeatureSteps
end
end
+ step 'I delete all labels' do
+ within '.labels' do
+ all('.btn-remove').each do |remove|
+ remove.click
+ sleep 0.05
+ end
+ end
+ end
+
+ step 'I should see labels help message' do
+ within '.labels' do
+ page.should have_content 'Create first label or generate default set of '\
+ 'labels'
+ end
+ end
+
step 'I submit new label \'support\'' do
fill_in 'Title', with: 'support'
fill_in 'Background Color', with: '#F95610'