usman 0.1.5dev4 → 0.1.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (77) hide show
  1. checksums.yaml +4 -4
  2. data/app/controllers/usman/admin/dashboard_controller.rb +1 -1
  3. data/app/controllers/usman/admin/features_controller.rb +0 -2
  4. data/app/controllers/usman/admin/permissions_controller.rb +15 -8
  5. data/app/controllers/usman/admin/roles_controller.rb +2 -3
  6. data/app/controllers/usman/admin/users_controller.rb +2 -4
  7. data/app/helpers/usman/authentication_helper.rb +9 -20
  8. data/app/models/feature.rb +37 -37
  9. data/app/models/permission.rb +8 -3
  10. data/app/models/role.rb +6 -3
  11. data/app/models/user.rb +79 -70
  12. data/app/models/usman/application_record.rb +0 -3
  13. data/app/views/layouts/kuppayam/_sidebar.html.erb +7 -8
  14. data/app/views/usman/admin/features/_action_buttons.html.erb +0 -0
  15. data/app/views/usman/admin/features/_form.html.erb +2 -5
  16. data/app/views/usman/admin/features/_index.html.erb +1 -4
  17. data/app/views/usman/admin/features/index.html.erb +3 -20
  18. data/app/views/usman/admin/features/temp/create.js.erb +29 -0
  19. data/app/views/usman/admin/features/temp/destroy.js.erb +16 -0
  20. data/app/views/usman/admin/features/temp/edit.js.erb +7 -0
  21. data/app/views/usman/admin/features/temp/index.js.erb +8 -0
  22. data/app/views/usman/admin/features/temp/new.js.erb +7 -0
  23. data/app/views/usman/admin/features/temp/row.js.erb +10 -0
  24. data/app/views/usman/admin/features/temp/show.js.erb +8 -0
  25. data/app/views/usman/admin/features/temp/update.js.erb +16 -0
  26. data/app/views/usman/admin/permissions/_show.html.erb +10 -2
  27. data/app/views/usman/admin/permissions/index.html.erb +3 -20
  28. data/app/views/usman/admin/permissions/temp/create.js.erb +29 -0
  29. data/app/views/usman/admin/permissions/temp/destroy.js.erb +22 -0
  30. data/app/views/usman/admin/permissions/temp/edit.js.erb +4 -0
  31. data/app/views/usman/admin/permissions/temp/index.js.erb +14 -0
  32. data/app/views/usman/admin/permissions/temp/new.js.erb +4 -0
  33. data/app/views/usman/admin/permissions/temp/row.js.erb +24 -0
  34. data/app/views/usman/admin/permissions/temp/show.js.erb +13 -0
  35. data/app/views/usman/admin/permissions/temp/update.js.erb +29 -0
  36. data/app/views/usman/admin/roles/_form.html.erb +1 -1
  37. data/app/views/usman/admin/roles/_index.html.erb +3 -3
  38. data/app/views/usman/admin/roles/_row.html.erb +2 -2
  39. data/app/views/usman/admin/roles/_show.html.erb +7 -41
  40. data/app/views/usman/admin/roles/index.html.erb +3 -22
  41. data/app/views/usman/admin/users/_index.html.erb +16 -22
  42. data/app/views/usman/admin/users/_row.html.erb +4 -4
  43. data/app/views/usman/admin/users/_show.html.erb +1 -1
  44. data/app/views/usman/admin/users/index.html.erb +2 -4
  45. data/app/views/usman/sessions/_form.html.erb +7 -19
  46. data/config/locales/kuppayam/authentication.en.yml +1 -1
  47. data/config/routes.rb +1 -3
  48. data/db/import_data/dummy/images/users/guna.neweast.png +0 -0
  49. data/db/import_data/dummy/images/users/junaid.ramzan.jpg +0 -0
  50. data/db/import_data/dummy/images/users/kpvarma.png +0 -0
  51. data/db/import_data/dummy/images/users/stephen.price.png +0 -0
  52. data/db/import_data/dummy/images/users/vinodh.jpg +0 -0
  53. data/db/import_data/dummy/users.csv +3 -3
  54. data/db/import_data/features.csv +10 -0
  55. data/db/import_data/images/users/junaid.ramzan.jpg +0 -0
  56. data/db/import_data/images/users/kpvarma.png +0 -0
  57. data/db/import_data/images/users/vinodh.jpg +0 -0
  58. data/db/import_data/permissions.csv +30 -0
  59. data/db/migrate/20170000000100_create_users.rb +1 -1
  60. data/db/migrate/20170000000101_create_features.rb +1 -1
  61. data/db/migrate/20170000000102_create_roles.rb +1 -1
  62. data/lib/tasks/usman/all.rake +10 -34
  63. data/lib/{temp → tasks/usman}/features.rake +6 -3
  64. data/lib/{temp → tasks/usman}/permissions.rake +5 -3
  65. data/lib/{temp → tasks/usman}/users.rake +5 -3
  66. data/lib/usman/engine.rb +2 -0
  67. data/lib/usman/extras/import_error_handler.rb +79 -0
  68. data/lib/usman/version.rb +1 -1
  69. metadata +37 -17
  70. data/app/controllers/usman/admin/user_roles_controller.rb +0 -142
  71. data/app/views/usman/admin/user_roles/_form.html.erb +0 -24
  72. data/app/views/usman/admin/user_roles/_index.html.erb +0 -59
  73. data/app/views/usman/admin/user_roles/_row.html.erb +0 -30
  74. data/app/views/usman/admin/user_roles/_show.html.erb +0 -74
  75. data/db/import_data/dummy/roles.csv +0 -9
  76. data/db/import_data/roles.csv +0 -5
  77. data/lib/temp/roles.rake +0 -24
@@ -27,7 +27,7 @@
27
27
 
28
28
  <td class="hidden-xs hidden-sm"><%= link_to user.email, admin_user_path(user), remote: true, class: "email" %></td>
29
29
 
30
- <% if @current_user.super_admin? %>
30
+ <% if @current_user.is_super_admin? %>
31
31
  <td class="hidden-xs hidden-sm">
32
32
  <% if user.super_admin %>
33
33
  <span class="mr-10 mt-5 label label-warning">Super Admin</span>
@@ -58,13 +58,13 @@
58
58
  <td class="action-links" style="width:15%">
59
59
 
60
60
  <!-- Approve -->
61
- <%= link_to raw("<i class=\"fa fa-circle-o mr-5\"></i> Approve"), update_status_admin_user_path(:id =>user.id, :status =>'approved'), :method =>'PUT', :remote=>true, role: "menuitem", tabindex: "-1" if user.can_be_approved? && (@current_user != user) %>
61
+ <%= link_to raw("<i class=\"fa fa-circle-o mr-5\"></i> Approve"), update_status_admin_user_path(:id =>user.id, :status =>'approved'), :method =>'PUT', :remote=>true, role: "menuitem", tabindex: "-1" if user.can_be_approved? %>
62
62
 
63
63
  <!-- Mark as Pending -->
64
- <%= link_to raw("<i class=\"fa fa-circle mr-5\"></i> Mark as Pending"), update_status_admin_user_path(:id =>user.id, :status =>'pending'), :method =>'PUT', :remote=>true, role: "menuitem", tabindex: "-1" if user.can_be_marked_as_pending? && (@current_user != user) %>
64
+ <%= link_to raw("<i class=\"fa fa-circle mr-5\"></i> Mark as Pending"), update_status_admin_user_path(:id =>user.id, :status =>'pending'), :method =>'PUT', :remote=>true, role: "menuitem", tabindex: "-1" if user.can_be_marked_as_pending? %>
65
65
 
66
66
  <!-- Suspend -->
67
- <%= link_to raw("<i class=\"fa fa-edit mr-5\"></i> Suspend"), update_status_admin_user_path(:id =>user.id, :status =>'suspended'), :method =>'PUT', :remote=>true, role: "menuitem", tabindex: "-1" if user.can_be_suspended? && (@current_user != user) %>
67
+ <%= link_to raw("<i class=\"fa fa-edit mr-5\"></i> Suspend"), update_status_admin_user_path(:id =>user.id, :status =>'suspended'), :method =>'PUT', :remote=>true, role: "menuitem", tabindex: "-1" if user.can_be_suspended? %>
68
68
 
69
69
  </td>
70
70
 
@@ -61,7 +61,7 @@
61
61
  <% end %>
62
62
 
63
63
  <!-- Approve -->
64
- <%= link_to raw("<i class=\"fa fa-circle-o mr-5\"></i> Approve"), update_status_admin_user_path(:id =>@user.id, :status =>'approved'), :method =>'PUT', :remote=>true, role: "menuitem", tabindex: "-1", :class=>"btn btn-block btn-success btn-only-hover" if @user.can_be_approved? && (@current_user != @user) %>
64
+ <%= link_to raw("<i class=\"fa fa-circle-o mr-5\"></i> Approve"), update_status_admin_user_path(:id =>@user.id, :status =>'approved'), :method =>'PUT', :remote=>true, role: "menuitem", tabindex: "-1", :class=>"btn btn-block btn-success btn-only-hover" if @user.can_be_approved? %>
65
65
 
66
66
  <!-- Mark as Pending -->
67
67
  <%= link_to raw("<i class=\"fa fa-circle mr-5\"></i> Mark as Pending"), update_status_admin_user_path(:id =>@user.id, :status =>'pending'), :method =>'PUT', :remote=>true, role: "menuitem", tabindex: "-1", :class=>"btn btn-block btn-gray btn-only-hover" if @user.can_be_marked_as_pending? && (@current_user != @user) %>
@@ -4,7 +4,7 @@
4
4
  <ul class="nav nav-tabs">
5
5
 
6
6
  <%# Show Admin tab only for admins %>
7
- <% if @current_user.super_admin? %>
7
+ <% if @current_user.is_super_admin? %>
8
8
  <li class="<%= @super_admin == false ? 'active' : '' %>">
9
9
  <%= link_to "Users", admin_users_path(sa: '0') %>
10
10
  </li>
@@ -30,10 +30,8 @@
30
30
 
31
31
  <%= theme_button('Refresh', 'refresh', admin_users_path(), classes: "pull-left ml-10", btn_type: "white") %>
32
32
 
33
- <%= theme_button('Manage Roles', 'nothing linecons-graduation-cap', admin_roles_path(), classes: "pull-left ml-10", btn_type: "white", remote: false) %>
34
-
35
33
  <!-- Single button -->
36
- <div class="ml-10 btn-group hidden">
34
+ <div class="ml-10 btn-group">
37
35
  <button type="button" class="btn btn-white dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
38
36
  More Actions <span class="caret"></span>
39
37
  </button>
@@ -1,22 +1,10 @@
1
- <%= form_tag usman.create_session_path, :role=>"form", id: "form_sign_in", class: "login-form" do %>
1
+ <%= form_tag create_session_path, :role=>"form", id: "form_sign_in", class: "login-form" do %>
2
2
 
3
- <% if params[:customer_app] %>
4
- <%= hidden_field_tag :customer_app, params[:customer_app] %>
5
- <% elsif @params_hsh && @params_hsh[:customer_app] %>
6
- <%= hidden_field_tag :customer_app, @params_hsh[:customer_app] %>
7
- <% end %>
8
-
9
- <% if params[:redirect_back_url] %>
10
- <%= hidden_field_tag :redirect_back_url, params[:redirect_back_url] %>
11
- <% elsif @params_hsh && @params_hsh[:redirect_back_url] %>
12
- <%= hidden_field_tag :redirect_back_url, @params_hsh[:redirect_back_url] %>
13
- <% end %>
14
-
15
- <% if params[:requested_url] %>
16
- <%= hidden_field_tag :requested_url, params[:requested_url] %>
17
- <% elsif @params_hsh && @params_hsh[:requested_url] %>
18
- <%= hidden_field_tag :requested_url, @params_hsh[:requested_url] %>
19
- <% end %>
3
+ <%= hidden_field_tag :customer_app, params[:customer_app] if params[:customer_app] %>
4
+
5
+ <%= hidden_field_tag :redirect_back_url, params[:redirect_back_url] if params[:redirect_back_url] %>
6
+
7
+ <%= hidden_field_tag :requested_url, params[:requested_url] if params[:requested_url] %>
20
8
 
21
9
  <div class="row pt-10">
22
10
  <div class="col-sm-offset-3 col-sm-4">
@@ -25,7 +13,7 @@
25
13
  </div>
26
14
 
27
15
  <div class="login-header text-center">
28
- <p>Merchandise Application</p>
16
+ <p>Sign in to access the admin area!</p>
29
17
  </div>
30
18
 
31
19
  <div class="form-group">
@@ -21,5 +21,5 @@ en:
21
21
  logged_out:
22
22
  heading: "Signed Out"
23
23
  message: "You have successfully signed out"
24
- masquerade: "You have successfully logged in as - %{user}"
24
+ masquerade: "لقد سجلت الدخول بنجاح - %{user}"
25
25
  sign_in_back: "You have successfully signed in back as %{user}"
data/config/routes.rb CHANGED
@@ -24,9 +24,7 @@ Usman::Engine.routes.draw do
24
24
  end
25
25
  end
26
26
 
27
- resources :roles do
28
- resources :users, :controller => "user_roles"
29
- end
27
+ resources :roles
30
28
 
31
29
  resources :features do
32
30
  member do
@@ -2,6 +2,6 @@ name,username,designation,email,phone,super_admin,status
2
2
  Krishna Prasad Varma,kpvarma,Site Admin,prasad@rightsolutions.io,,TRUE,approved
3
3
  Vinodh Ellath,vinodh,Site Admin,vinodh@rightsolutions.io,,TRUE,approved
4
4
  Junaid Ramzan,junaid.ramzan,Site Admin,junaid.ramzan@gmail.com,,TRUE,approved
5
- Oleksandra,oleksandra,Merchandise Manager,oleksandra@yopmail.com,,FALSE,approved
6
- Staff User 1,staff_user.1,IT Support,staff_user_1@yopmail.com,,FALSE,pending
7
- Staff User 2,staff_user.2,Sales Girl,staff_user_2@yopmail.com,,FALSE,suspended
5
+ Angelo Joseph,angelo.joseph,Manager,angelo@yopmail.com,,FALSE,pending
6
+ Guna,guna.neweast,IT Support,guna@yopmail.com,,FALSE,pending
7
+ Stephen Price,stephen.price,Director,stephen.price@yopmail.com,,FALSE,suspended
@@ -0,0 +1,10 @@
1
+ name,status
2
+ Products,published
3
+ Categories,published
4
+ Brands,published
5
+ Events & News,unpublished
6
+ Subscriptions,deactivated
7
+ Enquiries,unpublished
8
+ Teams,unpublished
9
+ Testimonials,unpublished
10
+ Careers / Jobs,deactivated
@@ -0,0 +1,30 @@
1
+ user,feature,can_create,can_read,can_update,can_delete
2
+ kpvarma,Products,TRUE,TRUE,TRUE,TRUE
3
+ kpvarma,Categories,TRUE,TRUE,TRUE,TRUE
4
+ kpvarma,Brands,TRUE,TRUE,TRUE,TRUE
5
+ kpvarma,Events & News,TRUE,TRUE,TRUE,TRUE
6
+ kpvarma,Subscriptions,TRUE,TRUE,TRUE,TRUE
7
+ kpvarma,Enquiries,TRUE,TRUE,TRUE,TRUE
8
+ kpvarma,Teams,TRUE,TRUE,TRUE,TRUE
9
+ kpvarma,Testimonials,TRUE,TRUE,TRUE,TRUE
10
+ kpvarma,Careers / Jobs,TRUE,TRUE,TRUE,TRUE
11
+ ,,,,,
12
+ vinodh,Products,TRUE,TRUE,TRUE,TRUE
13
+ vinodh,Categories,TRUE,TRUE,TRUE,TRUE
14
+ vinodh,Brands,TRUE,TRUE,TRUE,TRUE
15
+ vinodh,Events & News,TRUE,TRUE,TRUE,TRUE
16
+ vinodh,Subscriptions,TRUE,TRUE,TRUE,TRUE
17
+ vinodh,Enquiries,TRUE,TRUE,TRUE,TRUE
18
+ vinodh,Teams,TRUE,TRUE,TRUE,TRUE
19
+ vinodh,Testimonials,TRUE,TRUE,TRUE,TRUE
20
+ vinodh,Careers / Jobs,TRUE,TRUE,TRUE,TRUE
21
+ ,,,,,
22
+ junaid.ramzan,Products,TRUE,TRUE,TRUE,TRUE
23
+ junaid.ramzan,Categories,TRUE,TRUE,TRUE,TRUE
24
+ junaid.ramzan,Brands,TRUE,TRUE,TRUE,TRUE
25
+ junaid.ramzan,Events & News,TRUE,TRUE,TRUE,TRUE
26
+ junaid.ramzan,Subscriptions,TRUE,TRUE,TRUE,TRUE
27
+ junaid.ramzan,Enquiries,TRUE,TRUE,TRUE,TRUE
28
+ junaid.ramzan,Teams,TRUE,TRUE,TRUE,TRUE
29
+ junaid.ramzan,Testimonials,TRUE,TRUE,TRUE,TRUE
30
+ junaid.ramzan,Careers / Jobs,TRUE,TRUE,TRUE,TRUE
@@ -3,7 +3,7 @@ class CreateUsers < ActiveRecord::Migration[5.0]
3
3
  create_table(:users) do |t|
4
4
 
5
5
  ## First Name, Last Name and Username
6
- t.string :name
6
+ t.string :name, limit: 256
7
7
  t.string :username, :null => false, :limit=>32
8
8
  t.string :email, :null => false
9
9
  t.string :phone, :null => true, :limit=>24
@@ -2,7 +2,7 @@ class CreateFeatures < ActiveRecord::Migration[5.0]
2
2
 
3
3
  def change
4
4
  create_table(:features) do |t|
5
- t.string :name
5
+ t.string :name, limit: 256
6
6
  t.string :status, :null => false, :default=>"unpublished", :limit=>16
7
7
  t.timestamps
8
8
  end
@@ -2,7 +2,7 @@ class CreateRoles < ActiveRecord::Migration[5.0]
2
2
 
3
3
  def change
4
4
  create_table(:roles) do |t|
5
- t.string :name
5
+ t.string :name, limit: 256
6
6
  t.timestamps
7
7
  end
8
8
 
@@ -2,72 +2,48 @@ require 'csv'
2
2
  require 'open-uri'
3
3
  require 'time'
4
4
 
5
+ RAILS_ENV = ENV["RAILS_ENV"] || "development"
6
+
5
7
  namespace 'usman' do
6
8
  namespace 'import' do
7
9
 
8
10
  desc "Import all data in sequence"
9
11
  task 'all' => :environment do
10
12
 
11
- import_list = ["users", "features", "permissions", "roles"]
13
+ import_list = ["users", "features", "permissions"]
12
14
 
13
15
  import_list.each do |item|
14
- print "Importing #{item.titleize} \t".yellow
16
+ puts ""
17
+ puts "Importing #{item.titleize}".yellow
15
18
  begin
16
19
  Rake::Task["usman:import:#{item}"].invoke
17
- rescue ArgumentError => e
18
- puts "Loading #{item} - Failed - #{e.message}".red
19
20
  rescue Exception => e
20
21
  puts "Importing #{item.titleize} - Failed - #{e.message}".red
21
22
  puts "Backtrace:\n\t#{e.backtrace.join("\n\t")}"
22
23
  end
23
24
  end
24
- puts " "
25
- end
26
25
 
27
- ["Feature", "User", "Role", "Permission"].each do |cls_name|
28
- name = cls_name.underscore.pluralize
29
- desc "Import #{cls_name.pluralize}"
30
- task name => :environment do
31
- verbose = true
32
- verbose = false if ["false", "f","0","no","n"].include?(ENV["verbose"].to_s.downcase.strip)
33
- path = ENV['path']
34
- cls_name.constantize.import_data(Usman::Engine, path, false, verbose)
35
- end
36
26
  end
37
27
 
38
28
  namespace 'dummy' do
39
-
40
29
  desc "Import all dummy data in sequence"
41
30
  task 'all' => :environment do
42
31
 
43
- import_list = ["dummy:users", "dummy:features", "dummy:permissions", "dummy:roles"]
32
+ import_list = ["dummy:users", "dummy:features", "dummy:permissions"]
44
33
 
45
34
  import_list.each do |item|
46
- print "Loading #{item.split(':').last.titleize} \t".yellow
35
+ puts ""
36
+ puts "Importing #{item}".yellow
47
37
  begin
48
38
  Rake::Task["usman:import:#{item}"].invoke
49
- rescue ArgumentError => e
50
- puts "Loading #{item} - Failed - #{e.message}".red
51
39
  rescue Exception => e
52
- puts "Loading #{item} - Failed - #{e.message}".red
40
+ puts "Importing #{item} - Failed - #{e.message}".red
53
41
  puts "Backtrace:\n\t#{e.backtrace.join("\n\t")}"
54
42
  end
55
43
  end
56
- puts " "
57
- end
58
44
 
59
- ["Feature", "User", "Role", "Permission"].each do |cls_name|
60
- name = cls_name.underscore.pluralize
61
- desc "Load Dummy #{cls_name.pluralize}"
62
- task name => :environment do
63
- verbose = true
64
- verbose = false if ["false", "f","0","no","n"].include?(ENV["verbose"].to_s.downcase.strip)
65
- cls_name.constantize.import_data(Usman::Engine, nil, true, verbose)
66
- end
67
45
  end
68
-
69
46
  end
70
47
 
71
48
  end
72
- end
73
-
49
+ end
@@ -2,22 +2,25 @@ require 'csv'
2
2
  require 'open-uri'
3
3
  require 'time'
4
4
 
5
+ RAILS_ENV = ENV["RAILS_ENV"] || "development" unless defined?(RAILS_ENV)
6
+
5
7
  namespace 'usman' do
6
8
  namespace 'import' do
7
9
  desc "Import Features"
8
10
  task 'features' => :environment do
9
11
  verbose = true
10
12
  verbose = false if ["false", "f","0","no","n"].include?(ENV["verbose"].to_s.downcase.strip)
11
- path = ENV['path']
12
- Feature.import_data(Usman::Engine, path, false, verbose)
13
+ Feature.import_from_csv(false, verbose)
13
14
  end
14
15
  namespace 'dummy' do
15
16
  desc "Load Dummy Features"
16
17
  task 'features' => :environment do
18
+ path = "db/import_data/dummy/features.csv"
17
19
  verbose = true
18
20
  verbose = false if ["false", "f","0","no","n"].include?(ENV["verbose"].to_s.downcase.strip)
19
- Feature.import_data(Usman::Engine, nil, true, verbose)
21
+ Feature.import_from_csv(true, verbose)
20
22
  end
21
23
  end
22
24
  end
25
+
23
26
  end
@@ -2,21 +2,23 @@ require 'csv'
2
2
  require 'open-uri'
3
3
  require 'time'
4
4
 
5
+ RAILS_ENV = ENV["RAILS_ENV"] || "development" unless defined?(RAILS_ENV)
6
+
5
7
  namespace 'usman' do
6
8
  namespace 'import' do
7
9
  desc "Import Permissions"
8
10
  task 'permissions' => :environment do
9
11
  verbose = true
10
12
  verbose = false if ["false", "f","0","no","n"].include?(ENV["verbose"].to_s.downcase.strip)
11
- path = ENV['path']
12
- Permission.import_data(Usman::Engine, path, false, verbose)
13
+ Permission.import_from_csv(false, verbose)
13
14
  end
14
15
  namespace 'dummy' do
15
16
  desc "Load Dummy Permissions"
16
17
  task 'permissions' => :environment do
18
+ path = "db/import_data/dummy/permissions.csv"
17
19
  verbose = true
18
20
  verbose = false if ["false", "f","0","no","n"].include?(ENV["verbose"].to_s.downcase.strip)
19
- Permission.import_data(Usman::Engine, nil, true, verbose)
21
+ Permission.import_from_csv(true, verbose)
20
22
  end
21
23
  end
22
24
  end
@@ -2,21 +2,23 @@ require 'csv'
2
2
  require 'open-uri'
3
3
  require 'time'
4
4
 
5
+ RAILS_ENV = ENV["RAILS_ENV"] || "development" unless defined?(RAILS_ENV)
6
+
5
7
  namespace 'usman' do
6
8
  namespace 'import' do
7
9
  desc "Import Users"
8
10
  task 'users' => :environment do
9
11
  verbose = true
10
12
  verbose = false if ["false", "f","0","no","n"].include?(ENV["verbose"].to_s.downcase.strip)
11
- path = ENV['path']
12
- User.import_data(Usman::Engine, path, false, verbose)
13
+ User.import_from_csv(false, verbose)
13
14
  end
14
15
  namespace 'dummy' do
15
16
  desc "Load Dummy Users"
16
17
  task 'users' => :environment do
18
+ path = "db/import_data/dummy/users.csv"
17
19
  verbose = true
18
20
  verbose = false if ["false", "f","0","no","n"].include?(ENV["verbose"].to_s.downcase.strip)
19
- User.import_data(Usman::Engine, nil, true, verbose)
21
+ User.import_from_csv(true, verbose)
20
22
  end
21
23
  end
22
24
  end
data/lib/usman/engine.rb CHANGED
@@ -8,6 +8,8 @@ module Usman
8
8
 
9
9
  isolate_namespace Usman
10
10
 
11
+ config.autoload_paths << File.expand_path("../extras", __FILE__)
12
+
11
13
  config.before_initialize do
12
14
  config.i18n.load_path += Dir["#{config.root}/config/locales/**/*.yml"]
13
15
  end
@@ -0,0 +1,79 @@
1
+ module Usman
2
+ class ErrorHash
3
+
4
+ require 'colorized_string'
5
+
6
+ attr_accessor :warnings,
7
+ :errors
8
+
9
+ def initialize
10
+ @warnings = []
11
+ @errors = []
12
+ end
13
+
14
+ def warnings?
15
+ @warnings.any?
16
+ end
17
+
18
+ def errors?
19
+ @errors.any?
20
+ end
21
+
22
+ def print_dot
23
+ if self.warnings?
24
+ print ".".yellow
25
+ elsif self.errors?
26
+ print ".".red
27
+ else
28
+ print ".".green
29
+ end
30
+ end
31
+
32
+ def print_all
33
+ self.warnings.each do |item|
34
+ puts "Summary: #{item[:summary]}".yellow
35
+ puts "Details: #{item[:details]}".yellow if item[:details]
36
+ puts "Stack Trace: #{item[:stack_trace]}".yellow if item[:stack_trace]
37
+ puts ""
38
+ end
39
+ self.errors.each do |item|
40
+ puts "Summary: #{item[:summary]}".red
41
+ puts "Details: #{item[:details]}".red if item[:details]
42
+ puts "Stack Trace: #{item[:stack_trace]}".red if item[:stack_trace]
43
+ puts ""
44
+ end
45
+ end
46
+ end
47
+
48
+ module ImportErrorHandler
49
+ def import_from_csv(dummy=true, verbose=true)
50
+
51
+ if dummy
52
+ folder_path = "/import_data/dummy/"
53
+ else
54
+ folder_path = "/import_data/"
55
+ end
56
+
57
+ base_path = File.expand_path('../../../../db/', __FILE__) + folder_path
58
+ csv_path = File.expand_path(base_path + "#{self.table_name}.csv")
59
+
60
+ csv_table = CSV.table(csv_path, {headers: true, converters: nil, header_converters: :symbol})
61
+ headers = csv_table.headers
62
+
63
+ errors = []
64
+
65
+ csv_table.each do |row|
66
+ error_object = save_row_data(row, base_path)
67
+ errors << error_object if error_object
68
+ error_object.print_dot if error_object
69
+ end
70
+
71
+ if verbose
72
+ puts ""
73
+ errors.each do |error_object|
74
+ error_object.print_all if error_object
75
+ end
76
+ end
77
+ end
78
+ end
79
+ end
data/lib/usman/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Usman
2
- VERSION = '0.1.5dev4'
2
+ VERSION = '0.1.5'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: usman
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.5dev4
4
+ version: 0.1.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - kpvarma
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-04-12 00:00:00.000000000 Z
11
+ date: 2017-03-31 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -90,14 +90,14 @@ dependencies:
90
90
  requirements:
91
91
  - - "~>"
92
92
  - !ruby/object:Gem::Version
93
- version: 0.1.5dev4
93
+ version: 0.1.5
94
94
  type: :runtime
95
95
  prerelease: false
96
96
  version_requirements: !ruby/object:Gem::Requirement
97
97
  requirements:
98
98
  - - "~>"
99
99
  - !ruby/object:Gem::Version
100
- version: 0.1.5dev4
100
+ version: 0.1.5
101
101
  - !ruby/object:Gem::Dependency
102
102
  name: bcrypt
103
103
  requirement: !ruby/object:Gem::Requirement
@@ -306,7 +306,6 @@ files:
306
306
  - app/controllers/usman/admin/permissions_controller.rb
307
307
  - app/controllers/usman/admin/resource_controller.rb
308
308
  - app/controllers/usman/admin/roles_controller.rb
309
- - app/controllers/usman/admin/user_roles_controller.rb
310
309
  - app/controllers/usman/admin/users_controller.rb
311
310
  - app/controllers/usman/application_controller.rb
312
311
  - app/controllers/usman/sessions_controller.rb
@@ -330,26 +329,39 @@ files:
330
329
  - app/views/layouts/kuppayam/_navbar.html.erb
331
330
  - app/views/layouts/kuppayam/_sidebar.html.erb
332
331
  - app/views/usman/admin/dashboard/index.html.erb
332
+ - app/views/usman/admin/features/_action_buttons.html.erb
333
333
  - app/views/usman/admin/features/_form.html.erb
334
334
  - app/views/usman/admin/features/_index.html.erb
335
335
  - app/views/usman/admin/features/_row.html.erb
336
336
  - app/views/usman/admin/features/_show.html.erb
337
337
  - app/views/usman/admin/features/index.html.erb
338
+ - app/views/usman/admin/features/temp/create.js.erb
339
+ - app/views/usman/admin/features/temp/destroy.js.erb
340
+ - app/views/usman/admin/features/temp/edit.js.erb
341
+ - app/views/usman/admin/features/temp/index.js.erb
342
+ - app/views/usman/admin/features/temp/new.js.erb
343
+ - app/views/usman/admin/features/temp/row.js.erb
344
+ - app/views/usman/admin/features/temp/show.js.erb
345
+ - app/views/usman/admin/features/temp/update.js.erb
338
346
  - app/views/usman/admin/permissions/_action_buttons.html.erb
339
347
  - app/views/usman/admin/permissions/_form.html.erb
340
348
  - app/views/usman/admin/permissions/_index.html.erb
341
349
  - app/views/usman/admin/permissions/_row.html.erb
342
350
  - app/views/usman/admin/permissions/_show.html.erb
343
351
  - app/views/usman/admin/permissions/index.html.erb
352
+ - app/views/usman/admin/permissions/temp/create.js.erb
353
+ - app/views/usman/admin/permissions/temp/destroy.js.erb
354
+ - app/views/usman/admin/permissions/temp/edit.js.erb
355
+ - app/views/usman/admin/permissions/temp/index.js.erb
356
+ - app/views/usman/admin/permissions/temp/new.js.erb
357
+ - app/views/usman/admin/permissions/temp/row.js.erb
358
+ - app/views/usman/admin/permissions/temp/show.js.erb
359
+ - app/views/usman/admin/permissions/temp/update.js.erb
344
360
  - app/views/usman/admin/roles/_form.html.erb
345
361
  - app/views/usman/admin/roles/_index.html.erb
346
362
  - app/views/usman/admin/roles/_row.html.erb
347
363
  - app/views/usman/admin/roles/_show.html.erb
348
364
  - app/views/usman/admin/roles/index.html.erb
349
- - app/views/usman/admin/user_roles/_form.html.erb
350
- - app/views/usman/admin/user_roles/_index.html.erb
351
- - app/views/usman/admin/user_roles/_row.html.erb
352
- - app/views/usman/admin/user_roles/_show.html.erb
353
365
  - app/views/usman/admin/users/_form.html.erb
354
366
  - app/views/usman/admin/users/_index.html.erb
355
367
  - app/views/usman/admin/users/_row.html.erb
@@ -362,21 +374,29 @@ files:
362
374
  - config/locales/kuppayam/authentication.en.yml
363
375
  - config/routes.rb
364
376
  - db/import_data/dummy/features.csv
377
+ - db/import_data/dummy/images/users/guna.neweast.png
378
+ - db/import_data/dummy/images/users/junaid.ramzan.jpg
379
+ - db/import_data/dummy/images/users/kpvarma.png
380
+ - db/import_data/dummy/images/users/stephen.price.png
381
+ - db/import_data/dummy/images/users/vinodh.jpg
365
382
  - db/import_data/dummy/permissions.csv
366
- - db/import_data/dummy/roles.csv
367
383
  - db/import_data/dummy/users.csv
368
- - db/import_data/roles.csv
384
+ - db/import_data/features.csv
385
+ - db/import_data/images/users/junaid.ramzan.jpg
386
+ - db/import_data/images/users/kpvarma.png
387
+ - db/import_data/images/users/vinodh.jpg
388
+ - db/import_data/permissions.csv
369
389
  - db/import_data/users.csv
370
390
  - db/migrate/20170000000100_create_users.rb
371
391
  - db/migrate/20170000000101_create_features.rb
372
392
  - db/migrate/20170000000102_create_roles.rb
373
393
  - lib/tasks/usman/all.rake
374
- - lib/temp/features.rake
375
- - lib/temp/permissions.rake
376
- - lib/temp/roles.rake
377
- - lib/temp/users.rake
394
+ - lib/tasks/usman/features.rake
395
+ - lib/tasks/usman/permissions.rake
396
+ - lib/tasks/usman/users.rake
378
397
  - lib/usman.rb
379
398
  - lib/usman/engine.rb
399
+ - lib/usman/extras/import_error_handler.rb
380
400
  - lib/usman/version.rb
381
401
  homepage: https://github.com/right-solutions/usman
382
402
  licenses:
@@ -393,9 +413,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
393
413
  version: '0'
394
414
  required_rubygems_version: !ruby/object:Gem::Requirement
395
415
  requirements:
396
- - - ">"
416
+ - - ">="
397
417
  - !ruby/object:Gem::Version
398
- version: 1.3.1
418
+ version: '0'
399
419
  requirements: []
400
420
  rubyforge_project:
401
421
  rubygems_version: 2.5.1