diff options
Diffstat (limited to 'users')
-rw-r--r-- | users/app/assets/javascripts/users.js.coffee | 4 | ||||
-rw-r--r-- | users/app/controllers/users_controller.rb | 8 | ||||
-rw-r--r-- | users/app/models/user.rb | 1 | ||||
-rw-r--r-- | users/app/views/users/index.html.haml | 18 |
4 files changed, 29 insertions, 2 deletions
diff --git a/users/app/assets/javascripts/users.js.coffee b/users/app/assets/javascripts/users.js.coffee index f0bb3dd..76a6d79 100644 --- a/users/app/assets/javascripts/users.js.coffee +++ b/users/app/assets/javascripts/users.js.coffee @@ -21,6 +21,9 @@ srp.error = (message) -> else alert(message) +pollUsers = (query, process) -> + $.get( "/users.json", query: query).done(process) + $(document).ready -> $('#new_user').submit preventDefault $('#new_user').submit srp.signup @@ -28,4 +31,5 @@ $(document).ready -> $('#new_session').submit srp.login $('.user.form.edit').submit srp.update $('.user.form.edit').submit preventDefault + $('.user.typeahead').typeahead({source: pollUsers}); diff --git a/users/app/controllers/users_controller.rb b/users/app/controllers/users_controller.rb index 4912ac8..925b584 100644 --- a/users/app/controllers/users_controller.rb +++ b/users/app/controllers/users_controller.rb @@ -8,7 +8,13 @@ class UsersController < ApplicationController respond_to :json, :html def index - @users = User.all + if params[:query] + @users = User.by_login.startkey(params[:query]).endkey(params[:query].succ) + else + @users = User.by_created_at.descending + end + @users = @users.limit(10) + respond_with @users.map(&:login).sort end def new diff --git a/users/app/models/user.rb b/users/app/models/user.rb index 39d079a..325c981 100644 --- a/users/app/models/user.rb +++ b/users/app/models/user.rb @@ -27,6 +27,7 @@ class User < CouchRest::Model::Base design do view :by_login + view :by_created_at end class << self diff --git a/users/app/views/users/index.html.haml b/users/app/views/users/index.html.haml index 7db6038..9e6a179 100644 --- a/users/app/views/users/index.html.haml +++ b/users/app/views/users/index.html.haml @@ -1 +1,17 @@ -%h1= User.model_name.human(:count =>@users.count) +.page-header + %h1= User.model_name.human(:count =>User.count) +.row + .span8 + %h2= params[:query] ? "Users starting with '#{params[:query]}'" : "Last users who signed up" + %table.table.table-hover + %tr + %th Login + %th Created + %th Action + = render @users.all + .span4 + %h4 Find user + = form_tag users_path, :method => :get, :class => "form-search" do + .input-append + = text_field_tag :query, "", :class => "user typeahead span2 search-query", :autocomplete => :off + %button.btn{:type => :submit} Search |