usman 0.1.5 → 0.1.6dev2

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 (93) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +48 -16
  3. data/app/controllers/usman/admin/base_controller.rb +22 -0
  4. data/app/controllers/usman/admin/dashboard_controller.rb +1 -1
  5. data/app/controllers/usman/admin/features_controller.rb +4 -1
  6. data/app/controllers/usman/admin/permissions_controller.rb +9 -15
  7. data/app/controllers/usman/admin/resource_controller.rb +3 -1
  8. data/app/controllers/usman/admin/roles_controller.rb +4 -2
  9. data/app/controllers/usman/admin/user_roles_controller.rb +142 -0
  10. data/app/controllers/usman/admin/users_controller.rb +5 -2
  11. data/app/controllers/usman/application_controller.rb +0 -4
  12. data/app/controllers/usman/sessions_controller.rb +5 -2
  13. data/app/helpers/usman/authentication_helper.rb +35 -25
  14. data/app/models/feature.rb +50 -46
  15. data/app/models/image/feature_image.rb +1 -1
  16. data/app/models/image/profile_picture.rb +1 -1
  17. data/app/models/permission.rb +3 -8
  18. data/app/models/role.rb +4 -7
  19. data/app/models/user.rb +81 -103
  20. data/app/models/usman/application_record.rb +3 -0
  21. data/app/services/usman/authentication_service.rb +4 -3
  22. data/app/uploaders/profile_picture_uploader.rb +2 -1
  23. data/app/views/layouts/kuppayam/_header.html.erb +1 -1
  24. data/app/views/layouts/kuppayam/_navbar.html.erb +1 -1
  25. data/app/views/layouts/kuppayam/_sidebar.html.erb +8 -7
  26. data/app/views/usman/admin/dashboard/index.html.erb +0 -1
  27. data/app/views/usman/admin/features/_form.html.erb +5 -2
  28. data/app/views/usman/admin/features/_index.html.erb +4 -1
  29. data/app/views/usman/admin/features/index.html.erb +20 -3
  30. data/app/views/usman/admin/permissions/_show.html.erb +2 -10
  31. data/app/views/usman/admin/permissions/index.html.erb +20 -3
  32. data/app/views/usman/admin/roles/_form.html.erb +1 -1
  33. data/app/views/usman/admin/roles/_index.html.erb +3 -3
  34. data/app/views/usman/admin/roles/_row.html.erb +2 -2
  35. data/app/views/usman/admin/roles/_show.html.erb +41 -7
  36. data/app/views/usman/admin/roles/index.html.erb +22 -3
  37. data/app/views/usman/admin/user_roles/_form.html.erb +24 -0
  38. data/app/views/usman/admin/user_roles/_index.html.erb +59 -0
  39. data/app/views/usman/admin/user_roles/_row.html.erb +34 -0
  40. data/app/views/usman/admin/users/_index.html.erb +22 -16
  41. data/app/views/usman/admin/users/_row.html.erb +4 -4
  42. data/app/views/usman/admin/users/_show.html.erb +1 -1
  43. data/app/views/usman/admin/users/index.html.erb +4 -2
  44. data/app/views/usman/sessions/_form.html.erb +19 -7
  45. data/app/views/usman/sessions/sign_in.html.erb +1 -1
  46. data/config/initializers/overide_kuppayam_controllers.rb +74 -0
  47. data/config/locales/kuppayam/authentication.en.yml +4 -1
  48. data/config/routes.rb +3 -1
  49. data/db/import_data/dummy/features.csv +7 -0
  50. data/db/import_data/dummy/permissions.csv +18 -1
  51. data/db/import_data/dummy/roles.csv +5 -0
  52. data/db/import_data/dummy/users.csv +7 -3
  53. data/db/import_data/features.csv +7 -0
  54. data/db/import_data/permissions.csv +1 -30
  55. data/db/import_data/roles.csv +5 -0
  56. data/db/migrate/20170000000100_create_users.rb +1 -1
  57. data/db/migrate/20170000000101_create_features.rb +1 -1
  58. data/db/migrate/20170000000102_create_roles.rb +1 -1
  59. data/db/migrate/20170728095744_create_otp_registrations.rb +17 -0
  60. data/lib/tasks/usman/all.rake +34 -10
  61. data/lib/{tasks/usman → temp}/features.rake +3 -6
  62. data/lib/{tasks/usman → temp}/permissions.rake +3 -5
  63. data/lib/temp/roles.rake +24 -0
  64. data/lib/{tasks/usman → temp}/users.rake +3 -5
  65. data/lib/usman/engine.rb +2 -3
  66. data/lib/usman/version.rb +1 -1
  67. metadata +27 -45
  68. data/app/views/usman/admin/features/_action_buttons.html.erb +0 -0
  69. data/app/views/usman/admin/features/temp/create.js.erb +0 -29
  70. data/app/views/usman/admin/features/temp/destroy.js.erb +0 -16
  71. data/app/views/usman/admin/features/temp/edit.js.erb +0 -7
  72. data/app/views/usman/admin/features/temp/index.js.erb +0 -8
  73. data/app/views/usman/admin/features/temp/new.js.erb +0 -7
  74. data/app/views/usman/admin/features/temp/row.js.erb +0 -10
  75. data/app/views/usman/admin/features/temp/show.js.erb +0 -8
  76. data/app/views/usman/admin/features/temp/update.js.erb +0 -16
  77. data/app/views/usman/admin/permissions/temp/create.js.erb +0 -29
  78. data/app/views/usman/admin/permissions/temp/destroy.js.erb +0 -22
  79. data/app/views/usman/admin/permissions/temp/edit.js.erb +0 -4
  80. data/app/views/usman/admin/permissions/temp/index.js.erb +0 -14
  81. data/app/views/usman/admin/permissions/temp/new.js.erb +0 -4
  82. data/app/views/usman/admin/permissions/temp/row.js.erb +0 -24
  83. data/app/views/usman/admin/permissions/temp/show.js.erb +0 -13
  84. data/app/views/usman/admin/permissions/temp/update.js.erb +0 -29
  85. data/db/import_data/dummy/images/users/guna.neweast.png +0 -0
  86. data/db/import_data/dummy/images/users/junaid.ramzan.jpg +0 -0
  87. data/db/import_data/dummy/images/users/kpvarma.png +0 -0
  88. data/db/import_data/dummy/images/users/stephen.price.png +0 -0
  89. data/db/import_data/dummy/images/users/vinodh.jpg +0 -0
  90. data/db/import_data/images/users/junaid.ramzan.jpg +0 -0
  91. data/db/import_data/images/users/kpvarma.png +0 -0
  92. data/db/import_data/images/users/vinodh.jpg +0 -0
  93. data/lib/usman/extras/import_error_handler.rb +0 -79
@@ -1,10 +0,0 @@
1
- <% if @feature.errors.blank? %>
2
- <% status_hash = {approved: "success", pending: "default", suspeneded: "danger"} %>
3
- $("#tr_feature_<%= @feature.id %>").replaceWith("<%= escape_javascript(render(:partial=>'/usman/admin/features/row', locals: {feature: @feature, i: -1})) %>")
4
- // Close Modal
5
- closeGenericModal();
6
- <% else %>
7
- // Populate Server Side Errors
8
- errorMessages = <%= @feature.errors.full_messages.to_json.html_safe %>;
9
- populateServerSideErrors('feature', errorMessages);
10
- <% end %>
@@ -1,8 +0,0 @@
1
- // Show the new form in the right box.
2
- heading = "<%= raw @feature.name %>";
3
- bodyContent = "<%= escape_javascript(render(:partial=>'/usman/admin/features/show')) %>";
4
- closeGenericModal();
5
- showGenericModal(heading, bodyContent);
6
-
7
- // When the image upload form is submitted, the server response will appear in this iframe -->
8
- var $div = $('<iframe id="iframe_feature" name="iframe_feature" width="100%" style="display:none"></iframe>').appendTo('body');
@@ -1,16 +0,0 @@
1
- <% if @feature.errors.blank? %>
2
- $('#tr_feature_<%= @feature.id %>').replaceWith("<%= escape_javascript(render(:partial=>'/usman/admin/features/row', locals: {feature: @feature})) %>");
3
- $("#tr_feature_<%= @feature.id %>").css("background-color", "#fffddd");
4
- closeGenericModal();
5
- <% else %>
6
- // Show the form in the modal
7
- heading = "Edit '<%= raw @feature.name_was %>'";
8
- bodyContent = "<%= escape_javascript(render(:partial=>'/usman/admin/features/form')) %>";
9
- showGenericModal(heading, bodyContent);
10
- var $div = $('<iframe id="iframe_feature" name="iframe_feature" width="100%" style="display:none"></iframe>').appendTo('body');
11
- <%
12
- text = "You have few errors. They have been highlighted."
13
- error_message = content_tag(:div, text, class: "alert alert-danger")
14
- %>
15
- $("#feature_form_error").html("<%= escape_javascript(error_message) %>");
16
- <% end %>
@@ -1,29 +0,0 @@
1
- <% if @permission.errors.blank? %>
2
-
3
- // Inserting the row on top of the table and highlighting it
4
- $('#tr_permission_index table > tbody > tr:first').before("<%= escape_javascript(render(:partial=>'/usman/admin/permissions/row', locals: {permission: @permission})) %>")
5
- $("#tr_permission_<%= @permission.id %>").css("background-color", "#fffddd");
6
-
7
- // Showing the saved data in the modal
8
- var heading = "<%= raw @permission.name %>";
9
- var bodyContent = "<%= escape_javascript(render(:partial=>'/usman/admin/permissions/show')) %>";
10
- showLargeModal(heading, bodyContent, false);
11
-
12
- // Showing Growl Like Message
13
- notifySuccess("<%= escape_javascript(@notification[:title]) %>", "<%= escape_javascript(@notification[:message]) %>");
14
-
15
- <% else %>
16
-
17
- // Reload the form with errors
18
- var heading = "Add a Permission";
19
- var bodyContent = "<%= escape_javascript(render(:partial=>'/usman/admin/permissions/form')) %>";
20
- showLargeModal(heading, bodyContent);
21
-
22
- // Show Main Error Message on the form
23
- <% error_message = content_tag(:div, I18n.t('errors.errors_highlighted'), class: "alert alert-danger mt-20") %>
24
- $("#permission_form_error").html("<%= escape_javascript(error_message) %>");
25
-
26
- // Showing Growl Like Message
27
- notifyError("<%= escape_javascript(@notification[:title]) %>", "<%= escape_javascript(raw(@notification[:message])) %>");
28
-
29
- <% end %>
@@ -1,22 +0,0 @@
1
- <% if @destroyed %>
2
-
3
- // Removing the item from the list
4
- $('#tr_permission_<%= @permission.id %>').remove();
5
-
6
- // Closing the modal if it is opened
7
- closeLargeModal();
8
-
9
- // Showing Growl Like Message
10
- notifySuccess("<%= escape_javascript(@notification[:title]) %>", "<%= escape_javascript(@notification[:message]) %>");
11
-
12
- <% else %>
13
-
14
- // Show the error in a modal
15
- showMessageModal("<%= escape_javascript(@notification[:title]) %>", "<%= escape_javascript(@notification[:message]) %>");
16
-
17
- // Showing Growl Like Message
18
- notifyError("<%= escape_javascript(@notification[:title]) %>", "<%= escape_javascript(@notification[:message]) %>");
19
-
20
- <% end %>
21
-
22
-
@@ -1,4 +0,0 @@
1
- // Show the new form in the right box.
2
- var heading = "Edit Permission";
3
- var bodyContent = "<%= escape_javascript(render(:partial=>'/usman/admin/permissions/form')) %>";
4
- showLargeModal(heading, bodyContent);
@@ -1,14 +0,0 @@
1
- // Close Modal if it is opened
2
- closeLargeModal();
3
-
4
- <% if @permissions.any? %>
5
-
6
- // Refresh the list
7
- $('#div_permission_index').html("<%= escape_javascript(render(:partial=>'/usman/admin/permissions/index')) %>");
8
-
9
- <% else %>
10
-
11
- var noResultsText = "<%= escape_javascript(theme_panel_message(I18n.translate('success.no_results_found')))%>";
12
- $('#div_permission_index').html(noResultsText);
13
-
14
- <% end %>
@@ -1,4 +0,0 @@
1
- // Load the form
2
- var heading = "Add a Permission";
3
- var bodyContent = "<%= escape_javascript(render(:partial=>'/usman/admin/permissions/form')) %>";
4
- showLargeModal(heading, bodyContent);
@@ -1,24 +0,0 @@
1
- <% if @permission && @permission.errors.blank? %>
2
-
3
- // Updating the edited row and highlighting it
4
- $("#tr_permission_<%= @permission.id %>").replaceWith("<%= escape_javascript(render(:partial=>'/usman/admin/permissions/row', locals: {permission: @permission, i: -1})) %>")
5
- $("#tr_permission_<%= @permission.id %>").css("background-color", "#fffddd");
6
-
7
- // Refresh the modal content if it is open
8
- $("#div_permission_show").replaceWith("<%= escape_javascript(render(:partial=>'/usman/admin/permissions/show')) %>")
9
-
10
- // Closing the modal
11
- showAndHideModals();
12
-
13
- // Showing Growl Like Message
14
- notifySuccess("<%= @notification[:title] %>", "<%= @notification[:message] %>");
15
-
16
- <% else %>
17
-
18
- // Updating the row which got errored and highlighting it
19
- $("#tr_permission_<%= params[:id] %>").css("background-color", "#ffefef");
20
-
21
- // Showing Growl Like Message
22
- notifyError("<%= escape_javascript(@notification[:title]) %>", "<%= escape_javascript(raw(@notification[:message])) %>");
23
-
24
- <% end %>
@@ -1,13 +0,0 @@
1
- <% if @permission %>
2
-
3
- // Show the details in the large modal
4
- var heading = "<%= raw @permission.name %>";
5
- var bodyContent = "<%= escape_javascript(render(:partial=>'/usman/admin/permissions/show')) %>";
6
- showLargeModal(heading, bodyContent, false);
7
-
8
- <% else %>
9
-
10
- // Showing Growl Like Message
11
- notifyError("<%= escape_javascript(@notification[:title]) %>", "<%= escape_javascript(raw(@notification[:message])) %>");
12
-
13
- <% end %>
@@ -1,29 +0,0 @@
1
- <% if @permission.errors.blank? %>
2
-
3
- // Updating the edited row and highlighting it
4
- $('#tr_permission_<%= @permission.id %>').replaceWith("<%= escape_javascript(render(:partial=>'/usman/admin/permissions/row', locals: {permission: @permission})) %>");
5
- $("#tr_permission_<%= @permission.id %>").css("background-color", "#fffddd");
6
-
7
- // Showing the saved data in the modal
8
- var heading = "<%= raw @permission.name %>";
9
- var bodyContent = "<%= escape_javascript(render(:partial=>'/usman/admin/permissions/show')) %>";
10
- showLargeModal(heading, bodyContent, false);
11
-
12
- // Showing Growl Like Message
13
- notifySuccess("<%= @notification[:title] %>", "<%= @notification[:message] %>");
14
-
15
- <% else %>
16
-
17
- // Reload the form with errors
18
- var heading = "Edit Permission";
19
- var bodyContent = "<%= escape_javascript(render(:partial=>'/usman/admin/permissions/form')) %>";
20
- showLargeModal(heading, bodyContent);
21
-
22
- // Show Main Error Message on the form
23
- <% error_message = content_tag(:div, I18n.t('errors.errors_highlighted'), class: "alert alert-danger mt-20") %>
24
- $("#permission_form_error").html("<%= escape_javascript(error_message) %>");
25
-
26
- // Showing Growl Like Message
27
- notifyError("<%= escape_javascript(@notification[:title]) %>", "<%= escape_javascript(raw(@notification[:message])) %>");
28
-
29
- <% end %>
Binary file
@@ -1,79 +0,0 @@
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