From 0b7586a268ec38e83cd71f52eeab7b3160cdf4b4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?O=C4=9Fuzhan=20=C4=B0LHAN?= Date: Thu, 29 Aug 2013 17:23:30 +0300 Subject: [PATCH] #17 Admin home student list added. --- Gemfile | 1 + Gemfile.lock | 2 ++ app/controllers/home_controller.rb | 4 ++-- app/controllers/profiles_controller.rb | 2 +- app/grids/users_grid.rb | 17 ----------------- app/models/grids.rb | 5 +++++ app/models/grids/users_grid.rb | 23 +++++++++++++++++++++++ app/views/home/admin.html.erb | 3 --- app/views/home/admin.html.haml | 7 +++++++ app/views/users/index.html.erb | 0 app/views/users/index.html.haml | 3 +++ app/views/users/show.html.erb | 0 config/routes.rb | 2 +- 13 files changed, 45 insertions(+), 24 deletions(-) delete mode 100644 app/grids/users_grid.rb create mode 100644 app/models/grids.rb create mode 100644 app/models/grids/users_grid.rb delete mode 100644 app/views/home/admin.html.erb create mode 100644 app/views/home/admin.html.haml delete mode 100644 app/views/users/index.html.erb create mode 100644 app/views/users/index.html.haml delete mode 100644 app/views/users/show.html.erb diff --git a/Gemfile b/Gemfile index 34eccf9..01f730e 100644 --- a/Gemfile +++ b/Gemfile @@ -40,6 +40,7 @@ gem 'bootstrap-sass', :git => 'git://github.com/thomas-mcdonald/bootstrap-sass.g 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 # gem 'bcrypt-ruby', '~> 3.0.0' diff --git a/Gemfile.lock b/Gemfile.lock index e1d7ab0..e176493 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -138,6 +138,7 @@ GEM multi_json (~> 1.0, >= 1.0.2) warden (1.2.3) rack (>= 1.0) + will_paginate (3.0.4) PLATFORMS ruby @@ -159,3 +160,4 @@ DEPENDENCIES sqlite3 turbolinks uglifier (>= 1.3.0) + will_paginate (~> 3.0) diff --git a/app/controllers/home_controller.rb b/app/controllers/home_controller.rb index 0a743da..47f70b7 100644 --- a/app/controllers/home_controller.rb +++ b/app/controllers/home_controller.rb @@ -5,8 +5,8 @@ def index end def admin - @report_user = Report::Campaign.new(params[:report_user]) - @assets = @report_user.assets.page(params[:page]) + @grid = Grids::UsersGrid.new(params[:grid]) + @assets = @grid.assets.paginate(:page => params[:page]) end def user diff --git a/app/controllers/profiles_controller.rb b/app/controllers/profiles_controller.rb index 424b33f..f75835c 100644 --- a/app/controllers/profiles_controller.rb +++ b/app/controllers/profiles_controller.rb @@ -19,7 +19,7 @@ def update - redirect_to users_path + redirect_to home_index_path end diff --git a/app/grids/users_grid.rb b/app/grids/users_grid.rb deleted file mode 100644 index 3acce2a..0000000 --- a/app/grids/users_grid.rb +++ /dev/null @@ -1,17 +0,0 @@ -class UsersGrid - - include Datagrid - - scope do - User - end - - filter(:id, :integer) - filter(:created_at, :date, :range => true) - - column(:id) - column(:name) - column(:created_at) do |model| - model.created_at.to_date - end -end diff --git a/app/models/grids.rb b/app/models/grids.rb new file mode 100644 index 0000000..a8debda --- /dev/null +++ b/app/models/grids.rb @@ -0,0 +1,5 @@ +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 new file mode 100644 index 0000000..4e30281 --- /dev/null +++ b/app/models/grids/users_grid.rb @@ -0,0 +1,23 @@ +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.erb b/app/views/home/admin.html.erb deleted file mode 100644 index 1099bb4..0000000 --- a/app/views/home/admin.html.erb +++ /dev/null @@ -1,3 +0,0 @@ - \ No newline at end of file diff --git a/app/views/home/admin.html.haml b/app/views/home/admin.html.haml new file mode 100644 index 0000000..4995593 --- /dev/null +++ b/app/views/home/admin.html.haml @@ -0,0 +1,7 @@ +.page-header + .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 diff --git a/app/views/users/index.html.erb b/app/views/users/index.html.erb deleted file mode 100644 index e69de29..0000000 diff --git a/app/views/users/index.html.haml b/app/views/users/index.html.haml new file mode 100644 index 0000000..ed55c8c --- /dev/null +++ b/app/views/users/index.html.haml @@ -0,0 +1,3 @@ +%div== Total #{assets.total_entries} += datagrid_table(@grid, @assets) += will_paginate assets \ No newline at end of file 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/config/routes.rb b/config/routes.rb index 1c215dc..73e8305 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -1,5 +1,5 @@ LesEtoiles::Application.routes.draw do - get "home/index" + get "home/index", to: "home#index", as: "home_index" devise_for :admins devise_for :teachers