usman 0.1.6dev2 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/assets/images/android-icon-144x144.png +0 -0
- data/app/assets/images/android-icon-192x192.png +0 -0
- data/app/assets/images/android-icon-36x36.png +0 -0
- data/app/assets/images/android-icon-48x48.png +0 -0
- data/app/assets/images/android-icon-72x72.png +0 -0
- data/app/assets/images/android-icon-96x96.png +0 -0
- data/app/assets/images/apple-icon-114x114.png +0 -0
- data/app/assets/images/apple-icon-120x120.png +0 -0
- data/app/assets/images/apple-icon-144x144.png +0 -0
- data/app/assets/images/apple-icon-152x152.png +0 -0
- data/app/assets/images/apple-icon-180x180.png +0 -0
- data/app/assets/images/apple-icon-57x57.png +0 -0
- data/app/assets/images/apple-icon-60x60.png +0 -0
- data/app/assets/images/apple-icon-72x72.png +0 -0
- data/app/assets/images/apple-icon-76x76.png +0 -0
- data/app/assets/images/apple-icon-precomposed.png +0 -0
- data/app/assets/images/apple-icon.png +0 -0
- data/app/assets/images/browserconfig.xml +2 -0
- data/app/assets/images/favicon-16x16.png +0 -0
- data/app/assets/images/favicon-32x32.png +0 -0
- data/app/assets/images/favicon-96x96.png +0 -0
- data/app/assets/images/favicon.ico +0 -0
- data/app/assets/images/logo-on-white.png +0 -0
- data/app/assets/images/logo-small.png +0 -0
- data/app/assets/images/logo.png +0 -0
- data/app/assets/images/manifest.json +41 -0
- data/app/assets/images/ms-icon-144x144.png +0 -0
- data/app/assets/images/ms-icon-150x150.png +0 -0
- data/app/assets/images/ms-icon-310x310.png +0 -0
- data/app/assets/images/ms-icon-70x70.png +0 -0
- data/app/assets/sketches/logo.sketch +0 -0
- data/app/controllers/api/v1/base_controller.rb +13 -0
- data/app/controllers/api/v1/registrations_controller.rb +41 -0
- data/app/controllers/usman/admin_controller.rb +26 -0
- data/app/controllers/usman/application_controller.rb +16 -0
- data/app/controllers/usman/dashboard_controller.rb +26 -0
- data/app/controllers/usman/features_controller.rb +83 -0
- data/app/controllers/usman/my_account_controller.rb +25 -0
- data/app/controllers/usman/permissions_controller.rb +85 -0
- data/app/controllers/usman/resource_controller.rb +21 -0
- data/app/controllers/usman/roles_controller.rb +68 -0
- data/app/controllers/usman/sessions_controller.rb +4 -1
- data/app/controllers/usman/user_roles_controller.rb +141 -0
- data/app/controllers/usman/users_controller.rb +133 -0
- data/app/helpers/usman/api_helper.rb +79 -0
- data/app/helpers/usman/authentication_helper.rb +21 -7
- data/app/models/device.rb +149 -0
- data/app/models/feature.rb +11 -7
- data/app/models/permission.rb +17 -13
- data/app/models/registration.rb +108 -0
- data/app/models/role.rb +11 -7
- data/app/models/user.rb +19 -13
- data/app/services/usman/mobile_registration_service.rb +127 -0
- data/app/views/layouts/kuppayam/_sidebar.html.erb +39 -19
- data/app/views/layouts/kuppayam/profile.html.erb +120 -0
- data/app/views/usman/dashboard/index.html.erb +118 -0
- data/app/views/usman/{admin/features → features}/_form.html.erb +1 -1
- data/app/views/usman/{admin/features → features}/_index.html.erb +10 -10
- data/app/views/usman/{admin/features → features}/_row.html.erb +10 -10
- data/app/views/usman/{admin/features → features}/_show.html.erb +2 -2
- data/app/views/usman/{admin/features → features}/index.html.erb +4 -4
- data/app/views/usman/my_account/index.html.erb +1 -0
- data/app/views/usman/{admin/permissions → permissions}/_form.html.erb +1 -1
- data/app/views/usman/{admin/permissions → permissions}/_index.html.erb +2 -2
- data/app/views/usman/{admin/permissions → permissions}/_row.html.erb +2 -2
- data/app/views/usman/{admin/permissions → permissions}/_show.html.erb +2 -2
- data/app/views/usman/{admin/permissions → permissions}/index.html.erb +4 -4
- data/app/views/usman/{admin/roles → roles}/_form.html.erb +1 -1
- data/app/views/usman/{admin/roles → roles}/_index.html.erb +3 -3
- data/app/views/usman/{admin/roles → roles}/_row.html.erb +3 -3
- data/app/views/usman/{admin/roles → roles}/_show.html.erb +6 -6
- data/app/views/usman/{admin/roles → roles}/index.html.erb +5 -5
- data/app/views/usman/sessions/_form.html.erb +1 -1
- data/app/views/usman/{admin/user_roles → user_roles}/_form.html.erb +1 -1
- data/app/views/usman/{admin/user_roles → user_roles}/_index.html.erb +2 -2
- data/app/views/usman/{admin/user_roles → user_roles}/_row.html.erb +3 -3
- data/app/views/usman/{admin/users → users}/_form.html.erb +1 -1
- data/app/views/usman/{admin/users → users}/_index.html.erb +9 -9
- data/app/views/usman/{admin/users → users}/_row.html.erb +9 -9
- data/app/views/usman/{admin/users → users}/_show.html.erb +8 -8
- data/app/views/usman/{admin/users → users}/index.html.erb +8 -8
- data/config/locales/usman/mobile_registration.ar.yml +14 -0
- data/config/locales/usman/mobile_registration.en.yml +14 -0
- data/config/routes.rb +25 -21
- data/db/master_data/roles.csv +2 -0
- data/db/migrate/{20170728095744_create_otp_registrations.rb → 20170819113217_create_registrations.rb} +4 -4
- data/db/migrate/20170819113218_add_registration_id_to_users.rb +7 -0
- data/db/migrate/20170819113219_create_devices.rb +41 -0
- data/lib/tasks/usman/data.rake +85 -0
- data/lib/tasks/usman/master_data.rake +44 -0
- data/lib/usman/engine.rb +2 -1
- data/lib/usman/version.rb +1 -1
- metadata +111 -52
- data/app/controllers/usman/admin/base_controller.rb +0 -46
- data/app/controllers/usman/admin/dashboard_controller.rb +0 -26
- data/app/controllers/usman/admin/features_controller.rb +0 -83
- data/app/controllers/usman/admin/permissions_controller.rb +0 -85
- data/app/controllers/usman/admin/resource_controller.rb +0 -17
- data/app/controllers/usman/admin/roles_controller.rb +0 -68
- data/app/controllers/usman/admin/user_roles_controller.rb +0 -142
- data/app/controllers/usman/admin/users_controller.rb +0 -133
- data/app/views/usman/admin/dashboard/index.html.erb +0 -51
- data/config/initializers/overide_kuppayam_controllers.rb +0 -74
- data/lib/tasks/usman/all.rake +0 -73
- /data/app/views/usman/{admin/permissions → permissions}/_action_buttons.html.erb +0 -0
- /data/config/locales/{kuppayam → usman}/authentication.ar.yml +0 -0
- /data/config/locales/{kuppayam → usman}/authentication.en.yml +0 -0
- /data/db/{import_data → data}/dummy/features.csv +0 -0
- /data/db/{import_data → data}/dummy/permissions.csv +0 -0
- /data/db/{import_data → data}/dummy/roles.csv +0 -0
- /data/db/{import_data → data}/dummy/users.csv +0 -0
- /data/db/{import_data → data}/features.csv +0 -0
- /data/db/{import_data → data}/permissions.csv +0 -0
- /data/db/{import_data → data}/roles.csv +0 -0
- /data/db/{import_data → data}/users.csv +0 -0
@@ -1,83 +0,0 @@
|
|
1
|
-
module Usman
|
2
|
-
module Admin
|
3
|
-
class FeaturesController < ResourceController
|
4
|
-
|
5
|
-
private
|
6
|
-
|
7
|
-
def get_collections
|
8
|
-
@relation = Feature.where("")
|
9
|
-
|
10
|
-
parse_filters
|
11
|
-
apply_filters
|
12
|
-
|
13
|
-
@features = @r_objects = @relation.includes(:feature_image).page(@current_page).per(@per_page)
|
14
|
-
|
15
|
-
return true
|
16
|
-
end
|
17
|
-
|
18
|
-
def apply_filters
|
19
|
-
@relation = @relation.search(@query) if @query
|
20
|
-
@relation = @relation.status(@status) if @status
|
21
|
-
|
22
|
-
@order_by = "created_at desc" unless @order_by
|
23
|
-
@relation = @relation.order(@order_by)
|
24
|
-
end
|
25
|
-
|
26
|
-
def configure_filter_settings
|
27
|
-
@filter_settings = {
|
28
|
-
string_filters: [
|
29
|
-
{ filter_name: :query },
|
30
|
-
{ filter_name: :status }
|
31
|
-
],
|
32
|
-
boolean_filters: [],
|
33
|
-
reference_filters: [],
|
34
|
-
variable_filters: [],
|
35
|
-
}
|
36
|
-
end
|
37
|
-
|
38
|
-
def configure_filter_ui_settings
|
39
|
-
@filter_ui_settings = {
|
40
|
-
status: {
|
41
|
-
object_filter: false,
|
42
|
-
select_label: "Select Status",
|
43
|
-
display_hash: Feature::STATUS,
|
44
|
-
current_value: @status,
|
45
|
-
values: Feature::STATUS_REVERSE,
|
46
|
-
current_filters: @filters,
|
47
|
-
filters_to_remove: [],
|
48
|
-
filters_to_add: {},
|
49
|
-
url_method_name: 'admin_users_url',
|
50
|
-
show_all_filter_on_top: true
|
51
|
-
}
|
52
|
-
}
|
53
|
-
end
|
54
|
-
|
55
|
-
def resource_controller_configuration
|
56
|
-
{
|
57
|
-
page_title: "Features",
|
58
|
-
js_view_path: "/kuppayam/workflows/parrot",
|
59
|
-
view_path: "/usman/admin/features"
|
60
|
-
}
|
61
|
-
end
|
62
|
-
|
63
|
-
def breadcrumbs_configuration
|
64
|
-
{
|
65
|
-
heading: "Manage Features",
|
66
|
-
icon: "lincons-diamond",
|
67
|
-
description: "Listing all Features",
|
68
|
-
links: [{name: "Home", link: admin_dashboard_path, icon: 'fa-home'},
|
69
|
-
{name: "Manage Features", link: admin_features_path, icon: 'fa-calendar', active: true}]
|
70
|
-
}
|
71
|
-
end
|
72
|
-
|
73
|
-
def permitted_params
|
74
|
-
params.require(:feature).permit(:name)
|
75
|
-
end
|
76
|
-
|
77
|
-
def set_navs
|
78
|
-
set_nav("admin/features")
|
79
|
-
end
|
80
|
-
|
81
|
-
end
|
82
|
-
end
|
83
|
-
end
|
@@ -1,85 +0,0 @@
|
|
1
|
-
module Usman
|
2
|
-
module Admin
|
3
|
-
class PermissionsController < ResourceController
|
4
|
-
|
5
|
-
def create
|
6
|
-
@permission = @r_object = Permission.where(" user_id = ? AND feature_id = ? ", permitted_params[:user_id], permitted_params[:feature_id]).first || Permission.new
|
7
|
-
@permission.assign_attributes(permitted_params)
|
8
|
-
save_resource
|
9
|
-
get_collections
|
10
|
-
end
|
11
|
-
|
12
|
-
def update
|
13
|
-
@permission = @r_object = Permission.find_by_id(params[:id])
|
14
|
-
# The form will not submit can_create 0 if it is not selected
|
15
|
-
# hence making it false by default and letting it update by itself.
|
16
|
-
@permission.assign_attributes({"can_create": "0", "can_read": "0", "can_update": "0", "can_delete": "0"})
|
17
|
-
@permission.assign_attributes(permitted_params)
|
18
|
-
save_resource
|
19
|
-
get_collections
|
20
|
-
end
|
21
|
-
|
22
|
-
private
|
23
|
-
|
24
|
-
def get_collections
|
25
|
-
@relation = Permission.where("")
|
26
|
-
|
27
|
-
parse_filters
|
28
|
-
apply_filters
|
29
|
-
|
30
|
-
@permissions = @r_objects = @relation.includes(:user, :feature).page(@current_page).per(@per_page)
|
31
|
-
|
32
|
-
return true
|
33
|
-
end
|
34
|
-
|
35
|
-
def apply_filters
|
36
|
-
@relation = @relation.search(@query) if @query
|
37
|
-
@order_by = "user_id DESC, created_at DESC" unless @order_by
|
38
|
-
@relation = @relation.order(@order_by)
|
39
|
-
end
|
40
|
-
|
41
|
-
def configure_filter_settings
|
42
|
-
@filter_settings = {
|
43
|
-
string_filters: [{ filter_name: :query }],
|
44
|
-
boolean_filters: [],
|
45
|
-
reference_filters: [
|
46
|
-
{ filter_name: :user, filter_class: User },
|
47
|
-
{ filter_name: :feature, filter_class: Feature },
|
48
|
-
],
|
49
|
-
variable_filters: [],
|
50
|
-
}
|
51
|
-
end
|
52
|
-
|
53
|
-
def configure_filter_ui_settings
|
54
|
-
@filter_ui_settings = {}
|
55
|
-
end
|
56
|
-
|
57
|
-
def resource_controller_configuration
|
58
|
-
{
|
59
|
-
page_title: "Permissions",
|
60
|
-
js_view_path: "/kuppayam/workflows/parrot",
|
61
|
-
view_path: "/usman/admin/permissions"
|
62
|
-
}
|
63
|
-
end
|
64
|
-
|
65
|
-
def breadcrumbs_configuration
|
66
|
-
{
|
67
|
-
heading: "Manage Permissions",
|
68
|
-
icon: "fa-lock",
|
69
|
-
description: "Listing all Permissions",
|
70
|
-
links: [{name: "Home", link: admin_dashboard_path, icon: 'fa-home'},
|
71
|
-
{name: "Manage Permissions", link: admin_permissions_path, icon: 'fa-calendar', active: true}]
|
72
|
-
}
|
73
|
-
end
|
74
|
-
|
75
|
-
def permitted_params
|
76
|
-
params.require(:permission).permit(:user_id, :feature_id, :can_create, :can_read, :can_update, :can_delete)
|
77
|
-
end
|
78
|
-
|
79
|
-
def set_navs
|
80
|
-
set_nav("admin/permissions")
|
81
|
-
end
|
82
|
-
|
83
|
-
end
|
84
|
-
end
|
85
|
-
end
|
@@ -1,17 +0,0 @@
|
|
1
|
-
module Usman
|
2
|
-
module Admin
|
3
|
-
class ResourceController < Usman::Admin::BaseController
|
4
|
-
|
5
|
-
include ResourceHelper
|
6
|
-
|
7
|
-
before_action :require_user
|
8
|
-
before_action :require_site_admin
|
9
|
-
before_action :configure_resource_controller
|
10
|
-
|
11
|
-
def resource_url(obj)
|
12
|
-
url_for([:admin, obj])
|
13
|
-
end
|
14
|
-
|
15
|
-
end
|
16
|
-
end
|
17
|
-
end
|
@@ -1,68 +0,0 @@
|
|
1
|
-
module Usman
|
2
|
-
module Admin
|
3
|
-
class RolesController < ResourceController
|
4
|
-
|
5
|
-
private
|
6
|
-
|
7
|
-
def get_collections
|
8
|
-
@relation = Role.where("")
|
9
|
-
|
10
|
-
parse_filters
|
11
|
-
apply_filters
|
12
|
-
|
13
|
-
@roles = @r_objects = @relation.page(@current_page).per(@per_page)
|
14
|
-
|
15
|
-
return true
|
16
|
-
end
|
17
|
-
|
18
|
-
def apply_filters
|
19
|
-
@relation = @relation.search(@query) if @query
|
20
|
-
|
21
|
-
@order_by = "name ASC" unless @order_by
|
22
|
-
@relation = @relation.order(@order_by)
|
23
|
-
end
|
24
|
-
|
25
|
-
def configure_filter_settings
|
26
|
-
@filter_settings = {
|
27
|
-
string_filters: [
|
28
|
-
{ filter_name: :query }
|
29
|
-
],
|
30
|
-
boolean_filters: [],
|
31
|
-
reference_filters: [],
|
32
|
-
variable_filters: [],
|
33
|
-
}
|
34
|
-
end
|
35
|
-
|
36
|
-
def configure_filter_ui_settings
|
37
|
-
@filter_ui_settings = {}
|
38
|
-
end
|
39
|
-
|
40
|
-
def resource_controller_configuration
|
41
|
-
{
|
42
|
-
page_title: "Roles",
|
43
|
-
js_view_path: "/kuppayam/workflows/peacock",
|
44
|
-
view_path: "/usman/admin/roles"
|
45
|
-
}
|
46
|
-
end
|
47
|
-
|
48
|
-
def breadcrumbs_configuration
|
49
|
-
{
|
50
|
-
heading: "Manage Roles",
|
51
|
-
icon: "fa-lock",
|
52
|
-
description: "Listing all Roles",
|
53
|
-
links: [{name: "Home", link: admin_dashboard_path, icon: 'fa-home'},
|
54
|
-
{name: "Manage Roles", link: admin_roles_path, icon: 'fa-calendar', active: true}]
|
55
|
-
}
|
56
|
-
end
|
57
|
-
|
58
|
-
def permitted_params
|
59
|
-
params.require(:role).permit(:name)
|
60
|
-
end
|
61
|
-
|
62
|
-
def set_navs
|
63
|
-
set_nav("admin/roles")
|
64
|
-
end
|
65
|
-
|
66
|
-
end
|
67
|
-
end
|
68
|
-
end
|
@@ -1,142 +0,0 @@
|
|
1
|
-
module Usman
|
2
|
-
module Admin
|
3
|
-
class UserRolesController < ResourceController
|
4
|
-
|
5
|
-
before_action :get_role
|
6
|
-
|
7
|
-
def index
|
8
|
-
get_collections
|
9
|
-
respond_to do |format|
|
10
|
-
format.html {}
|
11
|
-
format.js {
|
12
|
-
js_view_path = @resource_options && @resource_options[:js_view_path] ? "#{@resource_options[:js_view_path]}/index" : :index
|
13
|
-
render js_view_path
|
14
|
-
}
|
15
|
-
end
|
16
|
-
end
|
17
|
-
|
18
|
-
def show
|
19
|
-
@user = @r_object = @resource_options[:class].find_by_id(params[:id])
|
20
|
-
set_notification(false, I18n.t('status.error'), I18n.t('status.not_found', item: default_item_name.titleize)) unless @r_object
|
21
|
-
render_accordingly
|
22
|
-
end
|
23
|
-
|
24
|
-
def new
|
25
|
-
@user = User.new
|
26
|
-
render_accordingly
|
27
|
-
end
|
28
|
-
|
29
|
-
def create
|
30
|
-
@user = @r_object = User.find_by_id(permitted_params[:id])
|
31
|
-
if @user.add_role(@role)
|
32
|
-
set_notification(true, I18n.t('status.success'), "Role '#{@role.name}' has been assigned to the user '#{@user.name}'")
|
33
|
-
else
|
34
|
-
set_notification(false, I18n.t('status.success'), "Failed to assign the Role '#{@role.name}'")
|
35
|
-
end
|
36
|
-
action_name = params[:action].to_s == "create" ? "new" : "edit"
|
37
|
-
render_or_redirect(false, resource_url(@r_object), action_name)
|
38
|
-
end
|
39
|
-
|
40
|
-
def destroy
|
41
|
-
@user = @r_object = User.find_by_id(params[:id])
|
42
|
-
if @user
|
43
|
-
if @user.remove_role(@role)
|
44
|
-
get_collections
|
45
|
-
set_flash_message(I18n.t('success.deleted'), :success)
|
46
|
-
set_notification(true, I18n.t('status.success'), "Role '#{@role.name}' has been removed for the user '#{@user.name}'")
|
47
|
-
@destroyed = true
|
48
|
-
else
|
49
|
-
message = I18n.t('errors.failed_to_delete', item: default_item_name.titleize)
|
50
|
-
set_flash_message(message, :failure)
|
51
|
-
set_notification(false, I18n.t('status.success'), "Failed to remove the Role '#{@role.name}'")
|
52
|
-
@destroyed = false
|
53
|
-
end
|
54
|
-
else
|
55
|
-
set_notification(false, I18n.t('status.error'), I18n.t('status.not_found', item: default_item_name.titleize))
|
56
|
-
end
|
57
|
-
|
58
|
-
respond_to do |format|
|
59
|
-
format.html {}
|
60
|
-
format.js {
|
61
|
-
js_view_path = @resource_options && @resource_options[:js_view_path] ? "#{@resource_options[:js_view_path]}/destroy" : :destroy
|
62
|
-
render js_view_path
|
63
|
-
}
|
64
|
-
end
|
65
|
-
|
66
|
-
end
|
67
|
-
|
68
|
-
private
|
69
|
-
|
70
|
-
def get_role
|
71
|
-
@role = Role.find_by_id(params[:role_id])
|
72
|
-
end
|
73
|
-
|
74
|
-
def get_collections
|
75
|
-
@relation = @role.users.where("")
|
76
|
-
|
77
|
-
parse_filters
|
78
|
-
apply_filters
|
79
|
-
|
80
|
-
@users = @r_objects = @relation.page(@current_page).per(@per_page)
|
81
|
-
|
82
|
-
return true
|
83
|
-
end
|
84
|
-
|
85
|
-
def apply_filters
|
86
|
-
@relation = @relation.search(@query) if @query
|
87
|
-
|
88
|
-
@order_by = "name ASC" unless @order_by
|
89
|
-
@relation = @relation.order(@order_by)
|
90
|
-
end
|
91
|
-
|
92
|
-
def configure_filter_settings
|
93
|
-
@filter_settings = {
|
94
|
-
string_filters: [
|
95
|
-
{ filter_name: :query }
|
96
|
-
],
|
97
|
-
boolean_filters: [],
|
98
|
-
reference_filters: [],
|
99
|
-
variable_filters: [],
|
100
|
-
}
|
101
|
-
end
|
102
|
-
|
103
|
-
def configure_filter_ui_settings
|
104
|
-
@filter_ui_settings = {}
|
105
|
-
end
|
106
|
-
|
107
|
-
def resource_url(obj)
|
108
|
-
url_for([:admin, @role, obj])
|
109
|
-
end
|
110
|
-
|
111
|
-
def resource_controller_configuration
|
112
|
-
{
|
113
|
-
collection_name: :users,
|
114
|
-
item_name: :user,
|
115
|
-
class: User,
|
116
|
-
show_modal_after_create: false,
|
117
|
-
show_modal_after_update: false,
|
118
|
-
page_title: "Manage User Roles",
|
119
|
-
js_view_path: "/kuppayam/workflows/parrot",
|
120
|
-
view_path: "/usman/admin/user_roles"
|
121
|
-
}
|
122
|
-
end
|
123
|
-
|
124
|
-
def breadcrumbs_configuration
|
125
|
-
{
|
126
|
-
heading: "Manage User Roles",
|
127
|
-
description: "Listing all User Roles",
|
128
|
-
links: [{name: "Home", link: admin_dashboard_path, icon: 'fa-home'}]
|
129
|
-
}
|
130
|
-
end
|
131
|
-
|
132
|
-
def permitted_params
|
133
|
-
params.require(:user).permit(:id)
|
134
|
-
end
|
135
|
-
|
136
|
-
def set_navs
|
137
|
-
set_nav("admin/roles/user_roles")
|
138
|
-
end
|
139
|
-
|
140
|
-
end
|
141
|
-
end
|
142
|
-
end
|
@@ -1,133 +0,0 @@
|
|
1
|
-
module Usman
|
2
|
-
module Admin
|
3
|
-
class UsersController < ResourceController
|
4
|
-
|
5
|
-
def make_super_admin
|
6
|
-
@user = @r_object = User.find(params[:id])
|
7
|
-
if @user
|
8
|
-
@user.super_admin = true
|
9
|
-
if @user.valid?
|
10
|
-
@user.save
|
11
|
-
set_notification(true, I18n.t('status.success'), I18n.t('state.changed', item: default_item_name.titleize, new_state: @user.status))
|
12
|
-
else
|
13
|
-
set_notification(false, I18n.t('status.error'), I18n.translate("error"), @user.errors.full_messages.join("<br>"))
|
14
|
-
end
|
15
|
-
else
|
16
|
-
set_notification(false, I18n.t('status.not_found'), I18n.t('status.not_found', item: default_item_name.titleize))
|
17
|
-
end
|
18
|
-
render_row
|
19
|
-
end
|
20
|
-
|
21
|
-
def remove_super_admin
|
22
|
-
@user = @r_object = User.find(params[:id])
|
23
|
-
if @user
|
24
|
-
@user.super_admin = false
|
25
|
-
if @user.valid?
|
26
|
-
@user.save
|
27
|
-
set_notification(true, I18n.t('status.success'), I18n.t('state.changed', item: default_item_name.titleize, new_state: @user.status))
|
28
|
-
else
|
29
|
-
set_notification(false, I18n.t('status.error'), I18n.translate("error"), @user.errors.full_messages.join("<br>"))
|
30
|
-
end
|
31
|
-
else
|
32
|
-
set_notification(false, I18n.t('status.not_found'), I18n.t('status.not_found', item: default_item_name.titleize))
|
33
|
-
end
|
34
|
-
render_row
|
35
|
-
end
|
36
|
-
|
37
|
-
def masquerade
|
38
|
-
@user = @r_object = User.find(params[:id])
|
39
|
-
masquerade_as_user(@user)
|
40
|
-
end
|
41
|
-
|
42
|
-
private
|
43
|
-
|
44
|
-
def get_collections
|
45
|
-
# Fetching the users
|
46
|
-
@relation = User.includes(:profile_picture).where("")
|
47
|
-
|
48
|
-
parse_filters
|
49
|
-
apply_filters
|
50
|
-
|
51
|
-
@users = @r_objects = @relation.page(@current_page).per(@per_page)
|
52
|
-
|
53
|
-
return true
|
54
|
-
end
|
55
|
-
|
56
|
-
def apply_filters
|
57
|
-
@relation = @relation.search(@query) if @query
|
58
|
-
@relation = @relation.status(@status) if @status
|
59
|
-
|
60
|
-
# Normal users should not be able to view super admins
|
61
|
-
# He should not be seeing admins even while searching
|
62
|
-
if @current_user.super_admin?
|
63
|
-
@relation = @relation.where("super_admin IS #{@super_admin.to_s.upcase}") if @super_admin.nil? == false && @query.nil?
|
64
|
-
else
|
65
|
-
@relation = @relation.where("super_admin IS FALSE")
|
66
|
-
end
|
67
|
-
|
68
|
-
@order_by = "created_at desc" unless @order_by
|
69
|
-
@relation = @relation.order(@order_by)
|
70
|
-
end
|
71
|
-
|
72
|
-
def configure_filter_settings
|
73
|
-
@filter_settings = {
|
74
|
-
string_filters: [
|
75
|
-
{ filter_name: :query },
|
76
|
-
{ filter_name: :status }
|
77
|
-
],
|
78
|
-
|
79
|
-
boolean_filters: [
|
80
|
-
{ filter_name: :super_admin, options: {default: false }}
|
81
|
-
],
|
82
|
-
|
83
|
-
reference_filters: [],
|
84
|
-
variable_filters: [],
|
85
|
-
}
|
86
|
-
end
|
87
|
-
|
88
|
-
def configure_filter_ui_settings
|
89
|
-
@filter_ui_settings = {
|
90
|
-
status: {
|
91
|
-
object_filter: false,
|
92
|
-
select_label: "Select Status",
|
93
|
-
display_hash: User::STATUS,
|
94
|
-
current_value: @status,
|
95
|
-
values: User::STATUS_REVERSE,
|
96
|
-
current_filters: @filters,
|
97
|
-
filters_to_remove: [],
|
98
|
-
filters_to_add: {},
|
99
|
-
url_method_name: 'admin_users_url',
|
100
|
-
show_all_filter_on_top: true
|
101
|
-
}
|
102
|
-
}
|
103
|
-
end
|
104
|
-
|
105
|
-
def resource_controller_configuration
|
106
|
-
{
|
107
|
-
page_title: "Users",
|
108
|
-
js_view_path: "/kuppayam/workflows/peacock",
|
109
|
-
view_path: "/usman/admin/users"
|
110
|
-
}
|
111
|
-
end
|
112
|
-
|
113
|
-
def breadcrumbs_configuration
|
114
|
-
{
|
115
|
-
heading: "Manage Users",
|
116
|
-
icon: "fa-user",
|
117
|
-
description: "Listing all Users",
|
118
|
-
links: [{name: "Home", link: admin_dashboard_path, icon: 'fa-home'},
|
119
|
-
{name: "Manage Users", link: admin_users_path, icon: 'fa-user', active: true}]
|
120
|
-
}
|
121
|
-
end
|
122
|
-
|
123
|
-
def permitted_params
|
124
|
-
params.require(:user).permit(:name, :username, :email, :designation, :phone, :password, :password_confirmation)
|
125
|
-
end
|
126
|
-
|
127
|
-
def set_navs
|
128
|
-
set_nav("admin/users")
|
129
|
-
end
|
130
|
-
|
131
|
-
end
|
132
|
-
end
|
133
|
-
end
|
@@ -1,51 +0,0 @@
|
|
1
|
-
<div class="row">
|
2
|
-
|
3
|
-
<div class="col-sm-3">
|
4
|
-
<div class="xe-widget xe-counter" data-count=".num" data-from="0" data-to="99.9" data-suffix="%" data-duration="2">
|
5
|
-
<div class="xe-icon">
|
6
|
-
<i class="linecons-cloud"></i>
|
7
|
-
</div>
|
8
|
-
<div class="xe-label">
|
9
|
-
<strong class="num">99.9%</strong>
|
10
|
-
<span>Server Uptime</span>
|
11
|
-
</div>
|
12
|
-
</div>
|
13
|
-
</div>
|
14
|
-
|
15
|
-
<div class="col-sm-3">
|
16
|
-
<div class="xe-widget xe-counter xe-counter-red" data-count=".num" data-from="0" data-to="57" data-prefix="-," data-suffix="%" data-duration="5" data-easing="true" data-delay="1">
|
17
|
-
<div class="xe-icon">
|
18
|
-
<i class="linecons-lightbulb"></i>
|
19
|
-
</div>
|
20
|
-
<div class="xe-label">
|
21
|
-
<strong class="num">2 Hours Ago</strong>
|
22
|
-
<span>Server Up Since</span>
|
23
|
-
</div>
|
24
|
-
</div>
|
25
|
-
</div>
|
26
|
-
|
27
|
-
<div class="col-sm-3">
|
28
|
-
<div class="xe-widget xe-counter xe-counter-blue" data-count=".num" data-from="1" data-to="117" data-suffix="k" data-duration="3" data-easing="false">
|
29
|
-
<div class="xe-icon">
|
30
|
-
<i class="linecons-user"></i>
|
31
|
-
</div>
|
32
|
-
<div class="xe-label">
|
33
|
-
<strong class="num"><%= User.approved.where("super_admin is FALSE").count %></strong>
|
34
|
-
<span>Total Users</span>
|
35
|
-
</div>
|
36
|
-
</div>
|
37
|
-
</div>
|
38
|
-
|
39
|
-
<div class="col-sm-3">
|
40
|
-
<div class="xe-widget xe-counter xe-counter-info" data-count=".num" data-from="1000" data-to="2470" data-duration="4" data-easing="true">
|
41
|
-
<div class="xe-icon">
|
42
|
-
<i class="linecons-diamond"></i>
|
43
|
-
</div>
|
44
|
-
<div class="xe-label">
|
45
|
-
<strong class="num"><%= Feature.published.count %></strong>
|
46
|
-
<span>Activated Features</span>
|
47
|
-
</div>
|
48
|
-
</div>
|
49
|
-
</div>
|
50
|
-
|
51
|
-
</div>
|
@@ -1,74 +0,0 @@
|
|
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
|