diff options
author | Tap <visibletrap@gmail.com> | 2016-02-17 21:52:12 +0800 |
---|---|---|
committer | Tap <visibletrap@gmail.com> | 2016-02-17 21:52:12 +0800 |
commit | 2e81b1558bb02da5eacd24484a665a48e8a1cece (patch) | |
tree | 9843854846e2616075d7dbcaf0ca1527cb7de9a4 | |
parent | 943bed68bc42d02246ddea63a25432d3aba709e7 (diff) | |
download | gitlab-ce-2e81b1558bb02da5eacd24484a665a48e8a1cece.tar.gz |
Label description and Label row
- Add label description
- Show label row when filtering issues or merge requests by label
-rw-r--r-- | CHANGELOG | 2 | ||||
-rw-r--r-- | app/assets/stylesheets/pages/labels.scss | 2 | ||||
-rw-r--r-- | app/controllers/admin/labels_controller.rb | 2 | ||||
-rw-r--r-- | app/controllers/concerns/issues_action.rb | 2 | ||||
-rw-r--r-- | app/controllers/concerns/merge_requests_action.rb | 2 | ||||
-rw-r--r-- | app/controllers/projects/issues_controller.rb | 1 | ||||
-rw-r--r-- | app/controllers/projects/labels_controller.rb | 2 | ||||
-rw-r--r-- | app/controllers/projects/merge_requests_controller.rb | 2 | ||||
-rw-r--r-- | app/models/label.rb | 15 | ||||
-rw-r--r-- | app/views/admin/labels/_form.html.haml | 4 | ||||
-rw-r--r-- | app/views/admin/labels/_label.html.haml | 10 | ||||
-rw-r--r-- | app/views/projects/labels/_form.html.haml | 4 | ||||
-rw-r--r-- | app/views/projects/labels/_label.html.haml | 10 | ||||
-rw-r--r-- | app/views/shared/_label_row.html.haml | 12 | ||||
-rw-r--r-- | app/views/shared/issuable/_filter.html.haml | 4 | ||||
-rw-r--r-- | db/migrate/20160217100506_add_description_to_label.rb | 5 | ||||
-rw-r--r-- | db/schema.rb | 5 |
17 files changed, 59 insertions, 25 deletions
diff --git a/CHANGELOG b/CHANGELOG index 74bc366d203..5d0a01519a5 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -62,6 +62,8 @@ v 8.5.0 (unreleased) - Replaces "Create merge request" link with one to the "Merge Request" when one exists - Fix CI builds badge, add a new link to builds badge, deprecate the old one - Fix broken link to project in build notification emails + - Add label description + - Show label row when filtering issues or merge requests by label v 8.4.4 - Update omniauth-saml gem to 1.4.2 diff --git a/app/assets/stylesheets/pages/labels.scss b/app/assets/stylesheets/pages/labels.scss index d1590e42fcb..1c78aafdb87 100644 --- a/app/assets/stylesheets/pages/labels.scss +++ b/app/assets/stylesheets/pages/labels.scss @@ -9,7 +9,7 @@ } } -.manage-labels-list { +.label-row { .label { padding: 9px; font-size: 14px; diff --git a/app/controllers/admin/labels_controller.rb b/app/controllers/admin/labels_controller.rb index 3b070e65d0d..d79ce2b10fe 100644 --- a/app/controllers/admin/labels_controller.rb +++ b/app/controllers/admin/labels_controller.rb @@ -53,6 +53,6 @@ class Admin::LabelsController < Admin::ApplicationController end def label_params - params[:label].permit(:title, :color) + params[:label].permit(:title, :description, :color) end end diff --git a/app/controllers/concerns/issues_action.rb b/app/controllers/concerns/issues_action.rb index effd4721949..91b58c47dd9 100644 --- a/app/controllers/concerns/issues_action.rb +++ b/app/controllers/concerns/issues_action.rb @@ -6,6 +6,8 @@ module IssuesAction @issues = @issues.page(params[:page]).per(ApplicationController::PER_PAGE) @issues = @issues.preload(:author, :project) + @label = Label.where(project: @projects).find_by(title: params[:label_name]) + respond_to do |format| format.html format.atom { render layout: false } diff --git a/app/controllers/concerns/merge_requests_action.rb b/app/controllers/concerns/merge_requests_action.rb index f7a25111db9..da30477fb30 100644 --- a/app/controllers/concerns/merge_requests_action.rb +++ b/app/controllers/concerns/merge_requests_action.rb @@ -5,5 +5,7 @@ module MergeRequestsAction @merge_requests = get_merge_requests_collection @merge_requests = @merge_requests.page(params[:page]).per(ApplicationController::PER_PAGE) @merge_requests = @merge_requests.preload(:author, :target_project) + + @label = Label.where(project: @projects).find_by(title: params[:label_name]) end end diff --git a/app/controllers/projects/issues_controller.rb b/app/controllers/projects/issues_controller.rb index 68244883803..67faa1e4437 100644 --- a/app/controllers/projects/issues_controller.rb +++ b/app/controllers/projects/issues_controller.rb @@ -32,6 +32,7 @@ class Projects::IssuesController < Projects::ApplicationController end @issues = @issues.page(params[:page]).per(PER_PAGE) + @label = @project.labels.find_by(title: params[:label_name]) respond_to do |format| format.html diff --git a/app/controllers/projects/labels_controller.rb b/app/controllers/projects/labels_controller.rb index 86d6e3e0f6b..ecac3c395ec 100644 --- a/app/controllers/projects/labels_controller.rb +++ b/app/controllers/projects/labels_controller.rb @@ -69,7 +69,7 @@ class Projects::LabelsController < Projects::ApplicationController end def label_params - params.require(:label).permit(:title, :color) + params.require(:label).permit(:title, :description, :color) end def label diff --git a/app/controllers/projects/merge_requests_controller.rb b/app/controllers/projects/merge_requests_controller.rb index 9d588c370aa..86b8e7bdf2e 100644 --- a/app/controllers/projects/merge_requests_controller.rb +++ b/app/controllers/projects/merge_requests_controller.rb @@ -34,6 +34,8 @@ class Projects::MergeRequestsController < Projects::ApplicationController @merge_requests = @merge_requests.page(params[:page]).per(PER_PAGE) @merge_requests = @merge_requests.preload(:target_project) + @label = @project.labels.find_by(title: params[:label_name]) + respond_to do |format| format.html format.json do diff --git a/app/models/label.rb b/app/models/label.rb index 220da10a6ab..2257a69002e 100644 --- a/app/models/label.rb +++ b/app/models/label.rb @@ -2,13 +2,14 @@ # # Table name: labels # -# id :integer not null, primary key -# title :string(255) -# color :string(255) -# project_id :integer -# created_at :datetime -# updated_at :datetime -# template :boolean default(FALSE) +# id :integer not null, primary key +# title :string(255) +# color :string(255) +# project_id :integer +# created_at :datetime +# updated_at :datetime +# template :boolean default(FALSE) +# description :string(255) # class Label < ActiveRecord::Base diff --git a/app/views/admin/labels/_form.html.haml b/app/views/admin/labels/_form.html.haml index eaa94ed9e36..8c6b389bf15 100644 --- a/app/views/admin/labels/_form.html.haml +++ b/app/views/admin/labels/_form.html.haml @@ -12,6 +12,10 @@ .col-sm-10 = f.text_field :title, class: "form-control", required: true .form-group + = f.label :description, class: 'control-label' + .col-sm-10 + = f.text_field :description, class: "form-control js-quick-submit" + .form-group = f.label :color, "Background color", class: 'control-label' .col-sm-10 .input-group diff --git a/app/views/admin/labels/_label.html.haml b/app/views/admin/labels/_label.html.haml index e3ccbf6c3a8..5736a301910 100644 --- a/app/views/admin/labels/_label.html.haml +++ b/app/views/admin/labels/_label.html.haml @@ -1,5 +1,7 @@ %li{id: dom_id(label)} - = render_colored_label(label) - .pull-right - = link_to 'Edit', edit_admin_label_path(label), class: 'btn btn-sm' - = link_to 'Delete', admin_label_path(label), class: 'btn btn-sm btn-remove remove-row', method: :delete, remote: true, data: {confirm: "Delete this label? Are you sure?"} + .label-row + = render_colored_label(label) + = markdown(label.description, pipeline: :single_line) + .pull-right + = link_to 'Edit', edit_admin_label_path(label), class: 'btn btn-sm' + = link_to 'Delete', admin_label_path(label), class: 'btn btn-sm btn-remove remove-row', method: :delete, remote: true, data: {confirm: "Delete this label? Are you sure?"} diff --git a/app/views/projects/labels/_form.html.haml b/app/views/projects/labels/_form.html.haml index 5ce2a7b985d..d63d3a3ec20 100644 --- a/app/views/projects/labels/_form.html.haml +++ b/app/views/projects/labels/_form.html.haml @@ -12,6 +12,10 @@ .col-sm-10 = f.text_field :title, class: "form-control js-quick-submit", required: true, autofocus: true .form-group + = f.label :description, class: 'control-label' + .col-sm-10 + = f.text_field :description, class: "form-control js-quick-submit" + .form-group = f.label :color, "Background color", class: 'control-label' .col-sm-10 .input-group diff --git a/app/views/projects/labels/_label.html.haml b/app/views/projects/labels/_label.html.haml index b70a9fc9fe5..3d9118892ff 100644 --- a/app/views/projects/labels/_label.html.haml +++ b/app/views/projects/labels/_label.html.haml @@ -1,10 +1,2 @@ %li{id: dom_id(label)} - = link_to_label(label) - .pull-right - %strong.append-right-20 - = link_to_label(label) do - = pluralize label.open_issues_count, 'open issue' - - - if can? current_user, :admin_label, @project - = link_to 'Edit', edit_namespace_project_label_path(@project.namespace, @project, label), class: 'btn btn-sm' - = link_to 'Delete', namespace_project_label_path(@project.namespace, @project, label), class: 'btn btn-sm btn-remove remove-row', method: :delete, remote: true, data: {confirm: "Remove this label? Are you sure?"} + = render "shared/label_row", label: label, editable: true diff --git a/app/views/shared/_label_row.html.haml b/app/views/shared/_label_row.html.haml new file mode 100644 index 00000000000..adfd4e02b2e --- /dev/null +++ b/app/views/shared/_label_row.html.haml @@ -0,0 +1,12 @@ +.label-row + = link_to_label(label) + = markdown(label.description, pipeline: :single_line) + + .pull-right + %strong.append-right-20 + = link_to_label(label) do + = pluralize label.open_issues_count, 'open issue' + + - if defined?(editable) && editable && can?(current_user, :admin_label, @project) + = link_to 'Edit', edit_namespace_project_label_path(@project.namespace, @project, label), class: 'btn btn-sm' + = link_to 'Delete', namespace_project_label_path(@project.namespace, @project, label), class: 'btn btn-sm btn-remove remove-row', method: :delete, remote: true, data: {confirm: "Remove this label? Are you sure?"} diff --git a/app/views/shared/issuable/_filter.html.haml b/app/views/shared/issuable/_filter.html.haml index b7e350d27af..c5d61fe3bf0 100644 --- a/app/views/shared/issuable/_filter.html.haml +++ b/app/views/shared/issuable/_filter.html.haml @@ -41,6 +41,10 @@ .filter-item.inline = button_tag "Update issues", class: "btn update_selected_issues btn-save" +- if @label.present? + .gray-content-block.second-block + = render "shared/label_row", label: @label + :javascript new UsersSelect(); $('form.filter-form').on('submit', function (event) { diff --git a/db/migrate/20160217100506_add_description_to_label.rb b/db/migrate/20160217100506_add_description_to_label.rb new file mode 100644 index 00000000000..eed6d1f236a --- /dev/null +++ b/db/migrate/20160217100506_add_description_to_label.rb @@ -0,0 +1,5 @@ +class AddDescriptionToLabel < ActiveRecord::Migration + def change + add_column :labels, :description, :string + end +end diff --git a/db/schema.rb b/db/schema.rb index 689a8c3ecc5..0976058bd16 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: 20160209130428) do +ActiveRecord::Schema.define(version: 20160217100506) do # These are extensions that must be enabled in order to support this database enable_extension "plpgsql" @@ -442,7 +442,8 @@ ActiveRecord::Schema.define(version: 20160209130428) do t.integer "project_id" t.datetime "created_at" t.datetime "updated_at" - t.boolean "template", default: false + t.boolean "template", default: false + t.string "description" end add_index "labels", ["project_id"], name: "index_labels_on_project_id", using: :btree |