search: (query) ->
if query.length > 1
- $.get "#{baseUrl}/api/users/search", s: query
+ $.get "#{baseUrl}/api/users/search2", q: query
.done (data) =>
@resetAssignees data.users
else
getUrl: ->
- "#{baseUrl}/api/users/search?f=s2"
-
+ "#{baseUrl}/api/users/search2"
+
+ prepareAjaxSearch: ->
+ quietMillis: 300
+ url: @getUrl()
+ data: (term, page) -> { q: term, p: page }
+ results: (data) ->
+ more: false,
+ results: _.map(data.users, (user) ->
+ id: user.login,
+ text: "#{user.name} (#{user.login})"
+ )
onRender: ->
super
formatSearching: -> t 'select2.searching'
formatInputTooShort: -> tp 'select2.tooShort', 2
width: '100%'
- ajax:
- quietMillis: 300
- url: @getUrl()
- data: (term, page) -> { s: term, p: page }
- results: (data) -> { more: data.more, results: data.results }
+ ajax: @prepareAjaxSearch()
+ prepareAjaxSearch: ->
+ quietMillis: 300
+ url: @getUrl()
+ data: (term, page) -> { s: term, p: page }
+ results: (data) -> { more: data.more, results: data.results }
addCustomValue: ->
property = @model.get 'property'
class extends CustomValuesFacet
getUrl: ->
- "#{baseUrl}/api/users/search?f=s2"
-
+ "#{baseUrl}/api/users/search2"
+
+ prepareAjaxSearch: ->
+ quietMillis: 300
+ url: @getUrl()
+ data: (term, page) -> { q: term, p: page }
+ results: (data) ->
+ more: false,
+ results: _.map(data.users, (user) ->
+ id: user.login,
+ text: "#{user.name} (#{user.login})"
+ )
getValuesWithLabels: ->
values = @model.getValues()
var UserSuggestions = Suggestions.extend({
url: function() {
- return baseUrl + '/api/users/search?f=s2';
+ return baseUrl + '/api/users/search2';
+ },
+
+ parse: function(response) {
+ this.more = false;
+ this.results = _.map(response.users, function(user) {
+ return {
+ id: user.login,
+ text: user.name + ' (' + user.login + ')'
+ };
+ });
}
});
var that = this;
return $j
.ajax({
- url: baseUrl + '/api/users/search',
+ url: baseUrl + '/api/users/search2',
type: 'GET',
- data: { logins: v }
+ data: { q: v }
})
.done(function (r) {
that.choices.add(new Backbone.Model({
var that = this;
return $j
.ajax({
- url: baseUrl + '/api/users/search',
+ url: baseUrl + '/api/users/search2',
type: 'GET',
- data: { logins: v }
+ data: { q: v }
})
.done(function (r) {
that.choices.add(new Backbone.Model({
# * <tt>:select2_options</tt> - hash of select2 options
#
def user_select_tag(name, options={})
- ws_url="#{ApplicationController::root_context}/api/users/search?f=s2"
+ ws_url="#{ApplicationController::root_context}/api/users/search2"
options[:min_length]=2
+ options[:select2_ajax_options]={
+ 'data' => %{
+ function (term, page) {
+ return { q: term, p: page };
+ }
+ },
+ 'results' => %{
+ function (data, page) {
+ return {
+ more: false,
+ results: _.map(data.users, function(user) {
+ return {
+ id: user.login,
+ text: '' + user.name + ' (' + user.login + ')'
+ };
+ })
+ };
+ }
+ }
+ }
user = options[:selected_user]
if user