From 0eecc214853fc07b9237b50ab65a6c702cbfaeb4 Mon Sep 17 00:00:00 2001
From: Phil Hughes <me@iamphill.com>
Date: Thu, 17 Mar 2016 09:09:06 +0000
Subject: [PATCH] Updated controller with before_action Fixed other issues
 based on feedback

---
 app/controllers/dashboard_controller.rb                 | 4 +---
 app/controllers/projects/milestones_controller.rb       | 8 ++++----
 app/helpers/dropdowns_helper.rb                         | 2 +-
 app/views/shared/issuable/_label_dropdown.html.haml     | 2 +-
 app/views/shared/issuable/_milestone_dropdown.html.haml | 2 +-
 5 files changed, 8 insertions(+), 10 deletions(-)

diff --git a/app/controllers/dashboard_controller.rb b/app/controllers/dashboard_controller.rb
index 614e28b6dce..36986d9a18d 100644
--- a/app/controllers/dashboard_controller.rb
+++ b/app/controllers/dashboard_controller.rb
@@ -3,7 +3,7 @@ class DashboardController < Dashboard::ApplicationController
   include MergeRequestsAction
 
   before_action :event_filter, only: :activity
-  before_action :projects, only: [:issues, :merge_requests]
+  before_action :projects, only: [:issues, :merge_requests, :labels, :milestones]
 
   respond_to :html
 
@@ -23,7 +23,6 @@ class DashboardController < Dashboard::ApplicationController
   def labels
     respond_to do |format|
       format.json do
-        projects
         render json: view_context.projects_labels_options
       end
     end
@@ -32,7 +31,6 @@ class DashboardController < Dashboard::ApplicationController
   def milestones
     respond_to do |format|
       format.json do
-        projects
         render json: view_context.projects_milestones_options
       end
     end
diff --git a/app/controllers/projects/milestones_controller.rb b/app/controllers/projects/milestones_controller.rb
index cfb0435717e..7b70f5fa7d7 100644
--- a/app/controllers/projects/milestones_controller.rb
+++ b/app/controllers/projects/milestones_controller.rb
@@ -19,13 +19,13 @@ class Projects::MilestonesController < Projects::ApplicationController
       end
 
     @milestones = @milestones.includes(:project)
-    @milestones_all = @milestones
-    @milestones = @milestones.page(params[:page]).per(PER_PAGE)
 
     respond_to do |format|
-      format.html
+      format.html do
+        @milestones = @milestones.page(params[:page]).per(PER_PAGE)
+      end
       format.json do
-        render json: @milestones_all.to_json
+        render json: @milestones_all
       end
     end
   end
diff --git a/app/helpers/dropdowns_helper.rb b/app/helpers/dropdowns_helper.rb
index 74f326e0b83..ceff1fbb161 100644
--- a/app/helpers/dropdowns_helper.rb
+++ b/app/helpers/dropdowns_helper.rb
@@ -24,7 +24,7 @@ module DropdownsHelper
           capture(&block) if block && !options.has_key?(:footer_content)
         end
 
-        if block && options.has_key?(:footer_content)
+        if block && options[:footer_content]
           output << content_tag(:div, class: "dropdown-footer") do
             capture(&block)
           end
diff --git a/app/views/shared/issuable/_label_dropdown.html.haml b/app/views/shared/issuable/_label_dropdown.html.haml
index cb490e5b759..8399c8fba13 100644
--- a/app/views/shared/issuable/_label_dropdown.html.haml
+++ b/app/views/shared/issuable/_label_dropdown.html.haml
@@ -1,7 +1,7 @@
 - if params[:label_name]
   = hidden_field_tag(:label_name, params[:label_name])
 .dropdown
-  %button.dropdown-menu-toggle.js-label-select.js-filter-submit{type: "button", data: {toggle: "dropdown", field_name: "label_name", show_no: "true", show_any: "true", selected: params[:label_name], project_id: (@project.id if @project), labels: labels_filter_path}}
+  %button.dropdown-menu-toggle.js-label-select.js-filter-submit{type: "button", data: {toggle: "dropdown", field_name: "label_name", show_no: "true", show_any: "true", selected: params[:label_name], project_id: @project.try(:id), labels: labels_filter_path}}
     %span.dropdown-toggle-text
       = h(params[:label_name] || "Label")
     = icon('chevron-down')
diff --git a/app/views/shared/issuable/_milestone_dropdown.html.haml b/app/views/shared/issuable/_milestone_dropdown.html.haml
index 640b23c401b..6e5abdeb667 100644
--- a/app/views/shared/issuable/_milestone_dropdown.html.haml
+++ b/app/views/shared/issuable/_milestone_dropdown.html.haml
@@ -1,7 +1,7 @@
 - if params[:milestone_title]
   = hidden_field_tag(:milestone_title, params[:milestone_title])
 = dropdown_tag(h(params[:milestone_name] || "Milestone"), options: { title: "Filter by milestone", toggle_class: 'js-milestone-select js-filter-submit', filter: true, dropdown_class: "dropdown-menu-selectable",
-  placeholder: "Search milestones", footer_content: true, data: { show_no: true, show_any: true, field_name: "milestone_title", selected: params[:milestone_title], project_id: (@project.id if @project), milestones: milestones_filter_dropdown_path } }) do
+  placeholder: "Search milestones", footer_content: @project.present?, data: { show_no: true, show_any: true, field_name: "milestone_title", selected: params[:milestone_title], project_id: @project.try(:id), milestones: milestones_filter_dropdown_path } }) do
   - if @project
     %ul.dropdown-footer-list
       - if can? current_user, :admin_milestone, @project
-- 
GitLab