usman 0.1.6dev2 → 0.2.0
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/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
|