usman 0.1.0 → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (100) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +51 -10
  3. data/app/controllers/usman/admin/dashboard_controller.rb +9 -1
  4. data/app/controllers/usman/admin/features_controller.rb +16 -22
  5. data/app/controllers/usman/admin/permissions_controller.rb +15 -0
  6. data/app/controllers/usman/admin/resource_controller.rb +4 -0
  7. data/app/controllers/usman/admin/roles_controller.rb +66 -0
  8. data/app/controllers/usman/admin/users_controller.rb +44 -31
  9. data/app/controllers/usman/sessions_controller.rb +14 -3
  10. data/app/helpers/usman/authentication_helper.rb +23 -17
  11. data/app/models/feature.rb +50 -4
  12. data/app/models/permission.rb +49 -1
  13. data/app/models/role.rb +62 -0
  14. data/app/models/user.rb +112 -3
  15. data/app/models/usman/application_record.rb +2 -2
  16. data/app/views/layouts/kuppayam/_sidebar.html.erb +8 -4
  17. data/app/views/usman/admin/dashboard/index.html.erb +1 -1
  18. data/app/views/usman/admin/features/_action_buttons.html.erb +0 -11
  19. data/app/views/usman/admin/features/_index.html.erb +3 -3
  20. data/app/views/usman/admin/features/_row.html.erb +3 -3
  21. data/app/views/usman/admin/features/_show.html.erb +5 -1
  22. data/app/views/usman/admin/features/index.html.erb +8 -1
  23. data/app/views/usman/admin/features/temp/create.js.erb +29 -0
  24. data/app/views/usman/admin/features/{index.js.erb → temp/index.js.erb} +1 -1
  25. data/app/views/usman/admin/permissions/_action_buttons.html.erb +0 -11
  26. data/app/views/usman/admin/permissions/index.html.erb +8 -1
  27. data/app/views/usman/admin/permissions/temp/create.js.erb +29 -0
  28. data/app/views/usman/admin/permissions/temp/destroy.js.erb +22 -0
  29. data/app/views/usman/admin/permissions/temp/edit.js.erb +4 -0
  30. data/app/views/usman/admin/permissions/{index.js.erb → temp/index.js.erb} +9 -3
  31. data/app/views/usman/admin/permissions/temp/new.js.erb +4 -0
  32. data/app/views/usman/admin/permissions/temp/row.js.erb +24 -0
  33. data/app/views/usman/admin/permissions/temp/show.js.erb +13 -0
  34. data/app/views/usman/admin/permissions/temp/update.js.erb +29 -0
  35. data/app/views/usman/admin/roles/_form.html.erb +23 -0
  36. data/app/views/usman/admin/roles/_index.html.erb +48 -0
  37. data/app/views/usman/admin/roles/_row.html.erb +24 -0
  38. data/app/views/usman/admin/roles/_show.html.erb +72 -0
  39. data/app/views/usman/admin/roles/index.html.erb +32 -0
  40. data/app/views/usman/admin/users/_form.html.erb +5 -2
  41. data/app/views/usman/admin/users/_index.html.erb +22 -41
  42. data/app/views/usman/admin/users/_row.html.erb +21 -41
  43. data/app/views/usman/admin/users/_show.html.erb +198 -131
  44. data/app/views/usman/admin/users/index.html.erb +25 -1
  45. data/app/views/usman/sessions/_sign_in.js.erb +2 -2
  46. data/config/locales/kuppayam/authentication.ar.yml +25 -0
  47. data/config/locales/kuppayam/authentication.en.yml +25 -0
  48. data/config/routes.rb +4 -9
  49. data/db/import_data/dummy/features.csv +10 -0
  50. data/db/import_data/dummy/images/users/guna.neweast.png +0 -0
  51. data/db/import_data/dummy/images/users/junaid.ramzan.jpg +0 -0
  52. data/db/import_data/dummy/images/users/kpvarma.png +0 -0
  53. data/db/import_data/dummy/images/users/stephen.price.png +0 -0
  54. data/db/import_data/dummy/images/users/vinodh.jpg +0 -0
  55. data/db/import_data/dummy/permissions.csv +60 -0
  56. data/db/import_data/dummy/users.csv +7 -0
  57. data/db/import_data/features.csv +10 -0
  58. data/db/import_data/images/users/junaid.ramzan.jpg +0 -0
  59. data/db/import_data/images/users/kpvarma.png +0 -0
  60. data/db/import_data/images/users/vinodh.jpg +0 -0
  61. data/db/import_data/permissions.csv +30 -0
  62. data/db/import_data/users.csv +4 -0
  63. data/db/migrate/20170000000102_create_roles.rb +18 -0
  64. data/lib/tasks/usman/all.rake +49 -0
  65. data/lib/tasks/usman/features.rake +26 -0
  66. data/lib/tasks/usman/permissions.rake +26 -0
  67. data/lib/tasks/usman/users.rake +26 -0
  68. data/lib/usman/engine.rb +12 -1
  69. data/lib/usman/extras/import_error_handler.rb +79 -0
  70. data/lib/usman/version.rb +1 -1
  71. metadata +65 -55
  72. data/app/models/image/base.rb +0 -30
  73. data/app/views/usman/admin/features/create.js.erb +0 -16
  74. data/app/views/usman/admin/permissions/create.js.erb +0 -17
  75. data/app/views/usman/admin/permissions/destroy.js.erb +0 -16
  76. data/app/views/usman/admin/permissions/edit.js.erb +0 -7
  77. data/app/views/usman/admin/permissions/new.js.erb +0 -7
  78. data/app/views/usman/admin/permissions/row.js.erb +0 -10
  79. data/app/views/usman/admin/permissions/show.js.erb +0 -8
  80. data/app/views/usman/admin/permissions/update.js.erb +0 -16
  81. data/app/views/usman/admin/users/_action_buttons.html.erb +0 -11
  82. data/app/views/usman/admin/users/create.js.erb +0 -16
  83. data/app/views/usman/admin/users/destroy.js.erb +0 -16
  84. data/app/views/usman/admin/users/edit.js.erb +0 -7
  85. data/app/views/usman/admin/users/index.js.erb +0 -8
  86. data/app/views/usman/admin/users/new.js.erb +0 -7
  87. data/app/views/usman/admin/users/row.js.erb +0 -10
  88. data/app/views/usman/admin/users/show.js.erb +0 -8
  89. data/app/views/usman/admin/users/update.js.erb +0 -16
  90. data/config/locales/usman.en.yml +0 -61
  91. data/db/migrate/20131108102728_create_images.rb +0 -12
  92. data/lib/tasks/usman_tasks.rake +0 -4
  93. /data/app/views/usman/admin/features/{destroy.js.erb → temp/destroy.js.erb} +0 -0
  94. /data/app/views/usman/admin/features/{edit.js.erb → temp/edit.js.erb} +0 -0
  95. /data/app/views/usman/admin/features/{new.js.erb → temp/new.js.erb} +0 -0
  96. /data/app/views/usman/admin/features/{row.js.erb → temp/row.js.erb} +0 -0
  97. /data/app/views/usman/admin/features/{show.js.erb → temp/show.js.erb} +0 -0
  98. /data/app/views/usman/admin/features/{update.js.erb → temp/update.js.erb} +0 -0
  99. /data/db/migrate/{20140402113213_create_users.rb → 20170000000100_create_users.rb} +0 -0
  100. /data/db/migrate/{20140402113214_create_features.rb → 20170000000101_create_features.rb} +0 -0
@@ -0,0 +1,24 @@
1
+ <% edit_link = edit_admin_role_path(id: role.id) %>
2
+ <% delete_link = admin_role_path(id: role.id) %>
3
+
4
+ <tr id="tr_role_<%= role.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="role-name"><%= link_to role.name, admin_role_path(role), remote: true %></td>
15
+
16
+ <td class="action-links" style="width:10%">
17
+
18
+ <%= link_to raw("<i class=\"linecons-pencil\"></i> Edit Role"), edit_link, :remote=>true, class: "edit" %>
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" %>
21
+
22
+ </td>
23
+
24
+ </tr>
@@ -0,0 +1,72 @@
1
+ <div id="div_role_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(@role.name) %>
10
+
11
+ <%= clear_tag(10) %>
12
+
13
+ <div class="visible-sm visible-xs mb-50"></div>
14
+
15
+ </div>
16
+
17
+ <div class="col-md-3 col-sm-12 col-xs-12">
18
+
19
+ <% edit_link = edit_admin_role_path(id: @role.id) %>
20
+ <% delete_link = admin_role_path(id: @role.id) %>
21
+
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? %>
23
+
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? %>
25
+
26
+ <div class="visible-sm visible-xs mb-50"></div>
27
+
28
+ </div>
29
+
30
+ </div>
31
+
32
+ <%= clear_tag(50) %>
33
+
34
+ <ul class="nav nav-pills">
35
+ <li class="active">
36
+ <a href="#technical_details" data-toggle="tab" aria-expanded="false">
37
+ <span class="visible-xs"><i class="fa-database"></i></span>
38
+ <span class="hidden-xs">Technical Details</span>
39
+ </a>
40
+ </li>
41
+ </ul>
42
+
43
+ <div class="tab-content">
44
+ <div class="tab-pane active" id="technical_details">
45
+
46
+ <%= clear_tag(20) %>
47
+
48
+ <div class="table-responsive">
49
+ <table class="table table-striped table-condensed table-bordered mb-30">
50
+ <tbody>
51
+
52
+ <tr>
53
+ <th>ID</th><td colspan="3"><%= @role.id %></td>
54
+ </tr>
55
+
56
+ <tr>
57
+ <th>Created At</th><td><%= @role.created_at.strftime("%m/%d/%Y - %H:%M:%S") if @role.created_at %></td>
58
+ <th>Updated At</th><td><%= @role.updated_at.strftime("%m/%d/%Y - %H:%M:%S") if @role.updated_at %></td>
59
+ </tr>
60
+
61
+ </tbody>
62
+ </table>
63
+
64
+ </div>
65
+
66
+ </div>
67
+ </div>
68
+
69
+ <%= link_to "Close", "#", onclick: "closeGenericModal();", class: "btn btn-primary pull-right" %>
70
+
71
+ <%= clear_tag %>
72
+ </div>
@@ -0,0 +1,32 @@
1
+ <div class="row">
2
+
3
+ <div class="col-md-12">
4
+
5
+ <ul class="nav nav-tabs">
6
+ </ul>
7
+ <div class="tab-content">
8
+ <div class="tab-pane active">
9
+
10
+ <div id="div_role_action_buttons">
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 %>
14
+ </div>
15
+ <div class="col-md-8">
16
+ <%= search_form_kuppayam(Role, admin_roles_path, text: @filters[:query]) %>
17
+ </div>
18
+ </div>
19
+ </div>
20
+ <%= clear_tag(10) %>
21
+
22
+ <div id="div_role_index">
23
+ <%= render :partial=>"usman/admin/roles/index" %>
24
+ </div>
25
+ <%= clear_tag(10) %>
26
+
27
+ </div>
28
+ </div>
29
+
30
+ </div>
31
+
32
+ </div>
@@ -26,8 +26,11 @@
26
26
  </div>
27
27
 
28
28
  <div>
29
- <%= link_to raw("<i class='fa fa-close mr-5'></i><span>Cancel</span>"), "#", onclick: "closeLargeModal();", class: "pull-left btn btn-white" %>
30
- <%= submit_tag("Save", :class=>"btn btn-secondary pull-right") %>
29
+
30
+ <%= submit_tag("Save", :class=>"btn btn-primary pull-right ml-10") %>
31
+
32
+ <%= link_to raw("<i class='fa fa-close mr-5'></i><span>Cancel</span>"), "#", onclick: "closeLargeModal();", class: "pull-right ml-10 btn btn-white" %>
33
+
31
34
  </div>
32
35
  <%= clear_tag(10) %>
33
36
  </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:10px">#</th>
6
+ <th style="text-align: center;width:30px">Image</th>
6
7
  <th>Name</th>
7
8
  <th class="hidden-xs hidden-sm">Username</th>
8
9
  <th class="hidden-xs hidden-sm">Email</th>
@@ -25,25 +26,25 @@
25
26
  <input type="checkbox" class="cbr" name="users[]" value="1" checked />
26
27
  </td> -->
27
28
 
28
- <!-- <th scope="row" style="text-align: center;">
29
- <%# if i < 0 %>
29
+ <th scope="row" style="text-align: center;">
30
+ <% if i < 0 %>
30
31
  <i class="fa fa-check text-success"></i>
31
- <%# else %>
32
- <%#= i + 1 + (@per_page.to_i * (@current_page.to_i - 1)) %>
33
- <%# end %>
34
- </th> -->
32
+ <% else %>
33
+ <%= i + 1 + (@per_page.to_i * (@current_page.to_i - 1)) %>
34
+ <% end %>
35
+ </th>
35
36
 
36
37
  <td class="user-image">
37
- <a href="#">
38
- <%= display_image(user, "profile_picture.image.small.url", width: "32", height: "auto", class: "img-circle", alt: user.display_name) %>
39
- </a>
38
+ <%= link_to(admin_user_path(user), remote: true) do %>
39
+ <%= display_image(user, "profile_picture.image.small.url", width: "120", height: "auto", class: "img-rectangle", alt: user.display_name) %>
40
+ <% end %>
40
41
  </td>
41
42
 
42
43
  <td class="user-name"><%= link_to user.name, admin_user_path(user), remote: true %></td>
43
44
 
44
- <td class="hidden-xs hidden-sm"><%= link_to user.username, "#" %></td>
45
+ <td class="hidden-xs hidden-sm"><%= link_to user.username, admin_user_path(user), remote: true %></td>
45
46
 
46
- <td class="hidden-xs hidden-sm"><%= link_to user.email, "#", class: "email" %></td>
47
+ <td class="hidden-xs hidden-sm"><%= link_to user.email, admin_user_path(user), remote: true, class: "email" %></td>
47
48
 
48
49
  <% if @current_user.is_super_admin? %>
49
50
  <td class="hidden-xs hidden-sm">
@@ -67,42 +68,22 @@
67
68
 
68
69
  <td class="action-links" style="width:15%">
69
70
 
70
- <%= link_to raw("<i class=\"linecons-pencil\"></i> Edit User"), edit_link, :remote=>true, class: "edit" %>
71
-
72
- <%= 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 != user %>
71
+ <%= link_to raw("<i class=\"linecons-pencil\"></i> Edit User"), edit_link, :remote=>true, class: "edit" if user.can_be_edited? %>
73
72
 
74
- <% if @current_user.super_admin? %>
75
- <%= link_to raw("<i class=\"linecons-paper-plane\"></i> Masquerade"), masquerade_admin_user_path(user), method: :put, data: { confirm: "Are you sure? Do you really want to logout current session and login as #{user.name}?" } %>
76
- <% end %>
73
+ <%= 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 user.can_be_deleted? && (@current_user != user) %>
77
74
 
78
75
  </td>
79
76
 
80
77
  <td class="action-links" style="width:15%">
81
78
 
82
- <% if @current_user.super_admin? %>
83
- <% if user.super_admin? %>
84
- <!-- Remove Super Admin -->
85
- <%= link_to raw("<i class=\"fa fa-remove mr-5\"></i> Remove Super Admin"), remove_super_admin_admin_user_path(id: user.id), method: :put, :remote=>true, role: "menuitem", tabindex: "-1" %>
86
- <% else %>
87
- <!-- Make Super Admin -->
88
- <%= link_to raw("<i class=\"fa fa-plus-square mr-5\"></i> Make Super Admin"), make_super_admin_admin_user_path(id: user.id), method: :put, remote: true, role: "menuitem", tabindex: "-1" %>
89
- <% end %>
90
- <% end %>
79
+ <!-- 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? %>
91
81
 
92
- <% case user.status %>
93
- <% when "approved" %>
94
- <!-- Pending -->
95
- <%= 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=>"user_status" %>
96
-
97
- <!-- Suspend -->
98
- <%= 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", :class=>"user_status" %>
99
- <% when "pending" %>
100
- <!-- Approve -->
101
- <%= 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=>"user_status" %>
102
- <% when "suspended" %>
103
- <!-- Approve -->
104
- <%= 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=>"user_status" %>
105
- <% end %>
82
+ <!-- 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? %>
84
+
85
+ <!-- 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? %>
106
87
 
107
88
  </td>
108
89
 
@@ -7,25 +7,25 @@
7
7
  <input type="checkbox" class="cbr" name="users[]" value="1" checked />
8
8
  </td> -->
9
9
 
10
- <!-- <th scope="row" style="text-align: center;">
11
- <%# if i < 0 %>
12
- <i class="fa fa-check text-success"></i>
13
- <%# else %>
14
- <%#= i + 1 + (@per_page.to_i * (@current_page.to_i - 1)) %>
15
- <%# end %>
16
- </th> -->
10
+ <th scope="row" style="text-align: center;">
11
+ <% if i < 0 %>
12
+ <i class="fa fa-check text-success"></i>
13
+ <% else %>
14
+ <%= i + 1 + (@per_page.to_i * (@current_page.to_i - 1)) %>
15
+ <% end %>
16
+ </th>
17
17
 
18
18
  <td class="user-image hidden-xs hidden-sm">
19
- <a href="#">
20
- <%= display_image(user, "profile_picture.image.small.url", width: "32", height: "auto", class: "img-circle", alt: user.display_name) %>
21
- </a>
19
+ <%= link_to(admin_user_path(user), remote: true) do %>
20
+ <%= display_image(user, "profile_picture.image.small.url", width: "120", height: "auto", class: "img-rectangle", alt: user.display_name) %>
21
+ <% end %>
22
22
  </td>
23
23
 
24
24
  <td class="user-name"><%= link_to user.name, admin_user_path(user), remote: true %></td>
25
25
 
26
- <td class="hidden-xs hidden-sm"><%= link_to user.username, "#" %></td>
26
+ <td class="hidden-xs hidden-sm"><%= link_to user.username, admin_user_path(user), remote: true %></td>
27
27
 
28
- <td class="hidden-xs hidden-sm"><%= link_to user.email, "#", class: "email" %></td>
28
+ <td class="hidden-xs hidden-sm"><%= link_to user.email, admin_user_path(user), remote: true, class: "email" %></td>
29
29
 
30
30
  <% if @current_user.is_super_admin? %>
31
31
  <td class="hidden-xs hidden-sm">
@@ -49,42 +49,22 @@
49
49
 
50
50
  <td class="action-links" style="width:15%">
51
51
 
52
- <%= link_to raw("<i class=\"linecons-pencil\"></i> Edit User"), edit_link, :remote=>true, class: "edit" %>
53
-
54
- <%= 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 != user %>
52
+ <%= link_to raw("<i class=\"linecons-pencil\"></i> Edit User"), edit_link, :remote=>true, class: "edit" if @user.can_be_edited? %>
55
53
 
56
- <% if @current_user.super_admin? %>
57
- <%= link_to raw("<i class=\"linecons-paper-plane\"></i> Masquerade"), masquerade_admin_user_path(user), method: :put, data: { confirm: "Are you sure? Do you really want to logout current session and login as #{user.name}?" } %>
58
- <% end %>
54
+ <%= 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 @user.can_be_deleted? && (@current_user != user) %>
59
55
 
60
56
  </td>
61
57
 
62
58
  <td class="action-links" style="width:15%">
63
59
 
64
- <% if @current_user.super_admin? %>
65
- <% if user.super_admin? %>
66
- <!-- Remove Super Admin -->
67
- <%= link_to raw("<i class=\"fa fa-remove mr-5\"></i> Remove Super Admin"), remove_super_admin_admin_user_path(id: user.id), method: :put, :remote=>true, role: "menuitem", tabindex: "-1" %>
68
- <% else %>
69
- <!-- Make Super Admin -->
70
- <%= link_to raw("<i class=\"fa fa-plus-square mr-5\"></i> Make Super Admin"), make_super_admin_admin_user_path(id: user.id), method: :put, remote: true, role: "menuitem", tabindex: "-1" %>
71
- <% end %>
72
- <% end %>
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? %>
73
62
 
74
- <% case user.status %>
75
- <% when "approved" %>
76
- <!-- Pending -->
77
- <%= 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=>"user_status" %>
78
-
79
- <!-- Suspend -->
80
- <%= 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", :class=>"user_status" %>
81
- <% when "pending" %>
82
- <!-- Approve -->
83
- <%= 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=>"user_status" %>
84
- <% when "suspended" %>
85
- <!-- Approve -->
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",:class=>"user_status" %>
87
- <% end %>
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? %>
65
+
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? %>
88
68
 
89
69
  </td>
90
70