usman 0.1.5dev4 → 0.1.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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