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
@@ -1,132 +1,199 @@
1
- <% status_hash = {approved: "success", pending: "default", removed: "danger"} %>
2
-
3
- <div class="media p-5 <%= status_hash[@user.status.to_sym] %>">
4
-
5
- <div class="pull-left p-40" style="width:30%;">
6
- <%= edit_image(@user, "profile_picture.image.large.url", upload_image_link(@user, :profile_picture)) %>
7
- </div>
8
-
9
- <div class="pull-left ml-10" style="width:65%;">
10
-
11
- <h1><%= @user.name %></h1>
12
-
13
- <span class="ml-5 mt-5 label label-<%= status_hash[@user.status.to_sym] %>"><%= @user.status.titleize %></span>
14
-
15
- <% if @user.super_admin %>
16
- <span class="mr-10 mt-5 label label-warning">Super Admin</span>
17
- <% else %>
18
- <span class="mr-10 mt-5 label label-default">Normal</span>
19
- <% end %>
20
-
21
- <%= clear_tag %>
22
-
23
- <div class="table-responsive mt-30">
24
- <table class="table table-striped table-condensed table-bordered">
25
- <tbody>
26
-
27
- <tr>
28
- <th>Username</th><td><%= @user.username %></td>
29
- <th>Email</th><td><%= @user.email %></td>
30
- </tr>
31
-
32
- <tr>
33
- <th>Phone</th><td><%= @user.phone %></td>
34
- <th>Designation</th><td><%= @user.designation %></td>
35
- </tr>
36
-
37
- <tr>
38
- <th>Super Admim?</th><td><%= @user.super_admin %></td>
39
- <th>Status</th><td><%= @user.status.titleize %></td>
40
- </tr>
41
-
42
- </tbody>
43
- </table>
44
- </div>
1
+ <div id="div_user_show">
2
+ <% status_hash = {approved: "success", pending: "default", suspended: "danger"} %>
3
+
4
+ <div class="row">
5
+
6
+ <div class="col-md-3 col-sm-12 col-xs-12" style="border-right:1px solid #f1f1f1;">
7
+
8
+ <%= edit_image(@user,
9
+ "profile_picture.image.large.url",
10
+ upload_image_link(@user, :profile_picture, nil ),
11
+ remove_image_link(@user, :profile_picture, nil ),
12
+ image_options: {assoc_name: :profile_picture }) %>
13
+ </div>
14
+
15
+ <div class="col-md-6 col-sm-12 col-xs-12" style="border-right:1px solid #f1f1f1;">
16
+
17
+ <div class="visible-sm visible-xs mt-50"></div>
18
+
19
+ <%= theme_panel_heading(@user.name) %>
20
+ <%= theme_panel_sub_heading(@user.designation, "#") if @user.designation %>
21
+
22
+ <%= clear_tag(10) %>
23
+
24
+ <span class="ml-5 mt-5 label label-<%= status_hash[@user.status.to_sym] %>"><%= @user.status.titleize %></span>
25
+
26
+ <% if @user.super_admin %>
27
+ <span class="mr-10 mt-5 label label-warning">Super Admin</span>
28
+ <% else %>
29
+ <span class="mr-10 mt-5 label label-default">Normal</span>
30
+ <% end %>
31
+
32
+ <%= clear_tag(10) %>
33
+
34
+ <!-- <div class="mt-20" style="max-width: 100%;overflow: auto;max-height: 500px;">
35
+ <%#= raw(@user.biography) %>
36
+ </div> -->
37
+
38
+ <div class="visible-sm visible-xs mb-50"></div>
39
+
40
+ </div>
41
+
42
+ <div class="col-md-3 col-sm-12 col-xs-12">
43
+
44
+ <% edit_link = edit_admin_user_path(id: @user.id) %>
45
+ <% delete_link = admin_user_path(id: @user.id) %>
46
+
47
+ <%= link_to raw("<i class=\"linecons-pencil\"></i> Edit User"), edit_link, :remote=>true, class: "btn btn-block btn-success" if @user.can_be_edited? %>
48
+
49
+ <%= 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: "btn btn-block btn-danger btn-only-hover" if @user.can_be_deleted? && (@current_user != @user) %>
50
+
51
+ <% if @current_user.super_admin? %>
52
+
53
+ <%= 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}?" }, class: "btn btn-block btn-gray btn-only-hover" if @current_user != @user %>
54
+
55
+ <!-- Remove Super Admin -->
56
+ <%= 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", :class=>"btn btn-block btn-danger btn-only-hover" if @user.super_admin? && (@current_user != @user) %>
57
+
58
+ <!-- Make Super Admin -->
59
+ <%= 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", :class=>"btn btn-block btn-gray btn-only-hover" unless @user.super_admin? %>
60
+
61
+ <% end %>
62
+
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? %>
65
+
66
+ <!-- Mark as Pending -->
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) %>
68
+
69
+ <!-- Suspend -->
70
+ <%= 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=>"btn btn-block btn-danger btn-only-hover" if @user.can_be_suspended? && (@current_user != @user) %>
71
+
72
+ <div class="visible-sm visible-xs mb-50"></div>
73
+
74
+ </div>
75
+
76
+ </div>
77
+
78
+ <%= clear_tag(50) %>
79
+
80
+ <ul class="nav nav-pills">
81
+ <li class="active">
82
+ <a href="#user_details" data-toggle="tab" aria-expanded="true">
83
+ <span class="visible-xs"><i class="fa-info"></i></span>
84
+ <span class="hidden-xs">User Details</span>
85
+ </a>
86
+ </li>
87
+ <li class="">
88
+ <a href="#technical_details" data-toggle="tab" aria-expanded="false">
89
+ <span class="visible-xs"><i class="fa-database"></i></span>
90
+ <span class="hidden-xs">Technical Details</span>
91
+ </a>
92
+ </li>
93
+ </ul>
94
+
95
+ <div class="tab-content">
96
+ <div class="tab-pane active" id="user_details">
97
+
98
+ <%= clear_tag(20) %>
99
+
100
+ <div class="table-responsive mt-30">
101
+ <table class="table table-striped table-condensed table-bordered">
102
+ <tbody>
103
+
104
+ <tr>
105
+ <th>Username</th><td><%= @user.username %></td>
106
+ <th>Email</th><td><%= @user.email %></td>
107
+ </tr>
108
+
109
+ <tr>
110
+ <th>Phone</th><td><%= @user.phone %></td>
111
+ <th>Designation</th><td><%= @user.designation %></td>
112
+ </tr>
113
+
114
+ <tr>
115
+ <th>Super Admim?</th><td><%= @user.super_admin %></td>
116
+ <th>Status</th><td><%= @user.status.titleize %></td>
117
+ </tr>
118
+
119
+ </tbody>
120
+ </table>
121
+ </div>
45
122
 
46
- <%= clear_tag %>
47
- </div>
48
-
49
- </div>
50
-
51
- <h4 class="mb-20">Technical Details</h4>
52
-
53
- <div class="table-responsive">
54
- <table class="table table-striped table-condensed table-bordered mb-30">
55
- <tbody>
56
-
57
-
58
- <tr>
59
- <th style="width:20%;">Sign In Count</th><td style="width:30%;"><%= @user.sign_in_count %></td>
60
- <th style="width:20%;">Remember User</th><td style="width:30%;"><%= @user.remember_created_at.strftime("%m/%d/%Y - %H:%M:%S") if @user.remember_created_at %></td>
61
- </tr>
62
-
63
- <tr>
64
- <th>Current Sign In At</th><td><%= @user.current_sign_in_at.strftime("%m/%d/%Y - %H:%M:%S") if @user.current_sign_in_at %></td>
65
- <th>Last Sign In At</th><td><%= @user.last_sign_in_at.strftime("%m/%d/%Y - %H:%M:%S") if @user.last_sign_in_at %></td>
66
- </tr>
67
-
68
- <tr>
69
- <th>Current Sign In IP</th><td><%= @user.current_sign_in_ip %></td>
70
- <th>Last Sign In IP</th><td><%= @user.last_sign_in_ip %></td>
71
- </tr>
72
-
73
- </tbody>
74
- </table>
75
- </div>
76
-
77
- <div class="table-responsive">
78
- <table class="table table-striped table-condensed table-bordered">
79
- <tbody>
80
-
81
- <tr>
82
- <th style="width:20%;">Reset Password Token</th><td style="width:30%;"><%= @user.reset_password_token %></td>
83
- <th style="width:20%;">Reset Password Sent At</th><td style="width:30%;"><%= @user.reset_password_sent_at.strftime("%m/%d/%Y - %H:%M:%S") if @user.reset_password_sent_at %></td>
84
- </tr>
85
-
86
- <tr>
87
- <th>Locked At</th><td colspan="3"><%= @user.locked_at.strftime("%m/%d/%Y - %H:%M:%S") if @user.locked_at %></td>
88
- </tr>
89
-
90
- <tr>
91
- <th>Failed Attempts</th><td><%= @user.failed_attempts %></td>
92
- <th>Unlock Token</th><td><%= @user.unlock_token %></td>
93
- </tr>
94
-
95
- <tr>
96
- <th>Confirmation Token</th><td><%= @user.confirmation_token %></td>
97
- <th>Confirmation Token Sent At</th><td><%= @user.confirmed_at.strftime("%m/%d/%Y - %H:%M:%S") if @user.confirmed_at %></td>
98
- </tr>
99
-
100
- <tr>
101
- <th>Confirmation Sent At</th><td><%= @user.confirmation_sent_at.strftime("%m/%d/%Y - %H:%M:%S") if @user.confirmation_sent_at %></td>
102
- <th>Uncomfirmed Email</th><td><%= @user.unconfirmed_email %></td>
103
- </tr>
104
-
105
- <tr>
106
- <th>Auth Token</th><td><%= @user.auth_token %></td>
107
- <th>Token Created At</th><td><%= @user.token_created_at.strftime("%m/%d/%Y - %H:%M:%S") if @user.token_created_at %></td>
108
- </tr>
109
-
110
- <tr>
111
- <th>Created At</th><td><%= @user.created_at.strftime("%m/%d/%Y - %H:%M:%S") if @user.created_at %></td>
112
- <th>Updated At</th><td><%= @user.updated_at.strftime("%m/%d/%Y - %H:%M:%S") if @user.updated_at %></td>
113
- </tr>
114
-
115
- </tbody>
116
- </table>
117
- </div>
118
-
119
- <div>
120
- <%
121
- edit_link = edit_admin_user_url(id: @user.id)
122
- delete_link = admin_user_url(id: @user.id)
123
- %>
124
-
125
- <%= link_to raw("<i class=\"fa fa-close mr-5\"></i> <span>Cancel</span>"), "#", onclick: "closeLargeModal();", class: "btn btn-white pull-left" %>
126
-
127
- <%= link_to raw("<i class=\"fa fa-trash mr-5\"></i> <span>Delete User</span>"), delete_link, method: :delete, :remote=>true, class: "btn btn-gray pull-right" %>
128
-
129
- <%= link_to raw("<i class=\"fa fa-edit mr-5\"></i> Edit User"), edit_link, method: :get, :remote=>true, class: "btn btn-gray pull-right mr-10" %>
130
- </div>
131
-
132
- <%= clear_tag %>
123
+ </div>
124
+
125
+ <div class="tab-pane" id="technical_details">
126
+
127
+ <%= clear_tag(20) %>
128
+
129
+ <div class="table-responsive">
130
+ <table class="table table-striped table-condensed table-bordered mb-30">
131
+ <tbody>
132
+
133
+ <tr>
134
+ <th style="width:20%;">Sign In Count</th><td style="width:30%;"><%= @user.sign_in_count %></td>
135
+ <th style="width:20%;">Remember User</th><td style="width:30%;"><%= @user.remember_created_at.strftime("%m/%d/%Y - %H:%M:%S") if @user.remember_created_at %></td>
136
+ </tr>
137
+
138
+ <tr>
139
+ <th>Current Sign In At</th><td><%= @user.current_sign_in_at.strftime("%m/%d/%Y - %H:%M:%S") if @user.current_sign_in_at %></td>
140
+ <th>Last Sign In At</th><td><%= @user.last_sign_in_at.strftime("%m/%d/%Y - %H:%M:%S") if @user.last_sign_in_at %></td>
141
+ </tr>
142
+
143
+ <tr>
144
+ <th>Current Sign In IP</th><td><%= @user.current_sign_in_ip %></td>
145
+ <th>Last Sign In IP</th><td><%= @user.last_sign_in_ip %></td>
146
+ </tr>
147
+
148
+ </tbody>
149
+ </table>
150
+
151
+ <table class="table table-striped table-condensed table-bordered">
152
+ <tbody>
153
+
154
+ <tr>
155
+ <th style="width:20%;">Reset Password Token</th><td style="width:30%;"><%= @user.reset_password_token %></td>
156
+ <th style="width:20%;">Reset Password Sent At</th><td style="width:30%;"><%= @user.reset_password_sent_at.strftime("%m/%d/%Y - %H:%M:%S") if @user.reset_password_sent_at %></td>
157
+ </tr>
158
+
159
+ <tr>
160
+ <th>Locked At</th><td colspan="3"><%= @user.locked_at.strftime("%m/%d/%Y - %H:%M:%S") if @user.locked_at %></td>
161
+ </tr>
162
+
163
+ <tr>
164
+ <th>Failed Attempts</th><td><%= @user.failed_attempts %></td>
165
+ <th>Unlock Token</th><td><%= @user.unlock_token %></td>
166
+ </tr>
167
+
168
+ <tr>
169
+ <th>Confirmation Token</th><td><%= @user.confirmation_token %></td>
170
+ <th>Confirmation Token Sent At</th><td><%= @user.confirmed_at.strftime("%m/%d/%Y - %H:%M:%S") if @user.confirmed_at %></td>
171
+ </tr>
172
+
173
+ <tr>
174
+ <th>Confirmation Sent At</th><td><%= @user.confirmation_sent_at.strftime("%m/%d/%Y - %H:%M:%S") if @user.confirmation_sent_at %></td>
175
+ <th>Uncomfirmed Email</th><td><%= @user.unconfirmed_email %></td>
176
+ </tr>
177
+
178
+ <tr>
179
+ <th>Auth Token</th><td><%= @user.auth_token %></td>
180
+ <th>Token Created At</th><td><%= @user.token_created_at.strftime("%m/%d/%Y - %H:%M:%S") if @user.token_created_at %></td>
181
+ </tr>
182
+
183
+ <tr>
184
+ <th>Created At</th><td><%= @user.created_at.strftime("%m/%d/%Y - %H:%M:%S") if @user.created_at %></td>
185
+ <th>Updated At</th><td><%= @user.updated_at.strftime("%m/%d/%Y - %H:%M:%S") if @user.updated_at %></td>
186
+ </tr>
187
+
188
+ </tbody>
189
+ </table>
190
+ </div>
191
+
192
+ </div>
193
+
194
+ </div>
195
+
196
+ <%= link_to "Close", "#", onclick: "closeLargeModal();", class: "btn btn-primary pull-right" %>
197
+
198
+ <%= clear_tag %>
199
+ </div>
@@ -23,7 +23,31 @@
23
23
  <div class="tab-pane active">
24
24
 
25
25
  <div id="div_user_action_buttons">
26
- <%= render :partial=>"usman/admin/users/action_buttons" %>
26
+ <div class="row">
27
+ <div class="col-md-6">
28
+
29
+ <%= theme_button('Add a User', 'plus', new_admin_user_path(), classes: "pull-left", btn_type: "success") %>
30
+
31
+ <%= theme_button('Refresh', 'refresh', admin_users_path(), classes: "pull-left ml-10", btn_type: "white") %>
32
+
33
+ <!-- Single button -->
34
+ <div class="ml-10 btn-group">
35
+ <button type="button" class="btn btn-white dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
36
+ More Actions <span class="caret"></span>
37
+ </button>
38
+ <ul class="dropdown-menu">
39
+ <li><a href="#">Import Users</a></li>
40
+ <li><a href="#">Import History</a></li>
41
+ <li role="separator" class="divider"></li>
42
+ <li><a href="#">Export Users</a></li>
43
+ </ul>
44
+ </div>
45
+
46
+ </div>
47
+ <div class="col-md-6">
48
+ <%= search_form_kuppayam(User, admin_users_path, text: @filters[:query]) %>
49
+ </div>
50
+ </div>
27
51
  </div>
28
52
  <%= clear_tag(10) %>
29
53
 
@@ -1,3 +1,3 @@
1
- heading = "Please Sign In";
2
- bodyContent = "<%= escape_javascript(render(:partial=>'usman/sessions/form.html.erb', locals: {redirect_back_url: request.original_url})) %>";
1
+ var heading = "Please Sign In";
2
+ var bodyContent = "<%= escape_javascript(render(:partial=>'usman/sessions/form.html.erb', locals: {redirect_back_url: request.original_url})) %>";
3
3
  showGenericModal(heading, bodyContent);
@@ -0,0 +1,25 @@
1
+ ar:
2
+ authentication:
3
+ permission_denied:
4
+ heading: "Permission Denied"
5
+ message: "You don't have permission to perform this action"
6
+ session_expired:
7
+ heading: "Session Expired"
8
+ message: "Your session has been expired. Please sign in again"
9
+ invalid_login:
10
+ heading: "Invalid Login"
11
+ message: "Invalid Username/Email or password."
12
+ user_is_pending:
13
+ heading: "Account Pending"
14
+ message: "Your account is not yet approved, please contact administrator to activate your account"
15
+ user_is_suspended:
16
+ heading: "Account Suspended"
17
+ message: "Your account is suspended, please contact administrator"
18
+ logged_in:
19
+ heading: "Signed In"
20
+ message: "You have successfully signed in"
21
+ logged_out:
22
+ heading: "Signed Out"
23
+ message: "You have successfully signed out"
24
+ masquerade: "لقد سجلت الدخول بنجاح - %{user}"
25
+ sign_in_back: "You have successfully signed in back as %{user}"
@@ -0,0 +1,25 @@
1
+ en:
2
+ authentication:
3
+ permission_denied:
4
+ heading: "Permission Denied"
5
+ message: "You don't have permission to perform this action"
6
+ session_expired:
7
+ heading: "Session Expired"
8
+ message: "Your session has been expired. Please sign in again"
9
+ invalid_login:
10
+ heading: "Invalid Login"
11
+ message: "Invalid Username/Email or password."
12
+ user_is_pending:
13
+ heading: "Account Pending"
14
+ message: "Your account is not yet approved, please contact administrator to activate your account"
15
+ user_is_suspended:
16
+ heading: "Account Suspended"
17
+ message: "Your account is suspended, please contact administrator"
18
+ logged_in:
19
+ heading: "Signed In"
20
+ message: "You have successfully signed in"
21
+ logged_out:
22
+ heading: "Signed Out"
23
+ message: "You have successfully signed out"
24
+ masquerade: "لقد سجلت الدخول بنجاح - %{user}"
25
+ sign_in_back: "You have successfully signed in back as %{user}"
data/config/routes.rb CHANGED
@@ -1,8 +1,6 @@
1
1
  Usman::Engine.routes.draw do
2
2
 
3
- root :to => 'sessions#sign_in'
4
-
5
- # Sign In URLs for users
3
+ # Sign In URLs for users
6
4
  get '/sign_in', to: "sessions#sign_in", as: :sign_in
7
5
  post '/create_session', to: "sessions#create_session", as: :create_session
8
6
  get '/forgot_password_form', to: "sessions#forgot_password_form", as: :forgot_password_form
@@ -26,6 +24,8 @@ Usman::Engine.routes.draw do
26
24
  end
27
25
  end
28
26
 
27
+ resources :roles
28
+
29
29
  resources :features do
30
30
  member do
31
31
  put :update_status, as: :update_status
@@ -33,12 +33,7 @@ Usman::Engine.routes.draw do
33
33
  end
34
34
 
35
35
  resources :permissions
36
-
37
- resources :images do
38
- member do
39
- put :crop
40
- end
41
- end
36
+
42
37
 
43
38
  end
44
39
 
@@ -0,0 +1,10 @@
1
+ name,status
2
+ Products,published
3
+ Categories,published
4
+ Brands,published
5
+ Events & News,unpublished
6
+ Subscriptions,deactivated
7
+ Enquiries,unpublished
8
+ Teams,unpublished
9
+ Testimonials,unpublished
10
+ Careers / Jobs,deactivated
@@ -0,0 +1,60 @@
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
31
+ ,,,,,
32
+ angelo.joseph,Products,TRUE,TRUE,TRUE,TRUE
33
+ angelo.joseph,Categories,TRUE,TRUE,TRUE,TRUE
34
+ angelo.joseph,Brands,TRUE,TRUE,TRUE,TRUE
35
+ angelo.joseph,Events & News,FALSE,FALSE,FALSE,FALSE
36
+ angelo.joseph,Subscriptions,FALSE,FALSE,FALSE,FALSE
37
+ angelo.joseph,Enquiries,FALSE,FALSE,FALSE,FALSE
38
+ angelo.joseph,Teams,FALSE,FALSE,FALSE,FALSE
39
+ angelo.joseph,Testimonials,FALSE,FALSE,FALSE,FALSE
40
+ angelo.joseph,Careers / Jobs,FALSE,FALSE,FALSE,FALSE
41
+ ,,,,,
42
+ guna.neweast,Products,TRUE,TRUE,TRUE,TRUE
43
+ guna.neweast,Categories,TRUE,TRUE,TRUE,TRUE
44
+ guna.neweast,Brands,TRUE,TRUE,TRUE,TRUE
45
+ guna.neweast,Events & News,FALSE,FALSE,FALSE,FALSE
46
+ guna.neweast,Subscriptions,FALSE,FALSE,FALSE,FALSE
47
+ guna.neweast,Enquiries,FALSE,FALSE,FALSE,FALSE
48
+ guna.neweast,Teams,FALSE,FALSE,FALSE,FALSE
49
+ guna.neweast,Testimonials,FALSE,FALSE,FALSE,FALSE
50
+ guna.neweast,Careers / Jobs,FALSE,FALSE,FALSE,FALSE
51
+ ,,,,,
52
+ stephen.price,Products,TRUE,TRUE,TRUE,TRUE
53
+ stephen.price,Categories,TRUE,TRUE,TRUE,TRUE
54
+ stephen.price,Brands,TRUE,TRUE,TRUE,TRUE
55
+ stephen.price,Events & News,FALSE,FALSE,FALSE,FALSE
56
+ stephen.price,Subscriptions,FALSE,FALSE,FALSE,FALSE
57
+ stephen.price,Enquiries,FALSE,FALSE,FALSE,FALSE
58
+ stephen.price,Teams,FALSE,FALSE,FALSE,FALSE
59
+ stephen.price,Testimonials,FALSE,FALSE,FALSE,FALSE
60
+ stephen.price,Careers / Jobs,FALSE,FALSE,FALSE,FALSE
@@ -0,0 +1,7 @@
1
+ name,username,designation,email,phone,super_admin,status
2
+ Krishna Prasad Varma,kpvarma,Site Admin,prasad@rightsolutions.io,,TRUE,approved
3
+ Vinodh Ellath,vinodh,Site Admin,vinodh@rightsolutions.io,,TRUE,approved
4
+ Junaid Ramzan,junaid.ramzan,Site Admin,junaid.ramzan@gmail.com,,TRUE,approved
5
+ Angelo Joseph,angelo.joseph,Manager,angelo@yopmail.com,,FALSE,pending
6
+ Guna,guna.neweast,IT Support,guna@yopmail.com,,FALSE,pending
7
+ Stephen Price,stephen.price,Director,stephen.price@yopmail.com,,FALSE,suspended
@@ -0,0 +1,10 @@
1
+ name,status
2
+ Products,published
3
+ Categories,published
4
+ Brands,published
5
+ Events & News,unpublished
6
+ Subscriptions,deactivated
7
+ Enquiries,unpublished
8
+ Teams,unpublished
9
+ Testimonials,unpublished
10
+ Careers / Jobs,deactivated
@@ -0,0 +1,30 @@
1
+ user,feature,can_create,can_read,can_update,can_delete
2
+ kpvarma,Products,TRUE,TRUE,TRUE,TRUE
3
+ kpvarma,Categories,TRUE,TRUE,TRUE,TRUE
4
+ kpvarma,Brands,TRUE,TRUE,TRUE,TRUE
5
+ kpvarma,Events & News,TRUE,TRUE,TRUE,TRUE
6
+ kpvarma,Subscriptions,TRUE,TRUE,TRUE,TRUE
7
+ kpvarma,Enquiries,TRUE,TRUE,TRUE,TRUE
8
+ kpvarma,Teams,TRUE,TRUE,TRUE,TRUE
9
+ kpvarma,Testimonials,TRUE,TRUE,TRUE,TRUE
10
+ kpvarma,Careers / Jobs,TRUE,TRUE,TRUE,TRUE
11
+ ,,,,,
12
+ vinodh,Products,TRUE,TRUE,TRUE,TRUE
13
+ vinodh,Categories,TRUE,TRUE,TRUE,TRUE
14
+ vinodh,Brands,TRUE,TRUE,TRUE,TRUE
15
+ vinodh,Events & News,TRUE,TRUE,TRUE,TRUE
16
+ vinodh,Subscriptions,TRUE,TRUE,TRUE,TRUE
17
+ vinodh,Enquiries,TRUE,TRUE,TRUE,TRUE
18
+ vinodh,Teams,TRUE,TRUE,TRUE,TRUE
19
+ vinodh,Testimonials,TRUE,TRUE,TRUE,TRUE
20
+ vinodh,Careers / Jobs,TRUE,TRUE,TRUE,TRUE
21
+ ,,,,,
22
+ junaid.ramzan,Products,TRUE,TRUE,TRUE,TRUE
23
+ junaid.ramzan,Categories,TRUE,TRUE,TRUE,TRUE
24
+ junaid.ramzan,Brands,TRUE,TRUE,TRUE,TRUE
25
+ junaid.ramzan,Events & News,TRUE,TRUE,TRUE,TRUE
26
+ junaid.ramzan,Subscriptions,TRUE,TRUE,TRUE,TRUE
27
+ junaid.ramzan,Enquiries,TRUE,TRUE,TRUE,TRUE
28
+ junaid.ramzan,Teams,TRUE,TRUE,TRUE,TRUE
29
+ junaid.ramzan,Testimonials,TRUE,TRUE,TRUE,TRUE
30
+ junaid.ramzan,Careers / Jobs,TRUE,TRUE,TRUE,TRUE
@@ -0,0 +1,4 @@
1
+ name,username,designation,email,phone,super_admin,status
2
+ Krishna Prasad Varma,kpvarma,Site Admin,prasad@rightsolutions.io,,TRUE,approved
3
+ Vinodh Ellath,vinodh,Site Admin,vinodh@rightsolutions.io,,TRUE,approved
4
+ Junaid Ramzan,junaid.ramzan,Site Admin,junaid.ramzan@gmail.com,,TRUE,approved
@@ -0,0 +1,18 @@
1
+ class CreateRoles < ActiveRecord::Migration[5.0]
2
+
3
+ def change
4
+ create_table(:roles) do |t|
5
+ t.string :name, limit: 256
6
+ t.timestamps
7
+ end
8
+
9
+ create_table :roles_users do |t|
10
+ t.belongs_to :user, index: true
11
+ t.belongs_to :role, index: true
12
+ t.timestamps
13
+ end
14
+
15
+ add_index(:roles_users, [ :user_id, :role_id ], :unique => true)
16
+ end
17
+
18
+ end