OSDN Git Service

add api users filter and integrate users select2
authorDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
Wed, 13 Mar 2013 19:37:50 +0000 (21:37 +0200)
committerDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
Wed, 13 Mar 2013 21:19:09 +0000 (23:19 +0200)
app/assets/javascripts/application.js
app/assets/stylesheets/application.scss
app/assets/stylesheets/common.scss
app/controllers/application_controller.rb
app/helpers/application_helper.rb
app/views/team_members/_form.html.haml
lib/api/users.rb

index 49effdf..adb4009 100644 (file)
@@ -17,6 +17,7 @@
 //= require bootstrap
 //= require modernizr
 //= require chosen-jquery
+//= require select2
 //= require raphael
 //= require g.raphael-min
 //= require g.bar-min
index 6b500b8..f4afc35 100644 (file)
@@ -5,6 +5,7 @@
  *= require jquery.ui.gitlab
  *= require jquery.atwho
  *= require chosen
+ *= require select2
  *= require_self
 */
 
index c967c2d..2e7df61 100644 (file)
@@ -554,3 +554,18 @@ img.emoji {
 .appear-data {
   display: none;
 }
+
+.ajax-users-select {
+  width: 400px;
+}
+
+.user-result {
+  .user-image {
+    float: left;
+  }
+  .user-name {
+  }
+  .user-username {
+    color: #999;
+  }
+}
index 6b72f32..69d2347 100644 (file)
@@ -152,5 +152,7 @@ class ApplicationController < ActionController::Base
 
   def add_gon_variables
     gon.default_issues_tracker = Project.issues_tracker.default_value
+    gon.api_token = current_user.private_token
+    gon.gravatar_url = request.ssl? ? Gitlab.config.gravatar.ssl_url : Gitlab.config.gravatar.plain_url
   end
 end
index 955dbc1..4597261 100644 (file)
@@ -169,4 +169,8 @@ module ApplicationHelper
   end
 
   alias_method :url_to_image, :image_url
+
+  def users_select_tag(id)
+    hidden_field_tag(id, '', class: "ajax-users-select")
+  end
 end
index 63bfbec..e45c6f6 100644 (file)
@@ -11,7 +11,9 @@
   %h6 1. Choose people you want in the team
   .clearfix
     = f.label :user_ids, "People"
-    .input= select_tag(:user_ids, options_from_collection_for_select(User.active.not_in_project(@project).alphabetically, :id, :name_with_username), {data: {placeholder: "Select users"}, class: "chosen xxlarge", multiple: true})
+    .input
+      = users_select_tag(:user_ids)
+      -#= select_tag(:user_ids, options_from_collection_for_select(User.active.not_in_project(@project).alphabetically, :id, :name_with_username), {data: {placeholder: "Select users"}, class: "chosen xxlarge", multiple: true})
 
   %h6 2. Set access level for them
   .clearfix
index 6cc3a7e..1462e7b 100644 (file)
@@ -9,7 +9,8 @@ module Gitlab
       # Example Request:
       #  GET /users
       get do
-        @users = paginate User
+        @users = User.scoped
+        @users = @users.search(params[:search]) if params[:search].present?
         present @users, with: Entities::User
       end