usman 0.1.5dev4 → 0.1.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/controllers/usman/admin/dashboard_controller.rb +1 -1
- data/app/controllers/usman/admin/features_controller.rb +0 -2
- data/app/controllers/usman/admin/permissions_controller.rb +15 -8
- data/app/controllers/usman/admin/roles_controller.rb +2 -3
- data/app/controllers/usman/admin/users_controller.rb +2 -4
- data/app/helpers/usman/authentication_helper.rb +9 -20
- data/app/models/feature.rb +37 -37
- data/app/models/permission.rb +8 -3
- data/app/models/role.rb +6 -3
- data/app/models/user.rb +79 -70
- data/app/models/usman/application_record.rb +0 -3
- data/app/views/layouts/kuppayam/_sidebar.html.erb +7 -8
- data/app/views/usman/admin/features/_action_buttons.html.erb +0 -0
- data/app/views/usman/admin/features/_form.html.erb +2 -5
- data/app/views/usman/admin/features/_index.html.erb +1 -4
- data/app/views/usman/admin/features/index.html.erb +3 -20
- data/app/views/usman/admin/features/temp/create.js.erb +29 -0
- data/app/views/usman/admin/features/temp/destroy.js.erb +16 -0
- data/app/views/usman/admin/features/temp/edit.js.erb +7 -0
- data/app/views/usman/admin/features/temp/index.js.erb +8 -0
- data/app/views/usman/admin/features/temp/new.js.erb +7 -0
- data/app/views/usman/admin/features/temp/row.js.erb +10 -0
- data/app/views/usman/admin/features/temp/show.js.erb +8 -0
- data/app/views/usman/admin/features/temp/update.js.erb +16 -0
- data/app/views/usman/admin/permissions/_show.html.erb +10 -2
- data/app/views/usman/admin/permissions/index.html.erb +3 -20
- data/app/views/usman/admin/permissions/temp/create.js.erb +29 -0
- data/app/views/usman/admin/permissions/temp/destroy.js.erb +22 -0
- data/app/views/usman/admin/permissions/temp/edit.js.erb +4 -0
- data/app/views/usman/admin/permissions/temp/index.js.erb +14 -0
- data/app/views/usman/admin/permissions/temp/new.js.erb +4 -0
- data/app/views/usman/admin/permissions/temp/row.js.erb +24 -0
- data/app/views/usman/admin/permissions/temp/show.js.erb +13 -0
- data/app/views/usman/admin/permissions/temp/update.js.erb +29 -0
- data/app/views/usman/admin/roles/_form.html.erb +1 -1
- data/app/views/usman/admin/roles/_index.html.erb +3 -3
- data/app/views/usman/admin/roles/_row.html.erb +2 -2
- data/app/views/usman/admin/roles/_show.html.erb +7 -41
- data/app/views/usman/admin/roles/index.html.erb +3 -22
- data/app/views/usman/admin/users/_index.html.erb +16 -22
- data/app/views/usman/admin/users/_row.html.erb +4 -4
- data/app/views/usman/admin/users/_show.html.erb +1 -1
- data/app/views/usman/admin/users/index.html.erb +2 -4
- data/app/views/usman/sessions/_form.html.erb +7 -19
- data/config/locales/kuppayam/authentication.en.yml +1 -1
- data/config/routes.rb +1 -3
- data/db/import_data/dummy/images/users/guna.neweast.png +0 -0
- data/db/import_data/dummy/images/users/junaid.ramzan.jpg +0 -0
- data/db/import_data/dummy/images/users/kpvarma.png +0 -0
- data/db/import_data/dummy/images/users/stephen.price.png +0 -0
- data/db/import_data/dummy/images/users/vinodh.jpg +0 -0
- data/db/import_data/dummy/users.csv +3 -3
- data/db/import_data/features.csv +10 -0
- data/db/import_data/images/users/junaid.ramzan.jpg +0 -0
- data/db/import_data/images/users/kpvarma.png +0 -0
- data/db/import_data/images/users/vinodh.jpg +0 -0
- data/db/import_data/permissions.csv +30 -0
- data/db/migrate/20170000000100_create_users.rb +1 -1
- data/db/migrate/20170000000101_create_features.rb +1 -1
- data/db/migrate/20170000000102_create_roles.rb +1 -1
- data/lib/tasks/usman/all.rake +10 -34
- data/lib/{temp → tasks/usman}/features.rake +6 -3
- data/lib/{temp → tasks/usman}/permissions.rake +5 -3
- data/lib/{temp → tasks/usman}/users.rake +5 -3
- data/lib/usman/engine.rb +2 -0
- data/lib/usman/extras/import_error_handler.rb +79 -0
- data/lib/usman/version.rb +1 -1
- metadata +37 -17
- data/app/controllers/usman/admin/user_roles_controller.rb +0 -142
- data/app/views/usman/admin/user_roles/_form.html.erb +0 -24
- data/app/views/usman/admin/user_roles/_index.html.erb +0 -59
- data/app/views/usman/admin/user_roles/_row.html.erb +0 -30
- data/app/views/usman/admin/user_roles/_show.html.erb +0 -74
- data/db/import_data/dummy/roles.csv +0 -9
- data/db/import_data/roles.csv +0 -5
- 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.
|
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?
|
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?
|
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?
|
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?
|
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.
|
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
|
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
|
1
|
+
<%= form_tag create_session_path, :role=>"form", id: "form_sign_in", class: "login-form" do %>
|
2
2
|
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
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>
|
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: "
|
24
|
+
masquerade: "لقد سجلت الدخول بنجاح - %{user}"
|
25
25
|
sign_in_back: "You have successfully signed in back as %{user}"
|
data/config/routes.rb
CHANGED
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
@@ -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
|
-
|
6
|
-
|
7
|
-
|
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
|
Binary file
|
Binary file
|
Binary file
|
@@ -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
|
data/lib/tasks/usman/all.rake
CHANGED
@@ -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"
|
13
|
+
import_list = ["users", "features", "permissions"]
|
12
14
|
|
13
15
|
import_list.each do |item|
|
14
|
-
|
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"
|
32
|
+
import_list = ["dummy:users", "dummy:features", "dummy:permissions"]
|
44
33
|
|
45
34
|
import_list.each do |item|
|
46
|
-
|
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 "
|
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
|
-
|
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.
|
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
|
-
|
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.
|
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
|
-
|
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.
|
21
|
+
User.import_from_csv(true, verbose)
|
20
22
|
end
|
21
23
|
end
|
22
24
|
end
|
data/lib/usman/engine.rb
CHANGED
@@ -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
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.
|
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-
|
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.
|
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.
|
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/
|
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/
|
375
|
-
- lib/
|
376
|
-
- lib/
|
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:
|
418
|
+
version: '0'
|
399
419
|
requirements: []
|
400
420
|
rubyforge_project:
|
401
421
|
rubygems_version: 2.5.1
|