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.
Files changed (116) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/images/android-icon-144x144.png +0 -0
  3. data/app/assets/images/android-icon-192x192.png +0 -0
  4. data/app/assets/images/android-icon-36x36.png +0 -0
  5. data/app/assets/images/android-icon-48x48.png +0 -0
  6. data/app/assets/images/android-icon-72x72.png +0 -0
  7. data/app/assets/images/android-icon-96x96.png +0 -0
  8. data/app/assets/images/apple-icon-114x114.png +0 -0
  9. data/app/assets/images/apple-icon-120x120.png +0 -0
  10. data/app/assets/images/apple-icon-144x144.png +0 -0
  11. data/app/assets/images/apple-icon-152x152.png +0 -0
  12. data/app/assets/images/apple-icon-180x180.png +0 -0
  13. data/app/assets/images/apple-icon-57x57.png +0 -0
  14. data/app/assets/images/apple-icon-60x60.png +0 -0
  15. data/app/assets/images/apple-icon-72x72.png +0 -0
  16. data/app/assets/images/apple-icon-76x76.png +0 -0
  17. data/app/assets/images/apple-icon-precomposed.png +0 -0
  18. data/app/assets/images/apple-icon.png +0 -0
  19. data/app/assets/images/browserconfig.xml +2 -0
  20. data/app/assets/images/favicon-16x16.png +0 -0
  21. data/app/assets/images/favicon-32x32.png +0 -0
  22. data/app/assets/images/favicon-96x96.png +0 -0
  23. data/app/assets/images/favicon.ico +0 -0
  24. data/app/assets/images/logo-on-white.png +0 -0
  25. data/app/assets/images/logo-small.png +0 -0
  26. data/app/assets/images/logo.png +0 -0
  27. data/app/assets/images/manifest.json +41 -0
  28. data/app/assets/images/ms-icon-144x144.png +0 -0
  29. data/app/assets/images/ms-icon-150x150.png +0 -0
  30. data/app/assets/images/ms-icon-310x310.png +0 -0
  31. data/app/assets/images/ms-icon-70x70.png +0 -0
  32. data/app/assets/sketches/logo.sketch +0 -0
  33. data/app/controllers/api/v1/base_controller.rb +13 -0
  34. data/app/controllers/api/v1/registrations_controller.rb +41 -0
  35. data/app/controllers/usman/admin_controller.rb +26 -0
  36. data/app/controllers/usman/application_controller.rb +16 -0
  37. data/app/controllers/usman/dashboard_controller.rb +26 -0
  38. data/app/controllers/usman/features_controller.rb +83 -0
  39. data/app/controllers/usman/my_account_controller.rb +25 -0
  40. data/app/controllers/usman/permissions_controller.rb +85 -0
  41. data/app/controllers/usman/resource_controller.rb +21 -0
  42. data/app/controllers/usman/roles_controller.rb +68 -0
  43. data/app/controllers/usman/sessions_controller.rb +4 -1
  44. data/app/controllers/usman/user_roles_controller.rb +141 -0
  45. data/app/controllers/usman/users_controller.rb +133 -0
  46. data/app/helpers/usman/api_helper.rb +79 -0
  47. data/app/helpers/usman/authentication_helper.rb +21 -7
  48. data/app/models/device.rb +149 -0
  49. data/app/models/feature.rb +11 -7
  50. data/app/models/permission.rb +17 -13
  51. data/app/models/registration.rb +108 -0
  52. data/app/models/role.rb +11 -7
  53. data/app/models/user.rb +19 -13
  54. data/app/services/usman/mobile_registration_service.rb +127 -0
  55. data/app/views/layouts/kuppayam/_sidebar.html.erb +39 -19
  56. data/app/views/layouts/kuppayam/profile.html.erb +120 -0
  57. data/app/views/usman/dashboard/index.html.erb +118 -0
  58. data/app/views/usman/{admin/features → features}/_form.html.erb +1 -1
  59. data/app/views/usman/{admin/features → features}/_index.html.erb +10 -10
  60. data/app/views/usman/{admin/features → features}/_row.html.erb +10 -10
  61. data/app/views/usman/{admin/features → features}/_show.html.erb +2 -2
  62. data/app/views/usman/{admin/features → features}/index.html.erb +4 -4
  63. data/app/views/usman/my_account/index.html.erb +1 -0
  64. data/app/views/usman/{admin/permissions → permissions}/_form.html.erb +1 -1
  65. data/app/views/usman/{admin/permissions → permissions}/_index.html.erb +2 -2
  66. data/app/views/usman/{admin/permissions → permissions}/_row.html.erb +2 -2
  67. data/app/views/usman/{admin/permissions → permissions}/_show.html.erb +2 -2
  68. data/app/views/usman/{admin/permissions → permissions}/index.html.erb +4 -4
  69. data/app/views/usman/{admin/roles → roles}/_form.html.erb +1 -1
  70. data/app/views/usman/{admin/roles → roles}/_index.html.erb +3 -3
  71. data/app/views/usman/{admin/roles → roles}/_row.html.erb +3 -3
  72. data/app/views/usman/{admin/roles → roles}/_show.html.erb +6 -6
  73. data/app/views/usman/{admin/roles → roles}/index.html.erb +5 -5
  74. data/app/views/usman/sessions/_form.html.erb +1 -1
  75. data/app/views/usman/{admin/user_roles → user_roles}/_form.html.erb +1 -1
  76. data/app/views/usman/{admin/user_roles → user_roles}/_index.html.erb +2 -2
  77. data/app/views/usman/{admin/user_roles → user_roles}/_row.html.erb +3 -3
  78. data/app/views/usman/{admin/users → users}/_form.html.erb +1 -1
  79. data/app/views/usman/{admin/users → users}/_index.html.erb +9 -9
  80. data/app/views/usman/{admin/users → users}/_row.html.erb +9 -9
  81. data/app/views/usman/{admin/users → users}/_show.html.erb +8 -8
  82. data/app/views/usman/{admin/users → users}/index.html.erb +8 -8
  83. data/config/locales/usman/mobile_registration.ar.yml +14 -0
  84. data/config/locales/usman/mobile_registration.en.yml +14 -0
  85. data/config/routes.rb +25 -21
  86. data/db/master_data/roles.csv +2 -0
  87. data/db/migrate/{20170728095744_create_otp_registrations.rb → 20170819113217_create_registrations.rb} +4 -4
  88. data/db/migrate/20170819113218_add_registration_id_to_users.rb +7 -0
  89. data/db/migrate/20170819113219_create_devices.rb +41 -0
  90. data/lib/tasks/usman/data.rake +85 -0
  91. data/lib/tasks/usman/master_data.rake +44 -0
  92. data/lib/usman/engine.rb +2 -1
  93. data/lib/usman/version.rb +1 -1
  94. metadata +111 -52
  95. data/app/controllers/usman/admin/base_controller.rb +0 -46
  96. data/app/controllers/usman/admin/dashboard_controller.rb +0 -26
  97. data/app/controllers/usman/admin/features_controller.rb +0 -83
  98. data/app/controllers/usman/admin/permissions_controller.rb +0 -85
  99. data/app/controllers/usman/admin/resource_controller.rb +0 -17
  100. data/app/controllers/usman/admin/roles_controller.rb +0 -68
  101. data/app/controllers/usman/admin/user_roles_controller.rb +0 -142
  102. data/app/controllers/usman/admin/users_controller.rb +0 -133
  103. data/app/views/usman/admin/dashboard/index.html.erb +0 -51
  104. data/config/initializers/overide_kuppayam_controllers.rb +0 -74
  105. data/lib/tasks/usman/all.rake +0 -73
  106. /data/app/views/usman/{admin/permissions → permissions}/_action_buttons.html.erb +0 -0
  107. /data/config/locales/{kuppayam → usman}/authentication.ar.yml +0 -0
  108. /data/config/locales/{kuppayam → usman}/authentication.en.yml +0 -0
  109. /data/db/{import_data → data}/dummy/features.csv +0 -0
  110. /data/db/{import_data → data}/dummy/permissions.csv +0 -0
  111. /data/db/{import_data → data}/dummy/roles.csv +0 -0
  112. /data/db/{import_data → data}/dummy/users.csv +0 -0
  113. /data/db/{import_data → data}/features.csv +0 -0
  114. /data/db/{import_data → data}/permissions.csv +0 -0
  115. /data/db/{import_data → data}/roles.csv +0 -0
  116. /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