From bba795afbea27bb7585c8aa3a618f085530c164c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?O=C4=9Fuzhan=20=C4=B0LHAN?= Date: Thu, 29 Aug 2013 17:56:15 +0300 Subject: [PATCH] #17 Admin user list fix. --- Gemfile | 1 - Gemfile.lock | 8 ---- app/controllers/home_controller.rb | 3 +- app/helpers/users_helper.rb | 2 + app/models/grids.rb | 5 --- app/models/grids/users_grid.rb | 23 ----------- app/views/home/admin.html.haml | 26 ++++++++++-- app/views/users/_form.html.haml | 7 ++++ app/views/users/edit.html.haml | 7 ++++ app/views/users/index.html.haml | 3 -- app/views/users/index.json.jbuilder | 4 ++ app/views/users/new.html.haml | 5 +++ app/views/users/show.html.erb | 0 app/views/users/show.html.haml | 6 +++ app/views/users/show.json.jbuilder | 1 + test/controllers/users_controller_test.rb | 49 +++++++++++++++++++++++ test/helpers/users_helper_test.rb | 4 ++ 17 files changed, 109 insertions(+), 45 deletions(-) create mode 100644 app/helpers/users_helper.rb delete mode 100644 app/models/grids.rb delete mode 100644 app/models/grids/users_grid.rb create mode 100644 app/views/users/_form.html.haml create mode 100644 app/views/users/edit.html.haml delete mode 100644 app/views/users/index.html.haml create mode 100644 app/views/users/index.json.jbuilder create mode 100644 app/views/users/new.html.haml delete mode 100644 app/views/users/show.html.erb create mode 100644 app/views/users/show.html.haml create mode 100644 app/views/users/show.json.jbuilder create mode 100644 test/controllers/users_controller_test.rb create mode 100644 test/helpers/users_helper_test.rb diff --git a/Gemfile b/Gemfile index 01f730e..0e5448c 100644 --- a/Gemfile +++ b/Gemfile @@ -39,7 +39,6 @@ gem 'haml-rails' gem 'bootstrap-sass', :git => 'git://github.com/thomas-mcdonald/bootstrap-sass.git', :branch => '3' gem 'simple_form', "3.0.0.rc" gem 'country_select' -gem "datagrid", :git => "git://github.com/bogdan/datagrid.git" gem 'will_paginate', '~> 3.0' # Use ActiveModel has_secure_password diff --git a/Gemfile.lock b/Gemfile.lock index e176493..c74c4fe 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,10 +1,3 @@ -GIT - remote: git://github.com/bogdan/datagrid.git - revision: bab159913f1666f9c5247a01578a5aaa959aa32c - specs: - datagrid (0.9.3) - rails (>= 3.0) - GIT remote: git://github.com/thomas-mcdonald/bootstrap-sass.git revision: a71f09a26b2d6a56a70a2cdf26110434cd3fbdf8 @@ -147,7 +140,6 @@ DEPENDENCIES bootstrap-sass! coffee-rails (~> 4.0.0) country_select - datagrid! devise haml (~> 4.0.2) haml-rails diff --git a/app/controllers/home_controller.rb b/app/controllers/home_controller.rb index 47f70b7..7d3d958 100644 --- a/app/controllers/home_controller.rb +++ b/app/controllers/home_controller.rb @@ -5,8 +5,7 @@ def index end def admin - @grid = Grids::UsersGrid.new(params[:grid]) - @assets = @grid.assets.paginate(:page => params[:page]) + @users = User.all end def user diff --git a/app/helpers/users_helper.rb b/app/helpers/users_helper.rb new file mode 100644 index 0000000..2310a24 --- /dev/null +++ b/app/helpers/users_helper.rb @@ -0,0 +1,2 @@ +module UsersHelper +end diff --git a/app/models/grids.rb b/app/models/grids.rb deleted file mode 100644 index a8debda..0000000 --- a/app/models/grids.rb +++ /dev/null @@ -1,5 +0,0 @@ -module Grids - def self.table_name_prefix - 'grids_' - end -end diff --git a/app/models/grids/users_grid.rb b/app/models/grids/users_grid.rb deleted file mode 100644 index 4e30281..0000000 --- a/app/models/grids/users_grid.rb +++ /dev/null @@ -1,23 +0,0 @@ -class Grids::UsersGrid - - include Datagrid - - scope do - ::User.includes(:profile) - end - - filter(:id, :integer) - filter(:email, :string) - filter(:created_at, :date, :range => true) - - column(:id) - column(:email, :header => "Name") do - self.profile.name - end - column(:email, :header => "Surname") do - self.profile.surname - end - column(:created_at) do |model| - model.created_at.to_date - end -end diff --git a/app/views/home/admin.html.haml b/app/views/home/admin.html.haml index 4995593..5bbf7f3 100644 --- a/app/views/home/admin.html.haml +++ b/app/views/home/admin.html.haml @@ -2,6 +2,26 @@ .h1 Admin Home -%div== Total #{@assets.total_entries} -= datagrid_table(@grid, @assets, :html => {:class => "table table-hover"}) -= will_paginate @assets \ No newline at end of file +%h1 Listing users + +%table + %tr + %th email + %th created_at + %th updated_at + %th + %th + %th + + - @users.each do |user| + %tr + %td= user.email + %td=l user.created_at + %td=l user.updated_at + %td= link_to 'Show', user + %td= link_to 'Edit', edit_user_path(user) + %td= link_to 'Destroy', user, :method => :delete, :data => { :confirm => 'Are you sure?' } + +%br + += link_to 'New User', new_user_path diff --git a/app/views/users/_form.html.haml b/app/views/users/_form.html.haml new file mode 100644 index 0000000..b06ba02 --- /dev/null +++ b/app/views/users/_form.html.haml @@ -0,0 +1,7 @@ += simple_form_for(@user) do |f| + = f.error_notification + + .form-inputs + + .form-actions + = f.button :submit diff --git a/app/views/users/edit.html.haml b/app/views/users/edit.html.haml new file mode 100644 index 0000000..44f7526 --- /dev/null +++ b/app/views/users/edit.html.haml @@ -0,0 +1,7 @@ +%h1 Editing user + += render 'form' + += link_to 'Show', @user +\| += link_to 'Back', users_path diff --git a/app/views/users/index.html.haml b/app/views/users/index.html.haml deleted file mode 100644 index ed55c8c..0000000 --- a/app/views/users/index.html.haml +++ /dev/null @@ -1,3 +0,0 @@ -%div== Total #{assets.total_entries} -= datagrid_table(@grid, @assets) -= will_paginate assets \ No newline at end of file diff --git a/app/views/users/index.json.jbuilder b/app/views/users/index.json.jbuilder new file mode 100644 index 0000000..094ebf6 --- /dev/null +++ b/app/views/users/index.json.jbuilder @@ -0,0 +1,4 @@ +json.array!(@users) do |user| + json.extract! user, + json.url user_url(user, format: :json) +end diff --git a/app/views/users/new.html.haml b/app/views/users/new.html.haml new file mode 100644 index 0000000..7b9e858 --- /dev/null +++ b/app/views/users/new.html.haml @@ -0,0 +1,5 @@ +%h1 New user + += render 'form' + += link_to 'Back', users_path diff --git a/app/views/users/show.html.erb b/app/views/users/show.html.erb deleted file mode 100644 index e69de29..0000000 diff --git a/app/views/users/show.html.haml b/app/views/users/show.html.haml new file mode 100644 index 0000000..66b5383 --- /dev/null +++ b/app/views/users/show.html.haml @@ -0,0 +1,6 @@ +%p#notice= notice + + += link_to 'Edit', edit_user_path(@user) +\| += link_to 'Back', users_path diff --git a/app/views/users/show.json.jbuilder b/app/views/users/show.json.jbuilder new file mode 100644 index 0000000..04fc50b --- /dev/null +++ b/app/views/users/show.json.jbuilder @@ -0,0 +1 @@ +json.extract! @user, :created_at, :updated_at diff --git a/test/controllers/users_controller_test.rb b/test/controllers/users_controller_test.rb new file mode 100644 index 0000000..846e74c --- /dev/null +++ b/test/controllers/users_controller_test.rb @@ -0,0 +1,49 @@ +require 'test_helper' + +class UsersControllerTest < ActionController::TestCase + setup do + @user = users(:one) + end + + test "should get index" do + get :index + assert_response :success + assert_not_nil assigns(:users) + end + + test "should get new" do + get :new + assert_response :success + end + + test "should create user" do + assert_difference('User.count') do + post :create, user: { } + end + + assert_redirected_to user_path(assigns(:user)) + end + + test "should show user" do + get :show, id: @user + assert_response :success + end + + test "should get edit" do + get :edit, id: @user + assert_response :success + end + + test "should update user" do + patch :update, id: @user, user: { } + assert_redirected_to user_path(assigns(:user)) + end + + test "should destroy user" do + assert_difference('User.count', -1) do + delete :destroy, id: @user + end + + assert_redirected_to users_path + end +end diff --git a/test/helpers/users_helper_test.rb b/test/helpers/users_helper_test.rb new file mode 100644 index 0000000..96af37a --- /dev/null +++ b/test/helpers/users_helper_test.rb @@ -0,0 +1,4 @@ +require 'test_helper' + +class UsersHelperTest < ActionView::TestCase +end