parent
78a67fc48d
commit
5c4416bb45
|
|
@ -19,6 +19,7 @@ class @IssuableForm
|
|||
@form.on "click", ".btn-cancel", @resetAutosave
|
||||
|
||||
@initWip()
|
||||
@initMoveDropdown()
|
||||
|
||||
initAutosave: ->
|
||||
new Autosave @titleField, [
|
||||
|
|
@ -80,3 +81,19 @@ class @IssuableForm
|
|||
|
||||
addWip: ->
|
||||
@titleField.val "WIP: #{@titleField.val()}"
|
||||
|
||||
initMoveDropdown: ->
|
||||
$moveDropdown = $('.js-move-dropdown')
|
||||
|
||||
if $moveDropdown.length
|
||||
$('.js-move-dropdown').select2
|
||||
ajax:
|
||||
url: $moveDropdown.data('projects-url')
|
||||
results: (data) ->
|
||||
return {
|
||||
results: data
|
||||
}
|
||||
formatResult: (project) ->
|
||||
project.name_with_namespace
|
||||
formatSelection: (project) ->
|
||||
project.name_with_namespace
|
||||
|
|
|
|||
|
|
@ -31,6 +31,21 @@ class AutocompleteController < ApplicationController
|
|||
render json: @user, only: [:name, :username, :id], methods: [:avatar_url]
|
||||
end
|
||||
|
||||
def projects
|
||||
project = Project.find_by_id(params[:project_id])
|
||||
|
||||
projects = current_user.authorized_projects
|
||||
projects = projects.select do |project|
|
||||
current_user.can?(:admin_issue, project)
|
||||
end
|
||||
|
||||
no_project = OpenStruct.new(id: 0, name_with_namespace: 'No project')
|
||||
projects.unshift(no_project.marshal_dump)
|
||||
projects.delete(project)
|
||||
|
||||
render json: projects.to_json(only: [:id, :name_with_namespace], methods: :name_with_namespace)
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def find_users
|
||||
|
|
|
|||
|
|
@ -90,9 +90,7 @@
|
|||
= label_tag :move_to_project_id, 'Move', class: 'control-label'
|
||||
.col-sm-10
|
||||
.issuable-form-select-holder
|
||||
- projects = project_options(issuable, current_user, ability: :admin_issue)
|
||||
= select_tag(:move_to_project_id, projects, include_blank: true,
|
||||
class: 'select2', data: { placeholder: 'Select project' })
|
||||
= hidden_field_tag :move_to_project_id, nil, class: 'js-move-dropdown', data: { placeholder: 'Select project', projects_url: autocomplete_projects_path(project_id: '1') }
|
||||
|
||||
%span{ data: { toggle: 'tooltip', placement: 'auto top' }, style: 'cursor: default',
|
||||
title: 'Moving an issue will copy the discussion to a different project and close it here. All participants will be notified of the new location.' }
|
||||
|
|
|
|||
|
|
@ -56,6 +56,7 @@ Rails.application.routes.draw do
|
|||
# Autocomplete
|
||||
get '/autocomplete/users' => 'autocomplete#users'
|
||||
get '/autocomplete/users/:id' => 'autocomplete#user'
|
||||
get '/autocomplete/projects' => 'autocomplete#projects'
|
||||
|
||||
# Emojis
|
||||
resources :emojis, only: :index
|
||||
|
|
|
|||
Loading…
Reference in New Issue