usman 0.4.7.pre.materialize → 0.4.8.pre.materialize
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/controllers/usman/api/v1/docs_controller.rb +2 -2
- data/app/controllers/usman/application_controller.rb +0 -10
- data/app/controllers/usman/features_controller.rb +20 -15
- data/app/controllers/usman/resource_controller.rb +1 -0
- data/app/controllers/usman/sessions_controller.rb +5 -1
- data/app/controllers/usman/users_controller.rb +2 -2
- data/app/models/feature.rb +2 -4
- data/app/views/layouts/kuppayam/{_footer.html.erb → materialize/_footer.html.erb} +0 -0
- data/app/views/layouts/kuppayam/{_header.html.erb → materialize/_header.html.erb} +0 -0
- data/app/views/layouts/kuppayam/{_navbar.html.erb → materialize/_navbar.html.erb} +0 -0
- data/app/views/layouts/kuppayam/{_sidebar.html.erb → materialize/_sidebar.html.erb} +2 -2
- data/app/views/layouts/kuppayam/xenon/_footer.html.erb +25 -0
- data/app/views/layouts/kuppayam/xenon/_header.html.erb +43 -0
- data/app/views/layouts/kuppayam/xenon/_navbar.html.erb +55 -0
- data/app/views/layouts/kuppayam/xenon/_sidebar.html.erb +175 -0
- data/app/views/layouts/kuppayam/{profile.html.erb → xenon/profile.html.erb} +0 -0
- data/app/views/usman/dashboard/bootstrap4/_index.html.erb +40 -0
- data/app/views/usman/dashboard/bootstrap4/_super_admin_index.html.erb +22 -0
- data/app/views/usman/dashboard/materialize/_index.html.erb +40 -0
- data/app/views/usman/dashboard/materialize/_super_admin_index.html.erb +22 -0
- data/app/views/usman/dashboard/{_index.html.erb → xenon/_index.html.erb} +2 -2
- data/app/views/usman/dashboard/{_super_admin_index.html.erb → xenon/_super_admin_index.html.erb} +1 -1
- data/app/views/usman/features/_form.html.erb +1 -0
- data/app/views/usman/features/index.html.erb +18 -0
- data/db/migrate/20180515030422_add_feature_category_to_features.rb +23 -0
- data/lib/usman/version.rb +1 -1
- metadata +22 -13
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 66dc8ae67a0f4b53e9c47c8bddd8d29c3779d87bcfe022e8cee1864e2fb3cfc1
|
4
|
+
data.tar.gz: ab508cc18eecdd1573af41bdc55f66b26b55a3732d7a88e274d35752bdc3c20e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 874a83bd0cbae9dd9d942fb8e5c537084a9bb48e7dec9ffdd574fdf7161f358391a41637d998d51d1e82daaf763e096816f8b0e85190b8abdded1a71b99cb208
|
7
|
+
data.tar.gz: e633d77de6328007a0cd4f3b63c49e71c13a36073ad6fb82588a34c920abbaabb9d4e89f088637fa8cecbec1042bb4514be5310576226df5c1ecbc5f294abffc
|
@@ -453,7 +453,7 @@ module Usman
|
|
453
453
|
|
454
454
|
def set_nav_items
|
455
455
|
@nav_items = {
|
456
|
-
register: { nav_class: "docs/usman/register", icon_class: "fa-
|
456
|
+
register: { nav_class: "docs/usman/register", icon_class: "fa-user", url: usman.docs_api_v1_register_path, text: "Registraions API"},
|
457
457
|
resend_otp: { nav_class: "docs/usman/resend_otp", icon_class: "fa-send", url: usman.docs_api_v1_resend_otp_path, text: "Resend OTP API"},
|
458
458
|
verify_otp: { nav_class: "docs/usman/verify_otp", icon_class: "fa-thumbs-up", url: usman.docs_api_v1_verify_otp_path, text: "Verify OTP API"},
|
459
459
|
accept_tac: { nav_class: "docs/usman/accept_tac", icon_class: "fa-check-square-o", url: usman.docs_api_v1_accept_tac_path, text: "Accept T&C API"},
|
@@ -474,7 +474,7 @@ module Usman
|
|
474
474
|
|
475
475
|
def set_tab_items
|
476
476
|
@tab_items = {
|
477
|
-
usman: { nav_class: "docs/usman", icon_class: "fa-
|
477
|
+
usman: { nav_class: "docs/usman", icon_class: "fa-user", url: usman.docs_api_v1_register_path, text: "User APIs"}
|
478
478
|
}
|
479
479
|
end
|
480
480
|
|
@@ -3,8 +3,6 @@ module Usman
|
|
3
3
|
|
4
4
|
include Usman::AuthenticationHelper
|
5
5
|
|
6
|
-
layout 'kuppayam/xenon/admin'
|
7
|
-
|
8
6
|
before_action :current_user
|
9
7
|
before_action :require_user
|
10
8
|
|
@@ -12,14 +10,6 @@ module Usman
|
|
12
10
|
|
13
11
|
private
|
14
12
|
|
15
|
-
def stylesheet_filename
|
16
|
-
@stylesheet_filename = "kuppayam-xenon"
|
17
|
-
end
|
18
|
-
|
19
|
-
def javascript_filename
|
20
|
-
@javascript_filename = "kuppayam-xenon"
|
21
|
-
end
|
22
|
-
|
23
13
|
def set_default_title
|
24
14
|
set_title("Usman Admin | User Management Module")
|
25
15
|
end
|
@@ -4,17 +4,9 @@ module Usman
|
|
4
4
|
before_action :require_super_admin
|
5
5
|
|
6
6
|
def update_permission
|
7
|
-
@permission = Permission.find_by_id(params[:permission_id])
|
8
7
|
@user = User.find_by_id(params[:user_id])
|
9
|
-
|
10
|
-
|
11
|
-
@permission.toggle!(params[:permission_for])
|
12
|
-
@success = true
|
13
|
-
rescue
|
14
|
-
@success = false
|
15
|
-
end
|
16
|
-
else
|
17
|
-
@permission = Permission.new(user: @user, can_read: false, feature_id: params[:id])
|
8
|
+
@permission = Permission.find_by_id(params[:permission_id]) || Permission.where(user: @user, feature_id: params[:id]).first || Permission.new(user: @user, can_read: false, feature_id: params[:id])
|
9
|
+
if @permission.new_record?
|
18
10
|
@permission.assign_attributes(params[:permission_for] => true)
|
19
11
|
if @permission.valid?
|
20
12
|
@permission.save
|
@@ -22,6 +14,13 @@ module Usman
|
|
22
14
|
else
|
23
15
|
@success = false
|
24
16
|
end
|
17
|
+
else
|
18
|
+
begin
|
19
|
+
@permission.toggle!(params[:permission_for])
|
20
|
+
@success = true
|
21
|
+
rescue
|
22
|
+
@success = false
|
23
|
+
end
|
25
24
|
end
|
26
25
|
end
|
27
26
|
|
@@ -33,6 +32,7 @@ module Usman
|
|
33
32
|
end
|
34
33
|
|
35
34
|
def get_collections
|
35
|
+
@feature_categories = Feature.select("DISTINCT feature_category").map(&:feature_category)
|
36
36
|
@relation = Feature.includes(:cover_image).where("")
|
37
37
|
|
38
38
|
parse_filters
|
@@ -47,6 +47,10 @@ module Usman
|
|
47
47
|
@relation = @relation.search(@query) if @query
|
48
48
|
@relation = @relation.status(@status) if @status
|
49
49
|
|
50
|
+
# Set first feature category as default feature category
|
51
|
+
@feature_category = @feature_categories.first if @feature_category.blank?
|
52
|
+
@relation = @relation.where(feature_category: @feature_category)
|
53
|
+
|
50
54
|
@order_by = "created_at desc" unless @order_by
|
51
55
|
@relation = @relation.order(@order_by)
|
52
56
|
end
|
@@ -55,7 +59,8 @@ module Usman
|
|
55
59
|
@filter_settings = {
|
56
60
|
string_filters: [
|
57
61
|
{ filter_name: :query },
|
58
|
-
{ filter_name: :status }
|
62
|
+
{ filter_name: :status },
|
63
|
+
{ filter_name: :feature_category },
|
59
64
|
],
|
60
65
|
boolean_filters: [],
|
61
66
|
reference_filters: [],
|
@@ -68,13 +73,13 @@ module Usman
|
|
68
73
|
status: {
|
69
74
|
object_filter: false,
|
70
75
|
select_label: "Select Status",
|
71
|
-
display_hash: Feature::
|
76
|
+
display_hash: Feature::STATUS_REVERSE,
|
72
77
|
current_value: @status,
|
73
|
-
values: Feature::
|
78
|
+
values: Feature::STATUS,
|
74
79
|
current_filters: @filters,
|
75
80
|
filters_to_remove: [],
|
76
81
|
filters_to_add: {},
|
77
|
-
url_method_name: '
|
82
|
+
url_method_name: 'features_url',
|
78
83
|
show_all_filter_on_top: true
|
79
84
|
}
|
80
85
|
}
|
@@ -101,7 +106,7 @@ module Usman
|
|
101
106
|
end
|
102
107
|
|
103
108
|
def permitted_params
|
104
|
-
params.require(:feature).permit(:name, :categorisable)
|
109
|
+
params.require(:feature).permit(:name, :categorisable, :feature_category)
|
105
110
|
end
|
106
111
|
|
107
112
|
def set_navs
|
@@ -130,10 +130,10 @@ module Usman
|
|
130
130
|
def breadcrumbs_configuration
|
131
131
|
{
|
132
132
|
heading: "Manage Users",
|
133
|
-
icon: "fa-
|
133
|
+
icon: "fa-user",
|
134
134
|
description: "Listing all Users",
|
135
135
|
links: [{name: "Home", link: breadcrumb_home_path, icon: 'fa-home'},
|
136
|
-
{name: "Manage Users", link: users_path, icon: 'fa-
|
136
|
+
{name: "Manage Users", link: users_path, icon: 'fa-user', active: true}]
|
137
137
|
}
|
138
138
|
end
|
139
139
|
|
data/app/models/feature.rb
CHANGED
@@ -18,10 +18,8 @@ class Feature < Usman::ApplicationRecord
|
|
18
18
|
has_one :cover_image, :as => :imageable, :dependent => :destroy, :class_name => "Image::CoverImage"
|
19
19
|
|
20
20
|
# Validations
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
21
|
+
validates :name, presence: true, length: {minimum: 3, maximum: 250}
|
22
|
+
validates :feature_category, presence: true, length: {minimum: 2, maximum: 64}
|
25
23
|
|
26
24
|
# ------------------
|
27
25
|
# Class Methods
|
File without changes
|
File without changes
|
File without changes
|
@@ -103,7 +103,7 @@
|
|
103
103
|
|
104
104
|
<li class="">
|
105
105
|
<a href="#">
|
106
|
-
<i class="fa-
|
106
|
+
<i class="fa-user"></i>
|
107
107
|
<span class="title">Manage Users</span>
|
108
108
|
</a>
|
109
109
|
<ul>
|
@@ -161,7 +161,7 @@
|
|
161
161
|
<ul>
|
162
162
|
<li class="">
|
163
163
|
<a href="/docs/api/v1/register">
|
164
|
-
<i class="fa-
|
164
|
+
<i class="fa-user"></i>
|
165
165
|
<span class="title">Authentication APIs</span>
|
166
166
|
</a>
|
167
167
|
</li>
|
@@ -0,0 +1,25 @@
|
|
1
|
+
<footer class="main-footer sticky footer-type-1">
|
2
|
+
|
3
|
+
<div class="footer-inner">
|
4
|
+
|
5
|
+
<!-- Add your copyright text here -->
|
6
|
+
<div class="footer-text">
|
7
|
+
© 2017
|
8
|
+
<strong>Kuppayam</strong>
|
9
|
+
|
10
|
+
All rights reserved. <br>developed, maintained and hosted by <a href="http://rightsolutions.io" target="_blank" style="color:red">Right Solutions</a>
|
11
|
+
</div>
|
12
|
+
|
13
|
+
|
14
|
+
<!-- Go to Top Link, just add rel="go-top" to any link to add this functionality -->
|
15
|
+
<div class="go-up">
|
16
|
+
|
17
|
+
<a href="#" rel="go-top">
|
18
|
+
<i class="fa-angle-up"></i>
|
19
|
+
</a>
|
20
|
+
|
21
|
+
</div>
|
22
|
+
|
23
|
+
</div>
|
24
|
+
|
25
|
+
</footer>
|
@@ -0,0 +1,43 @@
|
|
1
|
+
<div class="top-bar">
|
2
|
+
<div class="top-bar-left">
|
3
|
+
<ul class="dropdown menu" data-dropdown-menu>
|
4
|
+
<li class="menu-text">Site Title</li>
|
5
|
+
<li>
|
6
|
+
<a href="#">One</a>
|
7
|
+
<ul class="menu vertical">
|
8
|
+
<li><a href="#">One</a></li>
|
9
|
+
<li><a href="#">Two</a></li>
|
10
|
+
<li><a href="#">Three</a></li>
|
11
|
+
</ul>
|
12
|
+
</li>
|
13
|
+
<li><a href="#">Two</a></li>
|
14
|
+
<li><a href="#">Three</a></li>
|
15
|
+
</ul>
|
16
|
+
</div>
|
17
|
+
<div class="top-bar-right">
|
18
|
+
<ul class="menu">
|
19
|
+
<li><input type="search" placeholder="Search"></li>
|
20
|
+
<li><button type="button" class="button">Search</button></li>
|
21
|
+
</ul>
|
22
|
+
</div>
|
23
|
+
</div>
|
24
|
+
|
25
|
+
<div class="header mb-40">
|
26
|
+
|
27
|
+
<div class="visible-xs pull-left mt-10">
|
28
|
+
<a href="#menu-toggle" class="btn btn-default" id="menu-toggle"><i class="fa fa-list"></i></a>
|
29
|
+
<%#= theme_button('', 'list', "#menu-toggle", btn_type: "default", id: "menu-toggle", classes: "") %>
|
30
|
+
</div>
|
31
|
+
|
32
|
+
<div class="pull-right mt-10">
|
33
|
+
<% if @current_user %>
|
34
|
+
<span style="color:#898989;">Welcome</span> <span style="color:#4b4b4b;"><%= @current_user.name %></span>
|
35
|
+
|
|
36
|
+
<%= link_to raw("Sign Out"), usman.sign_out_path, method: :delete %>
|
37
|
+
<% else %>
|
38
|
+
<%= link_to raw("Sign In"), "#" %>
|
39
|
+
<% end %>
|
40
|
+
</div>
|
41
|
+
<div class="cl-10"></div>
|
42
|
+
</div>
|
43
|
+
|
@@ -0,0 +1,55 @@
|
|
1
|
+
<nav class="navbar user-info-navbar" role="navigation"><!-- User Info, Notifications and Menu Bar -->
|
2
|
+
|
3
|
+
<!-- Left links for user info navbar -->
|
4
|
+
<ul class="user-info-menu left-links list-inline list-unstyled">
|
5
|
+
|
6
|
+
<li class="hidden-sm hidden-xs">
|
7
|
+
<a href="#" data-toggle="sidebar">
|
8
|
+
<i class="fa-bars"></i>
|
9
|
+
</a>
|
10
|
+
</li>
|
11
|
+
|
12
|
+
</ul>
|
13
|
+
|
14
|
+
<!-- Right links for user info navbar -->
|
15
|
+
<ul class="user-info-menu right-links list-inline list-unstyled">
|
16
|
+
<li class="dropdown user-profile">
|
17
|
+
<a href="#" class="dropdown-toggle" data-toggle="dropdown">
|
18
|
+
|
19
|
+
<%= display_image(@current_user, "profile_picture.image.small.url", width: "32", height: "auto", class: "img-circle img-inline userpic-32", alt: @current_user.display_name) %>
|
20
|
+
|
21
|
+
<span>
|
22
|
+
<%= @current_user.display_name %>
|
23
|
+
<i class="fa-angle-down"></i>
|
24
|
+
</span>
|
25
|
+
|
26
|
+
</a>
|
27
|
+
|
28
|
+
<ul class="dropdown-menu user-profile-menu list-unstyled">
|
29
|
+
<li>
|
30
|
+
<a href="#settings">
|
31
|
+
<i class="fa-wrench"></i>
|
32
|
+
Settings
|
33
|
+
</a>
|
34
|
+
</li>
|
35
|
+
<li>
|
36
|
+
<a href="#profile">
|
37
|
+
<i class="fa-user"></i>
|
38
|
+
Profile
|
39
|
+
</a>
|
40
|
+
</li>
|
41
|
+
<li>
|
42
|
+
<a href="#help">
|
43
|
+
<i class="fa-info"></i>
|
44
|
+
Help
|
45
|
+
</a>
|
46
|
+
</li>
|
47
|
+
<li class="last">
|
48
|
+
<%= link_to raw("<i class='fa-lock'></i>Sign Out"), usman.sign_out_path, method: :delete %>
|
49
|
+
</li>
|
50
|
+
</ul>
|
51
|
+
</li>
|
52
|
+
|
53
|
+
</ul>
|
54
|
+
|
55
|
+
</nav>
|
@@ -0,0 +1,175 @@
|
|
1
|
+
<%
|
2
|
+
user_items = {
|
3
|
+
users: {
|
4
|
+
text: "Manage Users",
|
5
|
+
icon_class: "fa-user",
|
6
|
+
url: usman.users_url,
|
7
|
+
has_permission: @current_user.has_read_permission?(User)
|
8
|
+
},
|
9
|
+
registrations: {
|
10
|
+
text: "Manage Registrations",
|
11
|
+
icon_class: "fa-mobile",
|
12
|
+
url: usman.registrations_url,
|
13
|
+
has_permission: @current_user.has_read_permission?(Registration)
|
14
|
+
},
|
15
|
+
roles: {
|
16
|
+
text: "Manage Roles",
|
17
|
+
icon_class: "fa-graduation-cap",
|
18
|
+
url: usman.roles_url,
|
19
|
+
has_permission: @current_user.has_read_permission?(Role)
|
20
|
+
},
|
21
|
+
permissions: {
|
22
|
+
text: "Manage Permissions",
|
23
|
+
icon_class: "fa-lock",
|
24
|
+
url: usman.permissions_url,
|
25
|
+
has_permission: @current_user.has_read_permission?(Permission)
|
26
|
+
}
|
27
|
+
}
|
28
|
+
%>
|
29
|
+
<%
|
30
|
+
configuration_items = {
|
31
|
+
features: {
|
32
|
+
text: "Manage Features",
|
33
|
+
icon_class: "fa-diamond",
|
34
|
+
url: usman.features_url,
|
35
|
+
has_permission: @current_user.has_read_permission?(Feature)
|
36
|
+
}
|
37
|
+
}
|
38
|
+
%>
|
39
|
+
<%
|
40
|
+
pattana_items = {
|
41
|
+
countries: {
|
42
|
+
text: "Manage Countries",
|
43
|
+
icon_class: "fa-flag-checkered",
|
44
|
+
url: pattana.countries_url,
|
45
|
+
has_permission: @current_user.has_read_permission?(Country)
|
46
|
+
},
|
47
|
+
regions: {
|
48
|
+
text: "Manage Regions",
|
49
|
+
icon_class: "fa-globe",
|
50
|
+
url: pattana.regions_url,
|
51
|
+
has_permission: @current_user.has_read_permission?(Region)
|
52
|
+
},
|
53
|
+
cities: {
|
54
|
+
text: "Manage Cities",
|
55
|
+
icon_class: "fa-map-marker",
|
56
|
+
url: pattana.cities_url,
|
57
|
+
has_permission: @current_user.has_read_permission?(City)
|
58
|
+
},
|
59
|
+
|
60
|
+
}
|
61
|
+
%>
|
62
|
+
|
63
|
+
<div class="sidebar-menu toggle-others collapsed">
|
64
|
+
|
65
|
+
<div class="sidebar-menu-inner">
|
66
|
+
|
67
|
+
<header class="logo-env">
|
68
|
+
<!-- logo -->
|
69
|
+
<div class="logo">
|
70
|
+
<a href="/" class="logo-expanded">
|
71
|
+
<%= image_tag("logo-white.png", width: "180") %>
|
72
|
+
</a>
|
73
|
+
<a href="/" class="logo-collapsed">
|
74
|
+
<%= image_tag("logo-small.png", width: "40") %>
|
75
|
+
</a>
|
76
|
+
</div>
|
77
|
+
|
78
|
+
<!-- This will toggle the mobile menu and will be visible only on mobile devices -->
|
79
|
+
<div class="mobile-menu-toggle visible-xs">
|
80
|
+
<!-- <a href="#" data-toggle="notifications-menu">
|
81
|
+
<i class="fa-bell-o"></i><span class="badge badge-success">7</span>
|
82
|
+
</a> -->
|
83
|
+
<a href="#" data-toggle="user-info-menu">
|
84
|
+
<%= display_image(@current_user, "profile_picture.image.small.url", width: "32", height: "auto", class: "img-circle img-inline userpic-32", alt: @current_user.display_name) %>
|
85
|
+
</a>
|
86
|
+
<a href="#" data-toggle="mobile-menu"><i class="fa-bars"></i></a>
|
87
|
+
</div>
|
88
|
+
</header>
|
89
|
+
|
90
|
+
<!-- add class "multiple-expanded" to allow multiple submenus to open -->
|
91
|
+
<!-- class "auto-inherit-active-class" will automatically add "active" class for parent elements who are marked already with class "active" -->
|
92
|
+
<ul id="main-menu" class="main-menu multiple-expanded auto-inherit-active-class">
|
93
|
+
<!-- Admin Dashboard -->
|
94
|
+
<% if @current_user.super_admin? || @current_user.has_role?("Site Admin") %>
|
95
|
+
<li class="<%= nav_active?('admin/dashboard') ? 'active' : '' %>">
|
96
|
+
<%= link_to raw("<i class=\"fa-desktop\"></i> <span class='title'>Dashboard</span>"), usman.dashboard_path %>
|
97
|
+
</li>
|
98
|
+
<% else %>
|
99
|
+
<li class="<%= nav_active?('profile/dashboard') ? 'active' : '' %>">
|
100
|
+
<%= link_to raw("<i class=\"fa-desktop\"></i> <span class='title'>Dashboard</span>"), usman.my_account_url %>
|
101
|
+
</li>
|
102
|
+
<% end %>
|
103
|
+
|
104
|
+
<li class="">
|
105
|
+
<a href="#">
|
106
|
+
<i class="fa-user"></i>
|
107
|
+
<span class="title">Manage Users</span>
|
108
|
+
</a>
|
109
|
+
<ul>
|
110
|
+
<% user_items.each do |key, values| %>
|
111
|
+
<% next unless values[:has_permission] %>
|
112
|
+
<li class="">
|
113
|
+
<%= link_to raw("<i class=\"#{values[:icon_class]}\"></i> <span class='title'>#{values[:text]}</span>"), values[:url] %>
|
114
|
+
</li>
|
115
|
+
<% end %>
|
116
|
+
</ul>
|
117
|
+
</li>
|
118
|
+
|
119
|
+
<li class="">
|
120
|
+
<a href="#">
|
121
|
+
<i class="fa-cog"></i>
|
122
|
+
<span class="title">Configure</span>
|
123
|
+
</a>
|
124
|
+
<ul>
|
125
|
+
<% configuration_items.each do |key, values| %>
|
126
|
+
<% next unless values[:has_permission] %>
|
127
|
+
<li class="">
|
128
|
+
<%= link_to raw("<i class=\"#{values[:icon_class]}\"></i> <span class='title'>#{values[:text]}</span>"), values[:url] %>
|
129
|
+
</li>
|
130
|
+
<% end %>
|
131
|
+
</ul>
|
132
|
+
</li>
|
133
|
+
|
134
|
+
<li class="">
|
135
|
+
<a href="#">
|
136
|
+
<i class="fa-globe"></i>
|
137
|
+
<span class="title">Manage Location</span>
|
138
|
+
</a>
|
139
|
+
<ul>
|
140
|
+
<% pattana_items.each do |key, values| %>
|
141
|
+
<% next unless values[:has_permission] %>
|
142
|
+
<li class="">
|
143
|
+
<%= link_to raw("<i class=\"#{values[:icon_class]}\"></i> <span class='title'>#{values[:text]}</span>"), values[:url] %>
|
144
|
+
</li>
|
145
|
+
<% end %>
|
146
|
+
</ul>
|
147
|
+
</li>
|
148
|
+
|
149
|
+
<li class="<%= nav_active?('profile/profile') ? 'active' : '' %>">
|
150
|
+
<a href="#"><i class="fa-user"></i><span class="title">My Account</span></a>
|
151
|
+
<ul>
|
152
|
+
<li class="<%= nav_class("profile/settings") %>">
|
153
|
+
<%= link_to raw("<i class=\"fa-cog\"></i> <span class='title'>User Settings</span>"), "#" %>
|
154
|
+
</li>
|
155
|
+
</ul>
|
156
|
+
</li>
|
157
|
+
|
158
|
+
<!-- API Documentation -->
|
159
|
+
<li class="<%= nav_active?('docs/index') ? 'active' : '' %>">
|
160
|
+
<a href="#"><i class="fa-file-code-o"></i><span class="title">API Documentation</span></a>
|
161
|
+
<ul>
|
162
|
+
<li class="">
|
163
|
+
<a href="/docs/api/v1/register">
|
164
|
+
<i class="fa-user"></i>
|
165
|
+
<span class="title">Authentication APIs</span>
|
166
|
+
</a>
|
167
|
+
</li>
|
168
|
+
</ul>
|
169
|
+
</li>
|
170
|
+
|
171
|
+
</ul>
|
172
|
+
|
173
|
+
</div>
|
174
|
+
|
175
|
+
</div>
|
File without changes
|
@@ -0,0 +1,40 @@
|
|
1
|
+
<%
|
2
|
+
usman_items = {
|
3
|
+
users: {
|
4
|
+
text: "Users",
|
5
|
+
icon_class: "fa-user",
|
6
|
+
url: usman.users_url,
|
7
|
+
has_permission: @current_user.has_read_permission?(User)
|
8
|
+
},
|
9
|
+
registrations: {
|
10
|
+
text: "Registrations",
|
11
|
+
icon_class: "fa-mobile",
|
12
|
+
url: usman.registrations_url,
|
13
|
+
has_permission: @current_user.has_read_permission?(Registration)
|
14
|
+
},
|
15
|
+
roles: {
|
16
|
+
text: "Roles",
|
17
|
+
icon_class: "fa-graduation-cap",
|
18
|
+
url: usman.roles_url,
|
19
|
+
has_permission: @current_user.has_read_permission?(Role)
|
20
|
+
},
|
21
|
+
permissions: {
|
22
|
+
text: "Permissions",
|
23
|
+
icon_class: "fa-lock",
|
24
|
+
url: usman.permissions_url,
|
25
|
+
has_permission: @current_user.has_read_permission?(Permission)
|
26
|
+
},
|
27
|
+
}
|
28
|
+
%>
|
29
|
+
|
30
|
+
<% if (usman_items.map{|x, y| y[:has_permission] }).compact.uniq.any? %>
|
31
|
+
|
32
|
+
<h3 class="text-gray mt-50 mb-10">
|
33
|
+
Manage User <br>
|
34
|
+
<small class="text-muted">Manage Users, Role and much more...</small>
|
35
|
+
</h3>
|
36
|
+
<hr class="mb-30" style="border-top:1px solid #ddd;">
|
37
|
+
|
38
|
+
<%= render partial: "/layouts/dashboard/bootstrap4/items", locals: { items: usman_items } %>
|
39
|
+
|
40
|
+
<% end %>
|
@@ -0,0 +1,22 @@
|
|
1
|
+
<%
|
2
|
+
super_admin_items = {
|
3
|
+
features: {
|
4
|
+
text: "Features",
|
5
|
+
icon_class: "fa-diamond",
|
6
|
+
url: usman.features_url,
|
7
|
+
has_permission: @current_user.has_read_permission?(Feature)
|
8
|
+
}
|
9
|
+
}
|
10
|
+
%>
|
11
|
+
|
12
|
+
<% if (super_admin_items.map{|x, y| y[:has_permission] }).compact.uniq.any? %>
|
13
|
+
|
14
|
+
<h3 class="text-gray mt-50 mb-10">
|
15
|
+
Configurations <br>
|
16
|
+
<small class="text-muted">Configure Features & Other Settings </small>
|
17
|
+
</h3>
|
18
|
+
<hr class="mb-30" style="border-top:1px solid #ddd;">
|
19
|
+
|
20
|
+
<%= render partial: "/layouts/dashboard/bootstrap4/items", locals: { items: super_admin_items } %>
|
21
|
+
|
22
|
+
<% end %>
|
@@ -0,0 +1,40 @@
|
|
1
|
+
<%
|
2
|
+
usman_items = {
|
3
|
+
users: {
|
4
|
+
text: "Users",
|
5
|
+
icon_class: "fa-user",
|
6
|
+
url: usman.users_url,
|
7
|
+
has_permission: @current_user.has_read_permission?(User)
|
8
|
+
},
|
9
|
+
registrations: {
|
10
|
+
text: "Registrations",
|
11
|
+
icon_class: "fa-mobile",
|
12
|
+
url: usman.registrations_url,
|
13
|
+
has_permission: @current_user.has_read_permission?(Registration)
|
14
|
+
},
|
15
|
+
roles: {
|
16
|
+
text: "Roles",
|
17
|
+
icon_class: "fa-graduation-cap",
|
18
|
+
url: usman.roles_url,
|
19
|
+
has_permission: @current_user.has_read_permission?(Role)
|
20
|
+
},
|
21
|
+
permissions: {
|
22
|
+
text: "Permissions",
|
23
|
+
icon_class: "fa-lock",
|
24
|
+
url: usman.permissions_url,
|
25
|
+
has_permission: @current_user.has_read_permission?(Permission)
|
26
|
+
},
|
27
|
+
}
|
28
|
+
%>
|
29
|
+
|
30
|
+
<% if (usman_items.map{|x, y| y[:has_permission] }).compact.uniq.any? %>
|
31
|
+
|
32
|
+
<h3 class="text-gray mt-50 mb-10">
|
33
|
+
Manage User <br>
|
34
|
+
<small class="text-muted">Manage Users, Role and much more...</small>
|
35
|
+
</h3>
|
36
|
+
<hr class="mb-30" style="border-top:1px solid #ddd;">
|
37
|
+
|
38
|
+
<%= render partial: "/layouts/dashboard/materialize/items", locals: { items: usman_items } %>
|
39
|
+
|
40
|
+
<% end %>
|
@@ -0,0 +1,22 @@
|
|
1
|
+
<%
|
2
|
+
super_admin_items = {
|
3
|
+
features: {
|
4
|
+
text: "Features",
|
5
|
+
icon_class: "fa-diamond",
|
6
|
+
url: usman.features_url,
|
7
|
+
has_permission: @current_user.has_read_permission?(Feature)
|
8
|
+
}
|
9
|
+
}
|
10
|
+
%>
|
11
|
+
|
12
|
+
<% if (super_admin_items.map{|x, y| y[:has_permission] }).compact.uniq.any? %>
|
13
|
+
|
14
|
+
<h3 class="text-gray mt-50 mb-10">
|
15
|
+
Configurations <br>
|
16
|
+
<small class="text-muted">Configure Features & Other Settings </small>
|
17
|
+
</h3>
|
18
|
+
<hr class="mb-30" style="border-top:1px solid #ddd;">
|
19
|
+
|
20
|
+
<%= render partial: "/layouts/dashboard/materialize/items", locals: { items: super_admin_items } %>
|
21
|
+
|
22
|
+
<% end %>
|
@@ -2,7 +2,7 @@
|
|
2
2
|
usman_items = {
|
3
3
|
users: {
|
4
4
|
text: "Users",
|
5
|
-
icon_class: "fa-
|
5
|
+
icon_class: "fa-user",
|
6
6
|
url: usman.users_url,
|
7
7
|
has_permission: @current_user.has_read_permission?(User)
|
8
8
|
},
|
@@ -35,6 +35,6 @@
|
|
35
35
|
</h3>
|
36
36
|
<hr class="mb-30" style="border-top:1px solid #ddd;">
|
37
37
|
|
38
|
-
<%= render partial: "/layouts/dashboard/items", locals: { items: usman_items } %>
|
38
|
+
<%= render partial: "/layouts/dashboard/xenon/items", locals: { items: usman_items } %>
|
39
39
|
|
40
40
|
<% end %>
|
data/app/views/usman/dashboard/{_super_admin_index.html.erb → xenon/_super_admin_index.html.erb}
RENAMED
@@ -17,6 +17,6 @@
|
|
17
17
|
</h3>
|
18
18
|
<hr class="mb-30" style="border-top:1px solid #ddd;">
|
19
19
|
|
20
|
-
<%= render partial: "/layouts/dashboard/items", locals: { items: super_admin_items } %>
|
20
|
+
<%= render partial: "/layouts/dashboard/xenon/items", locals: { items: super_admin_items } %>
|
21
21
|
|
22
22
|
<% end %>
|
@@ -6,6 +6,7 @@
|
|
6
6
|
|
7
7
|
<div class="form-inputs mb-30 mt-30">
|
8
8
|
<%= theme_form_field(@feature, :name, label: "Class Name") %>
|
9
|
+
<%= theme_form_field(@feature, :feature_category, label: "Feature Category") %>
|
9
10
|
<%= theme_form_field(@feature, :categorisable, required: false, html_options: {type: :checkbox}) %>
|
10
11
|
</div>
|
11
12
|
|
@@ -3,6 +3,11 @@
|
|
3
3
|
<div class="col-md-12">
|
4
4
|
|
5
5
|
<ul class="nav nav-tabs">
|
6
|
+
<% @feature_categories.uniq.each do |f| %>
|
7
|
+
<li class="<%= @feature_category == f ? 'active' : '' %>">
|
8
|
+
<%= link_to f, features_path(fc: f) %>
|
9
|
+
</li>
|
10
|
+
<% end %>
|
6
11
|
</ul>
|
7
12
|
<div class="tab-content">
|
8
13
|
<div class="tab-pane active">
|
@@ -20,6 +25,19 @@
|
|
20
25
|
<%= search_form_kuppayam(Feature, features_path, text: @filters[:query]) %>
|
21
26
|
</div>
|
22
27
|
</div>
|
28
|
+
|
29
|
+
<div class="row">
|
30
|
+
<div class="col-md-12">
|
31
|
+
<% @filter_ui_settings.each do |filter_name, options| %>
|
32
|
+
<% if options[:object_filter] == true %>
|
33
|
+
<%= report_object_filter(filter_name, options) %>
|
34
|
+
<% else %>
|
35
|
+
<%= report_filter(filter_name, options) %>
|
36
|
+
<% end %>
|
37
|
+
<% end %>
|
38
|
+
</div>
|
39
|
+
</div>
|
40
|
+
|
23
41
|
</div>
|
24
42
|
<%= clear_tag(10) %>
|
25
43
|
|
@@ -0,0 +1,23 @@
|
|
1
|
+
class AddFeatureCategoryToFeatures < ActiveRecord::Migration[5.1]
|
2
|
+
def change
|
3
|
+
add_column :features, :feature_category, :string, :null => false, :limit=>64, default: "Default"
|
4
|
+
Feature.update_all("feature_category = 'Default'")
|
5
|
+
|
6
|
+
Feature.where("").update_all("feature_category = 'Default'")
|
7
|
+
|
8
|
+
Feature.where("name like '%Dhatu%'").update_all("feature_category = 'Website Features'")
|
9
|
+
|
10
|
+
Feature.where("name like '%Promotion%'").update_all("feature_category = 'Marketing Features'")
|
11
|
+
Feature.where("name like '%Offer%'").update_all("feature_category = 'Marketing Features'")
|
12
|
+
Feature.where("name like '%Booking%'").update_all("feature_category = 'Marketing Features'")
|
13
|
+
Feature.where("name like '%Blog%'").update_all("feature_category = 'Marketing Features'")
|
14
|
+
|
15
|
+
Feature.where("name like '%User%'").update_all("feature_category = 'Admin'")
|
16
|
+
Feature.where("name like '%Role%'").update_all("feature_category = 'Admin'")
|
17
|
+
Feature.where("name like '%Permission%'").update_all("feature_category = 'Admin'")
|
18
|
+
Feature.where("name like '%Feature%'").update_all("feature_category = 'Admin'")
|
19
|
+
Feature.where("name like '%Country%' or name like '%Countries%'").update_all("feature_category = 'Admin'")
|
20
|
+
Feature.where("name like '%Region%'").update_all("feature_category = 'Admin'")
|
21
|
+
Feature.where("name like '%City%' or name like '%Cities%'").update_all("feature_category = 'Admin'")
|
22
|
+
end
|
23
|
+
end
|
data/lib/usman/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: usman
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.4.
|
4
|
+
version: 0.4.8.pre.materialize
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- kpvarma
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-05-
|
11
|
+
date: 2018-05-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -104,28 +104,28 @@ dependencies:
|
|
104
104
|
requirements:
|
105
105
|
- - ">="
|
106
106
|
- !ruby/object:Gem::Version
|
107
|
-
version: 0.2.
|
107
|
+
version: 0.2.8.pre.materialize
|
108
108
|
type: :runtime
|
109
109
|
prerelease: false
|
110
110
|
version_requirements: !ruby/object:Gem::Requirement
|
111
111
|
requirements:
|
112
112
|
- - ">="
|
113
113
|
- !ruby/object:Gem::Version
|
114
|
-
version: 0.2.
|
114
|
+
version: 0.2.8.pre.materialize
|
115
115
|
- !ruby/object:Gem::Dependency
|
116
116
|
name: pattana
|
117
117
|
requirement: !ruby/object:Gem::Requirement
|
118
118
|
requirements:
|
119
119
|
- - ">="
|
120
120
|
- !ruby/object:Gem::Version
|
121
|
-
version: 0.2.
|
121
|
+
version: 0.2.6.pre.materialize
|
122
122
|
type: :runtime
|
123
123
|
prerelease: false
|
124
124
|
version_requirements: !ruby/object:Gem::Requirement
|
125
125
|
requirements:
|
126
126
|
- - ">="
|
127
127
|
- !ruby/object:Gem::Version
|
128
|
-
version: 0.2.
|
128
|
+
version: 0.2.6.pre.materialize
|
129
129
|
- !ruby/object:Gem::Dependency
|
130
130
|
name: bcrypt
|
131
131
|
requirement: !ruby/object:Gem::Requirement
|
@@ -452,11 +452,15 @@ files:
|
|
452
452
|
- app/services/usman/sms_service.rb
|
453
453
|
- app/uploaders/feature_image_uploader.rb
|
454
454
|
- app/uploaders/profile_picture_uploader.rb
|
455
|
-
- app/views/layouts/kuppayam/_footer.html.erb
|
456
|
-
- app/views/layouts/kuppayam/_header.html.erb
|
457
|
-
- app/views/layouts/kuppayam/_navbar.html.erb
|
458
|
-
- app/views/layouts/kuppayam/_sidebar.html.erb
|
459
|
-
- app/views/layouts/kuppayam/
|
455
|
+
- app/views/layouts/kuppayam/materialize/_footer.html.erb
|
456
|
+
- app/views/layouts/kuppayam/materialize/_header.html.erb
|
457
|
+
- app/views/layouts/kuppayam/materialize/_navbar.html.erb
|
458
|
+
- app/views/layouts/kuppayam/materialize/_sidebar.html.erb
|
459
|
+
- app/views/layouts/kuppayam/xenon/_footer.html.erb
|
460
|
+
- app/views/layouts/kuppayam/xenon/_header.html.erb
|
461
|
+
- app/views/layouts/kuppayam/xenon/_navbar.html.erb
|
462
|
+
- app/views/layouts/kuppayam/xenon/_sidebar.html.erb
|
463
|
+
- app/views/layouts/kuppayam/xenon/profile.html.erb
|
460
464
|
- app/views/usman/api/v1/docs/accept_tac/_neg_case_1.html.erb
|
461
465
|
- app/views/usman/api/v1/docs/accept_tac/_neg_case_2.html.erb
|
462
466
|
- app/views/usman/api/v1/docs/accept_tac/_neg_case_3.html.erb
|
@@ -526,9 +530,13 @@ files:
|
|
526
530
|
- app/views/usman/api/v1/docs/verify_otp/_neg_case_4.html.erb
|
527
531
|
- app/views/usman/api/v1/docs/verify_otp/_pos_case_1.html.erb
|
528
532
|
- app/views/usman/api/v1/docs/verify_otp/_pos_case_2.html.erb
|
529
|
-
- app/views/usman/dashboard/_index.html.erb
|
530
|
-
- app/views/usman/dashboard/_super_admin_index.html.erb
|
533
|
+
- app/views/usman/dashboard/bootstrap4/_index.html.erb
|
534
|
+
- app/views/usman/dashboard/bootstrap4/_super_admin_index.html.erb
|
531
535
|
- app/views/usman/dashboard/index.html.erb
|
536
|
+
- app/views/usman/dashboard/materialize/_index.html.erb
|
537
|
+
- app/views/usman/dashboard/materialize/_super_admin_index.html.erb
|
538
|
+
- app/views/usman/dashboard/xenon/_index.html.erb
|
539
|
+
- app/views/usman/dashboard/xenon/_super_admin_index.html.erb
|
532
540
|
- app/views/usman/features/_form.html.erb
|
533
541
|
- app/views/usman/features/_index.html.erb
|
534
542
|
- app/views/usman/features/_permissions.html.erb
|
@@ -595,6 +603,7 @@ files:
|
|
595
603
|
- db/migrate/20170929083236_add_country_city_to_users.rb
|
596
604
|
- db/migrate/20171124071245_create_contacts.rb
|
597
605
|
- db/migrate/20171212094209_correct_contacts.rb
|
606
|
+
- db/migrate/20180515030422_add_feature_category_to_features.rb
|
598
607
|
- lib/tasks/usman/data.rake
|
599
608
|
- lib/tasks/usman/master_data.rake
|
600
609
|
- lib/temp/features.rake
|