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.
- checksums.yaml +4 -4
- data/README.md +48 -16
- data/app/controllers/usman/admin/base_controller.rb +22 -0
- data/app/controllers/usman/admin/dashboard_controller.rb +1 -1
- data/app/controllers/usman/admin/features_controller.rb +4 -1
- data/app/controllers/usman/admin/permissions_controller.rb +9 -15
- data/app/controllers/usman/admin/resource_controller.rb +3 -1
- data/app/controllers/usman/admin/roles_controller.rb +4 -2
- data/app/controllers/usman/admin/user_roles_controller.rb +142 -0
- data/app/controllers/usman/admin/users_controller.rb +5 -2
- data/app/controllers/usman/application_controller.rb +0 -4
- data/app/controllers/usman/sessions_controller.rb +5 -2
- data/app/helpers/usman/authentication_helper.rb +35 -25
- data/app/models/feature.rb +50 -46
- data/app/models/image/feature_image.rb +1 -1
- data/app/models/image/profile_picture.rb +1 -1
- data/app/models/permission.rb +3 -8
- data/app/models/role.rb +4 -7
- data/app/models/user.rb +81 -103
- data/app/models/usman/application_record.rb +3 -0
- data/app/services/usman/authentication_service.rb +4 -3
- data/app/uploaders/profile_picture_uploader.rb +2 -1
- data/app/views/layouts/kuppayam/_header.html.erb +1 -1
- data/app/views/layouts/kuppayam/_navbar.html.erb +1 -1
- data/app/views/layouts/kuppayam/_sidebar.html.erb +8 -7
- data/app/views/usman/admin/dashboard/index.html.erb +0 -1
- data/app/views/usman/admin/features/_form.html.erb +5 -2
- data/app/views/usman/admin/features/_index.html.erb +4 -1
- data/app/views/usman/admin/features/index.html.erb +20 -3
- data/app/views/usman/admin/permissions/_show.html.erb +2 -10
- data/app/views/usman/admin/permissions/index.html.erb +20 -3
- data/app/views/usman/admin/roles/_form.html.erb +1 -1
- data/app/views/usman/admin/roles/_index.html.erb +3 -3
- data/app/views/usman/admin/roles/_row.html.erb +2 -2
- data/app/views/usman/admin/roles/_show.html.erb +41 -7
- data/app/views/usman/admin/roles/index.html.erb +22 -3
- data/app/views/usman/admin/user_roles/_form.html.erb +24 -0
- data/app/views/usman/admin/user_roles/_index.html.erb +59 -0
- data/app/views/usman/admin/user_roles/_row.html.erb +34 -0
- data/app/views/usman/admin/users/_index.html.erb +22 -16
- data/app/views/usman/admin/users/_row.html.erb +4 -4
- data/app/views/usman/admin/users/_show.html.erb +1 -1
- data/app/views/usman/admin/users/index.html.erb +4 -2
- data/app/views/usman/sessions/_form.html.erb +19 -7
- data/app/views/usman/sessions/sign_in.html.erb +1 -1
- data/config/initializers/overide_kuppayam_controllers.rb +74 -0
- data/config/locales/kuppayam/authentication.en.yml +4 -1
- data/config/routes.rb +3 -1
- data/db/import_data/dummy/features.csv +7 -0
- data/db/import_data/dummy/permissions.csv +18 -1
- data/db/import_data/dummy/roles.csv +5 -0
- data/db/import_data/dummy/users.csv +7 -3
- data/db/import_data/features.csv +7 -0
- data/db/import_data/permissions.csv +1 -30
- data/db/import_data/roles.csv +5 -0
- data/db/migrate/20170000000100_create_users.rb +1 -1
- data/db/migrate/20170000000101_create_features.rb +1 -1
- data/db/migrate/20170000000102_create_roles.rb +1 -1
- data/db/migrate/20170728095744_create_otp_registrations.rb +17 -0
- data/lib/tasks/usman/all.rake +34 -10
- data/lib/{tasks/usman → temp}/features.rake +3 -6
- data/lib/{tasks/usman → temp}/permissions.rake +3 -5
- data/lib/temp/roles.rake +24 -0
- data/lib/{tasks/usman → temp}/users.rake +3 -5
- data/lib/usman/engine.rb +2 -3
- data/lib/usman/version.rb +1 -1
- metadata +27 -45
- data/app/views/usman/admin/features/_action_buttons.html.erb +0 -0
- data/app/views/usman/admin/features/temp/create.js.erb +0 -29
- data/app/views/usman/admin/features/temp/destroy.js.erb +0 -16
- data/app/views/usman/admin/features/temp/edit.js.erb +0 -7
- data/app/views/usman/admin/features/temp/index.js.erb +0 -8
- data/app/views/usman/admin/features/temp/new.js.erb +0 -7
- data/app/views/usman/admin/features/temp/row.js.erb +0 -10
- data/app/views/usman/admin/features/temp/show.js.erb +0 -8
- data/app/views/usman/admin/features/temp/update.js.erb +0 -16
- data/app/views/usman/admin/permissions/temp/create.js.erb +0 -29
- data/app/views/usman/admin/permissions/temp/destroy.js.erb +0 -22
- data/app/views/usman/admin/permissions/temp/edit.js.erb +0 -4
- data/app/views/usman/admin/permissions/temp/index.js.erb +0 -14
- data/app/views/usman/admin/permissions/temp/new.js.erb +0 -4
- data/app/views/usman/admin/permissions/temp/row.js.erb +0 -24
- data/app/views/usman/admin/permissions/temp/show.js.erb +0 -13
- data/app/views/usman/admin/permissions/temp/update.js.erb +0 -29
- data/db/import_data/dummy/images/users/guna.neweast.png +0 -0
- data/db/import_data/dummy/images/users/junaid.ramzan.jpg +0 -0
- data/db/import_data/dummy/images/users/kpvarma.png +0 -0
- data/db/import_data/dummy/images/users/stephen.price.png +0 -0
- data/db/import_data/dummy/images/users/vinodh.jpg +0 -0
- data/db/import_data/images/users/junaid.ramzan.jpg +0 -0
- data/db/import_data/images/users/kpvarma.png +0 -0
- data/db/import_data/images/users/vinodh.jpg +0 -0
- data/lib/usman/extras/import_error_handler.rb +0 -79
|
@@ -9,10 +9,27 @@
|
|
|
9
9
|
|
|
10
10
|
<div id="div_feature_action_buttons">
|
|
11
11
|
<div class="row">
|
|
12
|
-
<div class="col-md-
|
|
13
|
-
|
|
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-
|
|
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
|
-
|
|
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.
|
|
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-
|
|
13
|
-
|
|
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-
|
|
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: "
|
|
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:
|
|
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
|
-
|
|
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
|
-
|
|
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: "
|
|
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-
|
|
13
|
-
|
|
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-
|
|
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,34 @@
|
|
|
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">
|
|
23
|
+
<% user.roles.collect(&:name).each do |r| %>
|
|
24
|
+
<span class="ml-5 label label-primary"><%= r %></span>
|
|
25
|
+
<% end %>
|
|
26
|
+
</td>
|
|
27
|
+
|
|
28
|
+
<td class="action-links" style="width:10%">
|
|
29
|
+
|
|
30
|
+
<%= 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" %>
|
|
31
|
+
|
|
32
|
+
</td>
|
|
33
|
+
|
|
34
|
+
</tr>
|
|
@@ -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:
|
|
6
|
-
<th style="text-align: center;width:
|
|
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
|
-
|
|
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>
|
|
@@ -46,14 +44,22 @@
|
|
|
46
44
|
|
|
47
45
|
<td class="hidden-xs hidden-sm"><%= link_to user.email, admin_user_path(user), remote: true, class: "email" %></td>
|
|
48
46
|
|
|
49
|
-
<% if @current_user.
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
47
|
+
<% if @current_user.super_admin? %>
|
|
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
|
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
|
|
28
28
|
<td class="hidden-xs hidden-sm"><%= link_to user.email, admin_user_path(user), remote: true, class: "email" %></td>
|
|
29
29
|
|
|
30
|
-
<% if @current_user.
|
|
30
|
+
<% if @current_user.super_admin? %>
|
|
31
31
|
<td class="hidden-xs hidden-sm">
|
|
32
32
|
<% if user.super_admin %>
|
|
33
33
|
<span class="mr-10 mt-5 label label-warning">Super Admin</span>
|
|
@@ -58,13 +58,13 @@
|
|
|
58
58
|
<td class="action-links" style="width:15%">
|
|
59
59
|
|
|
60
60
|
<!-- Approve -->
|
|
61
|
-
<%= link_to raw("<i class=\"fa fa-circle-o mr-5\"></i> Approve"), update_status_admin_user_path(:id =>user.id, :status =>'approved'), :method =>'PUT', :remote=>true, role: "menuitem", tabindex: "-1" if user.can_be_approved? %>
|
|
61
|
+
<%= link_to raw("<i class=\"fa fa-circle-o mr-5\"></i> Approve"), update_status_admin_user_path(:id =>user.id, :status =>'approved'), :method =>'PUT', :remote=>true, role: "menuitem", tabindex: "-1" if user.can_be_approved? && (@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) %>
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
<ul class="nav nav-tabs">
|
|
5
5
|
|
|
6
6
|
<%# Show Admin tab only for admins %>
|
|
7
|
-
<% if @current_user.
|
|
7
|
+
<% if @current_user.super_admin? %>
|
|
8
8
|
<li class="<%= @super_admin == false ? 'active' : '' %>">
|
|
9
9
|
<%= link_to "Users", admin_users_path(sa: '0') %>
|
|
10
10
|
</li>
|
|
@@ -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" do %>
|
|
1
|
+
<%= form_tag usman.create_session_path, :role=>"form", id: "form_sign_in", class: "login-form" do %>
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
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">
|
|
@@ -13,7 +25,7 @@
|
|
|
13
25
|
</div>
|
|
14
26
|
|
|
15
27
|
<div class="login-header text-center">
|
|
16
|
-
<p>
|
|
28
|
+
<p>Login</p>
|
|
17
29
|
</div>
|
|
18
30
|
|
|
19
31
|
<div class="form-group">
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
Kuppayam::ImagesController.class_eval do
|
|
2
|
+
|
|
3
|
+
include Usman::AuthenticationHelper
|
|
4
|
+
|
|
5
|
+
layout 'kuppayam/admin'
|
|
6
|
+
|
|
7
|
+
before_action :current_user
|
|
8
|
+
before_action :require_user
|
|
9
|
+
before_action :require_site_admin
|
|
10
|
+
|
|
11
|
+
def set_default_title
|
|
12
|
+
set_title("Manage Images | Admin")
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
def require_site_admin
|
|
16
|
+
return true if @current_user && @current_user.super_admin?
|
|
17
|
+
unless @current_user.has_role?("Site Admin")
|
|
18
|
+
text = "#{I18n.t("authentication.permission_denied.heading")}: #{I18n.t("authentication.permission_denied.message")}"
|
|
19
|
+
set_flash_message(text, :error, false) if defined?(flash) && flash
|
|
20
|
+
redirect_to default_redirect_url_after_sign_in
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
Kuppayam::ImportDataController.class_eval do
|
|
27
|
+
|
|
28
|
+
include Usman::AuthenticationHelper
|
|
29
|
+
|
|
30
|
+
layout 'kuppayam/admin'
|
|
31
|
+
|
|
32
|
+
before_action :current_user
|
|
33
|
+
before_action :require_user
|
|
34
|
+
before_action :require_site_admin
|
|
35
|
+
|
|
36
|
+
def set_default_title
|
|
37
|
+
set_title("Manage Images | Admin")
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
def require_site_admin
|
|
41
|
+
return true if @current_user && @current_user.super_admin?
|
|
42
|
+
unless @current_user.has_role?("Site Admin")
|
|
43
|
+
text = "#{I18n.t("authentication.permission_denied.heading")}: #{I18n.t("authentication.permission_denied.message")}"
|
|
44
|
+
set_flash_message(text, :error, false) if defined?(flash) && flash
|
|
45
|
+
redirect_to default_redirect_url_after_sign_in
|
|
46
|
+
end
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
Kuppayam::DocumentsController.class_eval do
|
|
52
|
+
|
|
53
|
+
include Usman::AuthenticationHelper
|
|
54
|
+
|
|
55
|
+
layout 'kuppayam/admin'
|
|
56
|
+
|
|
57
|
+
before_action :current_user
|
|
58
|
+
before_action :require_user
|
|
59
|
+
before_action :require_site_admin
|
|
60
|
+
|
|
61
|
+
def set_default_title
|
|
62
|
+
set_title("Manage Images | Admin")
|
|
63
|
+
end
|
|
64
|
+
|
|
65
|
+
def require_site_admin
|
|
66
|
+
return true if @current_user && @current_user.super_admin?
|
|
67
|
+
unless @current_user.has_role?("Site Admin")
|
|
68
|
+
text = "#{I18n.t("authentication.permission_denied.heading")}: #{I18n.t("authentication.permission_denied.message")}"
|
|
69
|
+
set_flash_message(text, :error, false) if defined?(flash) && flash
|
|
70
|
+
redirect_to default_redirect_url_after_sign_in
|
|
71
|
+
end
|
|
72
|
+
end
|
|
73
|
+
|
|
74
|
+
end
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
en:
|
|
2
2
|
authentication:
|
|
3
|
+
login_required:
|
|
4
|
+
heading: "Login Required / Session Expired"
|
|
5
|
+
message: "You need to login to perform this action."
|
|
3
6
|
permission_denied:
|
|
4
7
|
heading: "Permission Denied"
|
|
5
8
|
message: "You don't have permission to perform this action"
|
|
@@ -21,5 +24,5 @@ en:
|
|
|
21
24
|
logged_out:
|
|
22
25
|
heading: "Signed Out"
|
|
23
26
|
message: "You have successfully signed out"
|
|
24
|
-
masquerade: "
|
|
27
|
+
masquerade: "You have successfully logged in as - %{user}"
|
|
25
28
|
sign_in_back: "You have successfully signed in back as %{user}"
|