From 68c9981013b1aa87dde7421ffe5db0a342d55ee8 Mon Sep 17 00:00:00 2001 From: Phil Hughes Date: Thu, 16 Jun 2016 12:53:58 +0100 Subject: Correctly adds commit ID into dropdown Removes un-used method Fixes other Ruby issues --- app/assets/javascripts/project.js.coffee | 2 ++ app/controllers/projects_controller.rb | 14 ++++++-------- app/helpers/application_helper.rb | 16 ---------------- app/views/shared/_ref_switcher.html.haml | 3 ++- 4 files changed, 10 insertions(+), 25 deletions(-) (limited to 'app') diff --git a/app/assets/javascripts/project.js.coffee b/app/assets/javascripts/project.js.coffee index 3b608cbd2a0..54c539d5f9b 100644 --- a/app/assets/javascripts/project.js.coffee +++ b/app/assets/javascripts/project.js.coffee @@ -61,6 +61,8 @@ class @Project data: (term, callback) -> $.ajax( url: $dropdown.data('refs-url') + data: + ref: $dropdown.data('ref') ).done (refs) -> callback(refs) selectable: true diff --git a/app/controllers/projects_controller.rb b/app/controllers/projects_controller.rb index 5155ae1b104..e2311971f70 100644 --- a/app/controllers/projects_controller.rb +++ b/app/controllers/projects_controller.rb @@ -252,20 +252,18 @@ class ProjectsController < Projects::ApplicationController end def refs - repository = @project.repository - tags = VersionSorter.rsort(repository.tag_names) - options = { - 'Branches' => repository.branch_names, + 'Branches' => @repository.branch_names, } - if tags.any? - options['Tags'] = tags + unless @repository.tag_count.zero? + options['Tags'] = VersionSorter.rsort(@repository.tag_names) end # If reference is commit id - we should add it to branch/tag selectbox - if @ref && !options.flatten.include?(@ref) && @ref =~ /\A[0-9a-zA-Z]{6,52}\z/ - options['Commits'] = @ref + ref = params[:ref] + if ref && !options.flatten.include?(ref) && ref =~ /\A[0-9a-zA-Z]{6,52}\z/ + options['Commits'] = [ref] end render json: options.to_json diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb index 439b015b3b8..82421d74de9 100644 --- a/app/helpers/application_helper.rb +++ b/app/helpers/application_helper.rb @@ -101,22 +101,6 @@ module ApplicationHelper 'Never' end - def grouped_options_refs - repository = @project.repository - - options = [ - ['Branches', repository.branch_names], - ['Tags', VersionSorter.rsort(repository.tag_names)] - ] - - # If reference is commit id - we should add it to branch/tag selectbox - if @ref && !options.flatten.include?(@ref) && @ref =~ /\A[0-9a-zA-Z]{6,52}\z/ - options << ['Commit', [@ref]] - end - - grouped_options_for_select(options, @ref || @project.default_branch) - end - # Define whenever show last push event # with suggestion to create MR def show_last_push_widget?(event) diff --git a/app/views/shared/_ref_switcher.html.haml b/app/views/shared/_ref_switcher.html.haml index b474ed00777..947968074e1 100644 --- a/app/views/shared/_ref_switcher.html.haml +++ b/app/views/shared/_ref_switcher.html.haml @@ -1,3 +1,4 @@ +- dropdown_toggle_text = @ref || @project.default_branch = form_tag switch_namespace_project_refs_path(@project.namespace, @project), method: :get, class: "project-refs-form" do = hidden_field_tag :destination, destination - if defined?(path) @@ -5,7 +6,7 @@ - @options && @options.each do |key, value| = hidden_field_tag key, value, id: nil .dropdown - = dropdown_toggle @ref || @project.default_branch, { toggle: "dropdown", selected: @ref || @project.default_branch, refs_url: refs_namespace_project_path(@project.namespace, @project) }, { toggle_class: "js-project-refs-dropdown" } + = dropdown_toggle dropdown_toggle_text, { toggle: "dropdown", selected: @ref || @project.default_branch, ref: @ref, refs_url: refs_namespace_project_path(@project.namespace, @project) }, { toggle_class: "js-project-refs-dropdown" } .dropdown-menu.dropdown-menu-selectable{ class: ("dropdown-menu-align-right" if local_assigns[:align_right]) } = dropdown_title "Switch branch/tag" = dropdown_filter "Search branches and tags" -- cgit v1.2.1