summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAzul <azul@leap.se>2012-11-26 16:34:46 +0100
committerAzul <azul@leap.se>2012-11-26 16:34:46 +0100
commit51ba799f98113b7112f2968fc80e4d291924b3bf (patch)
tree257c1a21251b526c02b3cf1ef825384ef25cee51
parentbf74255d1530fe5852dc6e6c27ef975ce9aa8d3c (diff)
basic users index with typeahead search
-rw-r--r--users/app/assets/javascripts/users.js.coffee4
-rw-r--r--users/app/controllers/users_controller.rb8
-rw-r--r--users/app/models/user.rb1
-rw-r--r--users/app/views/users/index.html.haml18
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..61d4121 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..09199f0 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(5)
+ 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..65e99af 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 Last users who signed up
+ %table.table.table-hover
+ %tr
+ %th Login
+ %th Created
+ %th Action
+ = render @users.all
+ .span4
+ %h4 Find user
+ %form.form-search
+ .input-append
+ %input.user.typeahead.span2.search-query{:type => :text}
+ %button.btn{:type => :submit} Search