usman 0.1.4 → 0.1.5dev

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 (74) 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 +2 -0
  4. data/app/controllers/usman/admin/permissions_controller.rb +8 -15
  5. data/app/controllers/usman/admin/roles_controller.rb +3 -2
  6. data/app/controllers/usman/admin/user_roles_controller.rb +142 -0
  7. data/app/controllers/usman/admin/users_controller.rb +3 -1
  8. data/app/helpers/usman/authentication_helper.rb +18 -7
  9. data/app/models/feature.rb +16 -29
  10. data/app/models/permission.rb +3 -8
  11. data/app/models/role.rb +3 -6
  12. data/app/models/user.rb +43 -63
  13. data/app/models/usman/application_record.rb +4 -0
  14. data/app/views/layouts/kuppayam/_sidebar.html.erb +8 -7
  15. data/app/views/usman/admin/features/_form.html.erb +5 -2
  16. data/app/views/usman/admin/features/_index.html.erb +4 -1
  17. data/app/views/usman/admin/features/index.html.erb +20 -3
  18. data/app/views/usman/admin/permissions/_show.html.erb +2 -10
  19. data/app/views/usman/admin/permissions/index.html.erb +20 -3
  20. data/app/views/usman/admin/roles/_form.html.erb +1 -1
  21. data/app/views/usman/admin/roles/_index.html.erb +3 -3
  22. data/app/views/usman/admin/roles/_row.html.erb +2 -2
  23. data/app/views/usman/admin/roles/_show.html.erb +41 -7
  24. data/app/views/usman/admin/roles/index.html.erb +22 -3
  25. data/app/views/usman/admin/user_roles/_form.html.erb +24 -0
  26. data/app/views/usman/admin/user_roles/_index.html.erb +59 -0
  27. data/app/views/usman/admin/user_roles/_row.html.erb +30 -0
  28. data/app/views/usman/admin/user_roles/_show.html.erb +74 -0
  29. data/app/views/usman/admin/users/_index.html.erb +21 -15
  30. data/app/views/usman/admin/users/_row.html.erb +3 -3
  31. data/app/views/usman/admin/users/_show.html.erb +1 -1
  32. data/app/views/usman/admin/users/index.html.erb +3 -1
  33. data/app/views/usman/sessions/_form.html.erb +18 -6
  34. data/config/locales/kuppayam/authentication.en.yml +1 -1
  35. data/config/routes.rb +3 -1
  36. data/db/import_data/dummy/roles.csv +9 -0
  37. data/db/import_data/dummy/users.csv +3 -3
  38. data/db/import_data/roles.csv +5 -0
  39. data/lib/tasks/usman/all.rake +34 -10
  40. data/lib/{tasks/usman → temp}/features.rake +3 -6
  41. data/lib/{tasks/usman → temp}/permissions.rake +3 -5
  42. data/lib/temp/roles.rake +24 -0
  43. data/lib/{tasks/usman → temp}/users.rake +3 -5
  44. data/lib/usman/engine.rb +0 -2
  45. data/lib/usman/version.rb +1 -1
  46. metadata +17 -37
  47. data/app/views/usman/admin/features/_action_buttons.html.erb +0 -0
  48. data/app/views/usman/admin/features/temp/create.js.erb +0 -29
  49. data/app/views/usman/admin/features/temp/destroy.js.erb +0 -16
  50. data/app/views/usman/admin/features/temp/edit.js.erb +0 -7
  51. data/app/views/usman/admin/features/temp/index.js.erb +0 -8
  52. data/app/views/usman/admin/features/temp/new.js.erb +0 -7
  53. data/app/views/usman/admin/features/temp/row.js.erb +0 -10
  54. data/app/views/usman/admin/features/temp/show.js.erb +0 -8
  55. data/app/views/usman/admin/features/temp/update.js.erb +0 -16
  56. data/app/views/usman/admin/permissions/temp/create.js.erb +0 -29
  57. data/app/views/usman/admin/permissions/temp/destroy.js.erb +0 -22
  58. data/app/views/usman/admin/permissions/temp/edit.js.erb +0 -4
  59. data/app/views/usman/admin/permissions/temp/index.js.erb +0 -14
  60. data/app/views/usman/admin/permissions/temp/new.js.erb +0 -4
  61. data/app/views/usman/admin/permissions/temp/row.js.erb +0 -24
  62. data/app/views/usman/admin/permissions/temp/show.js.erb +0 -13
  63. data/app/views/usman/admin/permissions/temp/update.js.erb +0 -29
  64. data/db/import_data/dummy/images/users/guna.neweast.png +0 -0
  65. data/db/import_data/dummy/images/users/junaid.ramzan.jpg +0 -0
  66. data/db/import_data/dummy/images/users/kpvarma.png +0 -0
  67. data/db/import_data/dummy/images/users/stephen.price.png +0 -0
  68. data/db/import_data/dummy/images/users/vinodh.jpg +0 -0
  69. data/db/import_data/features.csv +0 -10
  70. data/db/import_data/images/users/junaid.ramzan.jpg +0 -0
  71. data/db/import_data/images/users/kpvarma.png +0 -0
  72. data/db/import_data/images/users/vinodh.jpg +0 -0
  73. data/db/import_data/permissions.csv +0 -30
  74. data/lib/usman/extras/import_error_handler.rb +0 -79
@@ -9,8 +9,11 @@
9
9
  </div>
10
10
 
11
11
  <div>
12
- <%= link_to raw("<i class='fa fa-close mr-5'></i><span>Cancel</span>"), "#", onclick: "closeGenericModal();", class: "pull-left btn btn-white" %>
13
- <%= submit_tag("Save", :class=>"btn btn-secondary pull-right") %>
12
+
13
+ <%= submit_tag("Save", :class=>"btn btn-primary pull-right ml-10") %>
14
+
15
+ <%= link_to raw("<i class='fa fa-close mr-5'></i><span>Cancel</span>"), "#", onclick: "closeGenericModal();", class: "pull-right ml-10 btn btn-white" %>
16
+
14
17
  </div>
15
18
  <%= clear_tag(10) %>
16
19
  </div>
@@ -2,7 +2,8 @@
2
2
  <table class="table table-hover members-table middle-align">
3
3
  <thead>
4
4
  <tr>
5
- <th style="text-align: center;width:30px">#</th>
5
+ <th style="text-align: center;width:60px">#</th>
6
+ <th style="text-align: center;width:100px"><i class="fa fa-photo"></i></th>
6
7
  <th>Name</th>
7
8
  <th style="width:100px;">Status</th>
8
9
  <th style="text-align: center;" colspan="2">Actions</th>
@@ -16,6 +17,8 @@
16
17
 
17
18
  <tr id="tr_feature_<%= feature.id %>">
18
19
 
20
+ <td class="feature-image"></td>
21
+
19
22
  <td class="feature-image">
20
23
  <%= link_to(admin_feature_path(feature), remote: true) do %>
21
24
  <%= display_image(feature, "feature_image.image.small.url", width: "32", height: "auto", class: "img-rectangle", alt: feature.display_name) %>
@@ -9,10 +9,27 @@
9
9
 
10
10
  <div id="div_feature_action_buttons">
11
11
  <div class="row">
12
- <div class="col-md-4">
13
- <%= link_to raw("<i class='fa fa-plus mr-10'></i><span class='btn-text'> New Feature</span>"), new_admin_feature_path, :class=>"btn btn-primary pull-left mb-5", :remote=>true %>
12
+ <div class="col-md-6">
13
+
14
+ <%= theme_button('Add a Feature', 'plus', new_admin_feature_path(), classes: "pull-left", btn_type: "success") %>
15
+
16
+ <%= theme_button('Refresh', 'refresh', admin_features_path(), classes: "pull-left ml-10", btn_type: "white") %>
17
+
18
+ <!-- Single button -->
19
+ <div class="ml-10 btn-group hidden">
20
+ <button type="button" class="btn btn-white dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
21
+ More Actions <span class="caret"></span>
22
+ </button>
23
+ <ul class="dropdown-menu">
24
+ <li><a href="#">Import Users</a></li>
25
+ <li><a href="#">Import History</a></li>
26
+ <li role="separator" class="divider"></li>
27
+ <li><a href="#">Export Users</a></li>
28
+ </ul>
29
+ </div>
30
+
14
31
  </div>
15
- <div class="col-md-8">
32
+ <div class="col-md-6">
16
33
  <%= search_form_kuppayam(Feature, admin_features_path, text: @filters[:query]) %>
17
34
  </div>
18
35
  </div>
@@ -1,17 +1,9 @@
1
- <% status_hash = {published: "success", unpublished: "default", disabled: "danger"} %>
2
-
3
- <div class="media <%= status_hash[@permission.status.to_sym] %>">
4
-
5
- <div class="pull-left pt-10 pr-10 pb-10" style="width:30%;">
6
- <%= edit_image(@permission, "permission_image.image.large.url", upload_image_link(@permission, :permission_image)) %>
7
- </div>
1
+ <div class="media">
8
2
 
9
3
  <div class="pull-left ml-10" style="width:65%;">
10
4
 
11
- <h1><%= @permission.name %></h1>
5
+ <h1><%= @permission.id %></h1>
12
6
 
13
- <span class="ml-5 mt-5 label label-<%= status_hash[@permission.status.to_sym] %>"><%= @permission.status.titleize %></span>
14
-
15
7
  <%= clear_tag %>
16
8
  </div>
17
9
 
@@ -9,10 +9,27 @@
9
9
 
10
10
  <div id="div_permission_action_buttons">
11
11
  <div class="row">
12
- <div class="col-md-4">
13
- <%= link_to raw("<i class='fa fa-plus mr-10'></i><span class='btn-text'> New Permission</span>"), new_admin_permission_path, :class=>"btn btn-primary pull-left mb-5", :remote=>true %>
12
+ <div class="col-md-6">
13
+
14
+ <%= theme_button('Add a Permission', 'plus', new_admin_permission_path(), classes: "pull-left", btn_type: "success") %>
15
+
16
+ <%= theme_button('Refresh', 'refresh', admin_permissions_path(), classes: "pull-left ml-10", btn_type: "white") %>
17
+
18
+ <!-- Single button -->
19
+ <div class="ml-10 btn-group hidden">
20
+ <button type="button" class="btn btn-white dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
21
+ More Actions <span class="caret"></span>
22
+ </button>
23
+ <ul class="dropdown-menu">
24
+ <li><a href="#">Import Users</a></li>
25
+ <li><a href="#">Import History</a></li>
26
+ <li role="separator" class="divider"></li>
27
+ <li><a href="#">Export Users</a></li>
28
+ </ul>
29
+ </div>
30
+
14
31
  </div>
15
- <div class="col-md-8">
32
+ <div class="col-md-6">
16
33
  <%= search_form_kuppayam(Permission, admin_permissions_path, text: @filters[:query]) %>
17
34
  </div>
18
35
  </div>
@@ -12,7 +12,7 @@
12
12
 
13
13
  <%= submit_tag("Save", :class=>"btn btn-primary pull-right ml-10") %>
14
14
 
15
- <%= link_to raw("<i class='fa fa-close mr-5'></i><span>Cancel</span>"), "#", onclick: "closeGenericModal();", class: "pull-right ml-10 btn btn-white" %>
15
+ <%= link_to raw("<i class='fa fa-close mr-5'></i><span>Cancel</span>"), "#", onclick: "closeLargeModal();", class: "pull-right ml-10 btn btn-white" %>
16
16
 
17
17
  </div>
18
18
  <%= clear_tag(10) %>
@@ -2,7 +2,7 @@
2
2
  <table class="table table-hover members-table middle-align">
3
3
  <thead>
4
4
  <tr>
5
- <th style="text-align: center;width:20px">#</th>
5
+ <th style="text-align: center;width:60px">#</th>
6
6
  <th>Name</th>
7
7
  <th style="text-align: center;">Actions</th>
8
8
  </tr>
@@ -28,9 +28,9 @@
28
28
 
29
29
  <td class="action-links" style="width:10%">
30
30
 
31
- <%= link_to raw("<i class=\"linecons-pencil\"></i> Edit Role"), edit_link, :remote=>true, class: "edit" %>
31
+ <%= link_to raw("<i class=\"linecons-pencil\"></i> Edit Role"), edit_link, :remote=>true, class: "edit" if @current_user.super_admin? and role.can_be_edited? %>
32
32
 
33
- <%= link_to raw("<i class=\"linecons-trash\"></i> Delete"), delete_link, method: :delete, role: "menuitem", tabindex: "-1", data: { confirm: 'Are you sure?' }, :remote=>true, class: "delete" %>
33
+ <%= link_to raw("<i class=\"linecons-trash\"></i> Delete"), delete_link, method: :delete, role: "menuitem", tabindex: "-1", data: { confirm: 'Are you sure?' }, :remote=>true, class: "delete" if @current_user.super_admin? and role.can_be_deleted? %>
34
34
 
35
35
  </td>
36
36
 
@@ -15,9 +15,9 @@
15
15
 
16
16
  <td class="action-links" style="width:10%">
17
17
 
18
- <%= link_to raw("<i class=\"linecons-pencil\"></i> Edit Role"), edit_link, :remote=>true, class: "edit" %>
18
+ <%= link_to raw("<i class=\"linecons-pencil\"></i> Edit Role"), edit_link, :remote=>true, class: "edit" if @current_user.super_admin? and role.can_be_edited? %>
19
19
 
20
- <%= link_to raw("<i class=\"linecons-trash\"></i> Delete"), delete_link, method: :delete, role: "menuitem", tabindex: "-1", data: { confirm: 'Are you sure?' }, :remote=>true, class: "delete" %>
20
+ <%= link_to raw("<i class=\"linecons-trash\"></i> Delete"), delete_link, method: :delete, role: "menuitem", tabindex: "-1", data: { confirm: 'Are you sure?' }, :remote=>true, class: "delete" if @current_user.super_admin? and role.can_be_deleted? %>
21
21
 
22
22
  </td>
23
23
 
@@ -1,3 +1,5 @@
1
+ <% @users = @role.users.page(@current_page).per(@per_page) %>
2
+
1
3
  <div id="div_role_show">
2
4
 
3
5
  <div class="row">
@@ -19,9 +21,9 @@
19
21
  <% edit_link = edit_admin_role_path(id: @role.id) %>
20
22
  <% delete_link = admin_role_path(id: @role.id) %>
21
23
 
22
- <%= link_to raw("<i class=\"linecons-pencil\"></i> Edit Role"), edit_link, :remote=>true, class: "btn btn-block btn-success" if @role.can_be_edited? %>
24
+ <%= link_to raw("<i class=\"linecons-pencil\"></i> Edit Role"), edit_link, :remote=>true, class: "btn btn-block btn-success" if @current_user.super_admin? and @role.can_be_edited? %>
23
25
 
24
- <%= link_to raw("<i class=\"linecons-trash\"></i> Delete Role"), delete_link, method: :delete, role: "menuitem", tabindex: "-1", data: { confirm: 'Are you sure?' }, :remote=>true, class: "btn btn-block btn-danger btn-only-hover" if @role.can_be_deleted? %>
26
+ <%= link_to raw("<i class=\"linecons-trash\"></i> Delete Role"), delete_link, method: :delete, role: "menuitem", tabindex: "-1", data: { confirm: 'Are you sure?' }, :remote=>true, class: "btn btn-block btn-danger btn-only-hover" if @current_user.super_admin? and @role.can_be_deleted? %>
25
27
 
26
28
  <div class="visible-sm visible-xs mb-50"></div>
27
29
 
@@ -32,7 +34,15 @@
32
34
  <%= clear_tag(50) %>
33
35
 
34
36
  <ul class="nav nav-pills">
35
- <li class="active">
37
+
38
+ <li class="active">
39
+ <a href="#user_roles" data-toggle="tab" aria-expanded="false">
40
+ <span class="visible-xs"><i class="fa-database"></i></span>
41
+ <span class="hidden-xs">Users</span>
42
+ </a>
43
+ </li>
44
+
45
+ <li class="">
36
46
  <a href="#technical_details" data-toggle="tab" aria-expanded="false">
37
47
  <span class="visible-xs"><i class="fa-database"></i></span>
38
48
  <span class="hidden-xs">Technical Details</span>
@@ -41,7 +51,32 @@
41
51
  </ul>
42
52
 
43
53
  <div class="tab-content">
44
- <div class="tab-pane active" id="technical_details">
54
+
55
+ <div class="tab-pane active" id="user_roles" style="border: 1px solid #000;min-height:200px;padding:20px;margin-bottom:20px;max-height: 400px;overflow-y: auto;">
56
+
57
+ <%= clear_tag(20) %>
58
+
59
+ <div id="div_user_action_buttons">
60
+ <div class="row">
61
+ <div class="col-md-6">
62
+
63
+ <%= theme_button('Add a User', 'plus', new_admin_role_user_path(@role), classes: "pull-left", btn_type: "success") %>
64
+
65
+ <%= theme_button('Refresh', 'refresh', admin_role_users_path(@role), classes: "pull-left ml-10", btn_type: "white") %>
66
+ </div>
67
+ <div class="col-md-6">
68
+ <%= search_form_kuppayam(User, admin_role_users_path(@role), text: "") %>
69
+ </div>
70
+ </div>
71
+ </div>
72
+ <%= clear_tag(10) %>
73
+
74
+ <div id="div_user_index">
75
+ <%= render :partial=>"usman/admin/user_roles/index" %>
76
+ </div>
77
+ </div>
78
+
79
+ <div class="tab-pane" id="technical_details">
45
80
 
46
81
  <%= clear_tag(20) %>
47
82
 
@@ -60,13 +95,12 @@
60
95
 
61
96
  </tbody>
62
97
  </table>
63
-
64
98
  </div>
65
-
66
99
  </div>
100
+
67
101
  </div>
68
102
 
69
- <%= link_to "Close", "#", onclick: "closeGenericModal();", class: "btn btn-primary pull-right" %>
103
+ <%= link_to "Close", "#", onclick: "closeLargeModal();", class: "btn btn-primary pull-right" %>
70
104
 
71
105
  <%= clear_tag %>
72
106
  </div>
@@ -9,10 +9,29 @@
9
9
 
10
10
  <div id="div_role_action_buttons">
11
11
  <div class="row">
12
- <div class="col-md-4">
13
- <%= link_to raw("<i class='fa fa-plus mr-10'></i><span class='btn-text'> New Role</span>"), new_admin_role_path, :class=>"btn btn-primary pull-left mb-5", :remote=>true %>
12
+ <div class="col-md-6">
13
+
14
+ <%= theme_button('Add a Role', 'plus', new_admin_role_path(), classes: "pull-left", btn_type: "success") if @current_user.super_admin? %>
15
+
16
+ <%= theme_button('Refresh', 'refresh', admin_roles_path(), classes: "pull-left ml-10", btn_type: "white") %>
17
+
18
+ <%= theme_button('Manage Users', 'nothing linecons-graduation-cap', admin_users_path(), classes: "pull-left ml-10", btn_type: "white", remote: false) %>
19
+
20
+ <!-- Single button -->
21
+ <div class="ml-10 btn-group hidden">
22
+ <button type="button" class="btn btn-white dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
23
+ More Actions <span class="caret"></span>
24
+ </button>
25
+ <ul class="dropdown-menu">
26
+ <li><a href="#">Import Users</a></li>
27
+ <li><a href="#">Import History</a></li>
28
+ <li role="separator" class="divider"></li>
29
+ <li><a href="#">Export Users</a></li>
30
+ </ul>
31
+ </div>
32
+
14
33
  </div>
15
- <div class="col-md-8">
34
+ <div class="col-md-6">
16
35
  <%= search_form_kuppayam(Role, admin_roles_path, text: @filters[:query]) %>
17
36
  </div>
18
37
  </div>
@@ -0,0 +1,24 @@
1
+ <%= form_for([:admin, @role, @user], :html => {:id=>"form_user", :class=>"mb-0 form-horizontal", :user => "form", :method => (@user.new_record? ? :post : :put), :remote=>true}) do |f| %>
2
+
3
+ <div id="user_form_error">
4
+ <%= @user.errors[:base].to_sentence %>
5
+ </div>
6
+
7
+ <div class="form-inputs mb-30 mt-30">
8
+ <% options = {assoc_collection: User.approved.normal_users.select("id, name").order("name ASC").all, required: false, editable: true, assoc_display_method: :name} %>
9
+ <%= theme_form_assoc_group(@user, :id, label: "Select User", **options) %>
10
+ </div>
11
+
12
+ <div>
13
+
14
+ <%= submit_tag("Save", :class=>"btn btn-primary pull-right ml-10") %>
15
+
16
+ <%= link_to raw("<i class='fa fa-close mr-5'></i><span>Cancel</span>"), "#", onclick: "closeGenericModal();", class: "pull-right ml-10 btn btn-white" %>
17
+
18
+ </div>
19
+ <%= clear_tag(10) %>
20
+
21
+ </div>
22
+
23
+ <% end %>
24
+
@@ -0,0 +1,59 @@
1
+ <div class="table-responsive">
2
+ <table class="table table-hover members-table middle-align">
3
+ <thead>
4
+ <tr>
5
+ <th style="text-align: center;width:60px">#</th>
6
+ <th style="text-align: center;width:100px"><i class="fa fa-photo"></i></th>
7
+ <th>Name</th>
8
+ <th>Roles</th>
9
+ <th style="text-align: center;" colspan="2">Actions</th>
10
+ </tr>
11
+ </thead>
12
+
13
+ <tbody>
14
+ <% @users.each_with_index do |user, i| %>
15
+
16
+ <% delete_link = admin_role_user_path(@role, user) %>
17
+
18
+ <tr id="tr_user_<%= user.id %>">
19
+
20
+ <th scope="row" style="text-align: center;">
21
+ <% if i < 0 %>
22
+ <i class="fa fa-check text-success"></i>
23
+ <% else %>
24
+ <%= i + 1 + (@per_page.to_i * (@current_page.to_i - 1)) %>
25
+ <% end %>
26
+ </th>
27
+
28
+ <td class="user-image">
29
+ <%= link_to(admin_user_path(user), remote: true) do %>
30
+ <%= display_image(user, "profile_picture.image.small.url", width: "120", height: "auto", class: "img-rectangle", alt: user.display_name) %>
31
+ <% end %>
32
+ </td>
33
+
34
+ <td class="user-name"><%= user.display_name %></td>
35
+
36
+ <td class="user-name">
37
+ <% user.roles.collect(&:name).each do |r| %>
38
+ <span class="ml-5 label label-primary"><%= r %></span>
39
+ <% end %>
40
+ </td>
41
+
42
+ <td class="action-links" style="width:10%">
43
+
44
+ <%= link_to raw("<i class=\"linecons-trash\"></i> Remove Role"), delete_link, method: :delete, user: "menuitem", tabindex: "-1", data: { confirm: 'Are you sure?' }, :remote=>true, class: "delete" %>
45
+
46
+ </td>
47
+
48
+ </tr>
49
+ <% end %>
50
+ </tbody>
51
+ </table>
52
+ </div>
53
+
54
+ <div class="row">
55
+ <div class="col-sm-12">
56
+ <%= paginate_kuppayam(@users) %>
57
+ </div>
58
+ </div>
59
+
@@ -0,0 +1,30 @@
1
+ <% edit_link = edit_admin_role_user_path(@role, user) %>
2
+ <% delete_link = admin_role_user_path(@role, user) %>
3
+
4
+ <tr id="tr_user_<%= user.id %>">
5
+
6
+ <th scope="row" style="text-align: center;">
7
+ <% if i < 0 %>
8
+ <i class="fa fa-check text-success"></i>
9
+ <% else %>
10
+ <%= i + 1 + (@per_page.to_i * (@current_page.to_i - 1)) %>
11
+ <% end %>
12
+ </th>
13
+
14
+ <td class="user-image">
15
+ <%= link_to(admin_user_path(user), remote: true) do %>
16
+ <%= display_image(user, "profile_picture.image.small.url", width: "120", height: "auto", class: "img-rectangle", alt: user.display_name) %>
17
+ <% end %>
18
+ </td>
19
+
20
+ <td class="user-name"><%= user.display_name %></td>
21
+
22
+ <td class="user-name"><%= user.roles.collect(&:name) %></td>
23
+
24
+ <td class="action-links" style="width:10%">
25
+
26
+ <%= link_to raw("<i class=\"linecons-trash\"></i> Remove Role"), delete_link, method: :delete, user: "menuitem", tabindex: "-1", data: { confirm: 'Are you sure?' }, :remote=>true, class: "delete" %>
27
+
28
+ </td>
29
+
30
+ </tr>
@@ -0,0 +1,74 @@
1
+ <div id="div_user_show">
2
+
3
+ <div class="row">
4
+
5
+ <div class="col-md-9 col-sm-12 col-xs-12" style="border-right:1px solid #f1f1f1;">
6
+
7
+ <div class="visible-sm visible-xs mt-50"></div>
8
+
9
+ <%= theme_panel_heading(@user.display_name) %>
10
+ <%= theme_panel_sub_heading(@user.code, "#") %>
11
+ <%= theme_panel_description(@user.role.name) if @user.role %>
12
+
13
+ <%= clear_tag(10) %>
14
+
15
+ <div class="visible-sm visible-xs mb-50"></div>
16
+
17
+ </div>
18
+
19
+ <div class="col-md-3 col-sm-12 col-xs-12">
20
+
21
+ <% edit_link = edit_admin_role_user_path(@user.role, @user) %>
22
+ <% delete_link = admin_role_user_path(@user.role, @user) %>
23
+
24
+ <%= link_to raw("<i class=\"linecons-pencil\"></i> Edit"), edit_link, :remote=>true, class: "btn btn-block btn-success" if @user.can_be_edited? %>
25
+
26
+ <%= link_to raw("<i class=\"linecons-trash\"></i> Delete"), delete_link, method: :delete, user: "menuitem", tabindex: "-1", data: { confirm: 'Are you sure?' }, :remote=>true, class: "btn btn-block btn-danger btn-only-hover" if @user.can_be_deleted? %>
27
+
28
+ <div class="visible-sm visible-xs mb-50"></div>
29
+
30
+ </div>
31
+
32
+ </div>
33
+
34
+ <%= clear_tag(50) %>
35
+
36
+ <ul class="nav nav-pills">
37
+ <li class="active">
38
+ <a href="#technical_details" data-toggle="tab" aria-expanded="false">
39
+ <span class="visible-xs"><i class="fa-database"></i></span>
40
+ <span class="hidden-xs">Technical Details</span>
41
+ </a>
42
+ </li>
43
+ </ul>
44
+
45
+ <div class="tab-content">
46
+ <div class="tab-pane active" id="technical_details">
47
+
48
+ <%= clear_tag(20) %>
49
+
50
+ <div class="table-responsive">
51
+ <table class="table table-striped table-condensed table-bordered mb-30">
52
+ <tbody>
53
+
54
+ <tr>
55
+ <th>ID</th><td colspan="3"><%= @user.id %></td>
56
+ </tr>
57
+
58
+ <tr>
59
+ <th>Created At</th><td><%= @user.created_at.strftime("%m/%d/%Y - %H:%M:%S") if @user.created_at %></td>
60
+ <th>Updated At</th><td><%= @user.updated_at.strftime("%m/%d/%Y - %H:%M:%S") if @user.updated_at %></td>
61
+ </tr>
62
+
63
+ </tbody>
64
+ </table>
65
+
66
+ </div>
67
+
68
+ </div>
69
+ </div>
70
+
71
+ <%= link_to "Close", "#", onclick: "closeGenericModal();", class: "btn btn-primary pull-right" %>
72
+
73
+ <%= clear_tag %>
74
+ </div>
@@ -2,14 +2,12 @@
2
2
  <table class="table table-hover members-table middle-align">
3
3
  <thead>
4
4
  <tr>
5
- <th style="text-align: center;width:10px">#</th>
6
- <th style="text-align: center;width:30px">Image</th>
5
+ <th style="text-align: center;width:60px">#</th>
6
+ <th style="text-align: center;width:100px"><i class="fa fa-photo"></i></th>
7
7
  <th>Name</th>
8
8
  <th class="hidden-xs hidden-sm">Username</th>
9
9
  <th class="hidden-xs hidden-sm">Email</th>
10
- <% if @current_user.is_super_admin? %>
11
- <th class="hidden-xs hidden-sm">Role</th>
12
- <% end %>
10
+ <th class="hidden-xs hidden-sm">Roles</th>
13
11
  <th>Status</th>
14
12
  <th style="text-align: center;" colspan="2">Actions</th>
15
13
  </tr>
@@ -47,13 +45,21 @@
47
45
  <td class="hidden-xs hidden-sm"><%= link_to user.email, admin_user_path(user), remote: true, class: "email" %></td>
48
46
 
49
47
  <% if @current_user.is_super_admin? %>
50
- <td class="hidden-xs hidden-sm">
51
- <% if user.super_admin %>
52
- <span class="mr-10 mt-5 label label-warning">Super Admin</span>
53
- <% else %>
54
- <span class="mr-10 mt-5 label label-default">Normal</span>
55
- <% end %>
56
- </td>
48
+ <td class="hidden-xs hidden-sm">
49
+ <% if user.super_admin? %>
50
+ <span class="mr-10 mt-5 label label-warning">Super Admin</span>
51
+ <% else %>
52
+ <% user.roles.collect(&:name).each do |r| %>
53
+ <span class="ml-5 label label-primary"><%= r %></span>
54
+ <% end %>
55
+ <% end %>
56
+ </td>
57
+ <% else %>
58
+ <td class="user-name">
59
+ <% user.roles.collect(&:name).each do |r| %>
60
+ <span class="ml-5 label label-primary"><%= r %></span>
61
+ <% end %>
62
+ </td>
57
63
  <% end %>
58
64
 
59
65
  <td>
@@ -77,13 +83,13 @@
77
83
  <td class="action-links" style="width:15%">
78
84
 
79
85
  <!-- Approve -->
80
- <%= 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? %>
86
+ <%= 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) %>
81
87
 
82
88
  <!-- Mark as Pending -->
83
- <%= 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? %>
89
+ <%= 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) %>
84
90
 
85
91
  <!-- Suspend -->
86
- <%= 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? %>
92
+ <%= 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) %>
87
93
 
88
94
  </td>
89
95
 
@@ -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? && (@current_user != user) %>
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? && (@current_user != user) %>
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? && (@current_user != user) %>
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? && (@current_user != @user) %>
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) %>
@@ -30,8 +30,10 @@
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
+
33
35
  <!-- Single button -->
34
- <div class="ml-10 btn-group">
36
+ <div class="ml-10 btn-group hidden">
35
37
  <button type="button" class="btn btn-white dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
36
38
  More Actions <span class="caret"></span>
37
39
  </button>
@@ -1,10 +1,22 @@
1
- <%= form_tag create_session_path, :role=>"form", id: "form_sign_in", class: "login-form fade-in-effect" do %>
1
+ <%= form_tag usman.create_session_path, :role=>"form", id: "form_sign_in", class: "login-form" do %>
2
2
 
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] %>
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 %>
8
20
 
9
21
  <div class="row pt-10">
10
22
  <div class="col-sm-offset-3 col-sm-4">
@@ -21,5 +21,5 @@ en:
21
21
  logged_out:
22
22
  heading: "Signed Out"
23
23
  message: "You have successfully signed out"
24
- masquerade: "لقد سجلت الدخول بنجاح - %{user}"
24
+ masquerade: "You have successfully logged in as - %{user}"
25
25
  sign_in_back: "You have successfully signed in back as %{user}"
data/config/routes.rb CHANGED
@@ -24,7 +24,9 @@ Usman::Engine.routes.draw do
24
24
  end
25
25
  end
26
26
 
27
- resources :roles
27
+ resources :roles do
28
+ resources :users, :controller => "user_roles"
29
+ end
28
30
 
29
31
  resources :features do
30
32
  member do