usman 0.1.5dev3 → 0.1.5dev4
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/admin/users_controller.rb +1 -1
- data/app/helpers/usman/authentication_helper.rb +2 -2
- data/app/models/feature.rb +21 -8
- data/app/models/user.rb +28 -17
- data/app/models/usman/application_record.rb +1 -2
- data/app/views/usman/admin/users/_index.html.erb +1 -1
- data/app/views/usman/admin/users/_row.html.erb +1 -1
- data/app/views/usman/admin/users/index.html.erb +1 -1
- data/app/views/usman/sessions/_form.html.erb +1 -1
- data/lib/usman/version.rb +1 -1
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 908dce0296be6976f2db177e9586962af623052d
|
4
|
+
data.tar.gz: b5b7162ad3de55dc217bdb1057d27c2a87b0ca9d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f27ef6f08daeeade4c7d67e6f4408f9cd78cb275c4590388258f26eec4e0e0c7316f9a5c09b7aa3cb5d5c34b5518a296af2591813033989f2832350e1af9d5b7
|
7
|
+
data.tar.gz: a7e54900294fd49152a56307ad33725837f39b9ed1794ac747036650df08621ae3e7012d0eb310df8e4493e029c33d3ab197e51279613e60319eea2cc74de15f
|
@@ -59,7 +59,7 @@ module Usman
|
|
59
59
|
|
60
60
|
# Normal users should not be able to view super admins
|
61
61
|
# He should not be seeing admins even while searching
|
62
|
-
if @current_user.
|
62
|
+
if @current_user.super_admin?
|
63
63
|
@relation = @relation.where("super_admin IS #{@super_admin.to_s.upcase}") if @super_admin.nil? == false && @query.nil?
|
64
64
|
else
|
65
65
|
@relation = @relation.where("super_admin IS FALSE")
|
@@ -89,7 +89,7 @@ module Usman
|
|
89
89
|
redirect_or_popup_to_default_sign_in_page
|
90
90
|
return
|
91
91
|
else
|
92
|
-
@current_user.update_token if @current_user.token_about_to_expire?
|
92
|
+
@current_user.update_token! if @current_user.token_about_to_expire?
|
93
93
|
end
|
94
94
|
else
|
95
95
|
text = "#{I18n.t("authentication.permission_denied.heading")}: #{I18n.t("authentication.permission_denied.message")}"
|
@@ -102,7 +102,7 @@ module Usman
|
|
102
102
|
|
103
103
|
# This method is usually used as a before filter from admin controllers to ensure that the logged in user is a super admin
|
104
104
|
def require_super_admin
|
105
|
-
unless @current_user.
|
105
|
+
unless @current_user.super_admin?
|
106
106
|
text = "#{I18n.t("authentication.permission_denied.heading")}: #{I18n.t("authentication.permission_denied.message")}"
|
107
107
|
set_flash_message(text, :error, false) if defined?(flash) && flash
|
108
108
|
|
data/app/models/feature.rb
CHANGED
@@ -23,7 +23,7 @@ class Feature < Usman::ApplicationRecord
|
|
23
23
|
has_one :feature_image, :as => :imageable, :dependent => :destroy, :class_name => "Image::FeatureImage"
|
24
24
|
|
25
25
|
# Validations
|
26
|
-
validates :name, presence: true
|
26
|
+
validates :name, presence: true, length: {minimum: 3, maximum: 250}
|
27
27
|
validates :status, :presence => true, :inclusion => {:in => STATUS.keys, :presence_of => :status, :message => "%{value} is not a valid status" }
|
28
28
|
|
29
29
|
# ------------------
|
@@ -67,13 +67,12 @@ class Feature < Usman::ApplicationRecord
|
|
67
67
|
return error_object
|
68
68
|
end
|
69
69
|
|
70
|
-
#
|
71
|
-
#
|
72
|
-
#
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
end
|
70
|
+
# ------------------
|
71
|
+
# Instance Methods
|
72
|
+
# ------------------
|
73
|
+
|
74
|
+
# Status Methods
|
75
|
+
# --------------
|
77
76
|
|
78
77
|
# * Return true if the user is not published, else false.
|
79
78
|
# == Examples
|
@@ -126,6 +125,9 @@ class Feature < Usman::ApplicationRecord
|
|
126
125
|
self.update_attribute(:status, DISABLED)
|
127
126
|
end
|
128
127
|
|
128
|
+
# Permission Methods
|
129
|
+
# ------------------
|
130
|
+
|
129
131
|
def can_be_destroyed?
|
130
132
|
return true
|
131
133
|
end
|
@@ -141,5 +143,16 @@ class Feature < Usman::ApplicationRecord
|
|
141
143
|
def can_be_removed?
|
142
144
|
published? or unpublished? or disabled?
|
143
145
|
end
|
146
|
+
|
147
|
+
# Other Methods
|
148
|
+
# -------------
|
149
|
+
|
150
|
+
# * Return full name
|
151
|
+
# == Examples
|
152
|
+
# >>> feature.display_name
|
153
|
+
# => "Products"
|
154
|
+
def display_name
|
155
|
+
"#{name}"
|
156
|
+
end
|
144
157
|
|
145
158
|
end
|
data/app/models/user.rb
CHANGED
@@ -25,7 +25,7 @@ class User < Usman::ApplicationRecord
|
|
25
25
|
SESSION_TIME_OUT = 120.minutes
|
26
26
|
|
27
27
|
# Validations
|
28
|
-
validates :name, presence: true
|
28
|
+
validates :name, presence: true, length: {minimum: 3, maximum: 250}
|
29
29
|
validate_username :username
|
30
30
|
validate_email :email
|
31
31
|
validate_password :password, condition_method: :should_validate_password?
|
@@ -105,14 +105,9 @@ class User < Usman::ApplicationRecord
|
|
105
105
|
# ------------------
|
106
106
|
# Instance variables
|
107
107
|
# ------------------
|
108
|
-
|
109
|
-
#
|
110
|
-
#
|
111
|
-
# >>> user.display_name
|
112
|
-
# => "Joe Black"
|
113
|
-
def display_name
|
114
|
-
"#{name}"
|
115
|
-
end
|
108
|
+
|
109
|
+
# Status Methods
|
110
|
+
# --------------
|
116
111
|
|
117
112
|
# * Return true if the user is not approved, else false.
|
118
113
|
# == Examples
|
@@ -165,9 +160,8 @@ class User < Usman::ApplicationRecord
|
|
165
160
|
self.update_attribute(:status, SUSPENDED)
|
166
161
|
end
|
167
162
|
|
168
|
-
|
169
|
-
|
170
|
-
end
|
163
|
+
# Authentication Methods
|
164
|
+
# ----------------------
|
171
165
|
|
172
166
|
def start_session
|
173
167
|
# FIX ME - specs are not written to ensure that all these data are saved
|
@@ -185,11 +179,12 @@ class User < Usman::ApplicationRecord
|
|
185
179
|
|
186
180
|
def end_session
|
187
181
|
# Reseting the auth token for user when he logs out.
|
182
|
+
# Resetting the token_created_at to nil
|
188
183
|
# (Time.now - 1.second)
|
189
184
|
self.update_attributes auth_token: SecureRandom.hex, token_created_at: nil
|
190
185
|
end
|
191
186
|
|
192
|
-
def update_token
|
187
|
+
def update_token!
|
193
188
|
self.update_attribute(:token_created_at, Time.now)
|
194
189
|
end
|
195
190
|
|
@@ -215,9 +210,8 @@ class User < Usman::ApplicationRecord
|
|
215
210
|
self.reset_password_sent_at = Time.now unless self.reset_password_sent_at
|
216
211
|
end
|
217
212
|
|
218
|
-
|
219
|
-
|
220
|
-
end
|
213
|
+
# Permission Methods
|
214
|
+
# ------------------
|
221
215
|
|
222
216
|
def set_permission(feature_name, **options)
|
223
217
|
options.reverse_merge!(
|
@@ -282,6 +276,9 @@ class User < Usman::ApplicationRecord
|
|
282
276
|
!suspended?
|
283
277
|
end
|
284
278
|
|
279
|
+
# Role Methods
|
280
|
+
# ------------
|
281
|
+
|
285
282
|
def add_role(role)
|
286
283
|
return false unless self.approved?
|
287
284
|
role = Role.find_by_name(role) if role.is_a?(String)
|
@@ -306,7 +303,21 @@ class User < Usman::ApplicationRecord
|
|
306
303
|
else
|
307
304
|
return false
|
308
305
|
end
|
309
|
-
|
306
|
+
end
|
307
|
+
|
308
|
+
# Other Methods
|
309
|
+
# -------------
|
310
|
+
|
311
|
+
# * Return full name
|
312
|
+
# == Examples
|
313
|
+
# >>> user.display_name
|
314
|
+
# => "Joe Black"
|
315
|
+
def display_name
|
316
|
+
"#{name}"
|
317
|
+
end
|
318
|
+
|
319
|
+
def default_image_url(size="small")
|
320
|
+
"/assets/kuppayam/defaults/user-#{size}.png"
|
310
321
|
end
|
311
322
|
|
312
323
|
private
|
@@ -44,7 +44,7 @@
|
|
44
44
|
|
45
45
|
<td class="hidden-xs hidden-sm"><%= link_to user.email, admin_user_path(user), remote: true, class: "email" %></td>
|
46
46
|
|
47
|
-
<% if @current_user.
|
47
|
+
<% if @current_user.super_admin? %>
|
48
48
|
<td class="hidden-xs hidden-sm">
|
49
49
|
<% if user.super_admin? %>
|
50
50
|
<span class="mr-10 mt-5 label label-warning">Super Admin</span>
|
@@ -27,7 +27,7 @@
|
|
27
27
|
|
28
28
|
<td class="hidden-xs hidden-sm"><%= link_to user.email, admin_user_path(user), remote: true, class: "email" %></td>
|
29
29
|
|
30
|
-
<% if @current_user.
|
30
|
+
<% if @current_user.super_admin? %>
|
31
31
|
<td class="hidden-xs hidden-sm">
|
32
32
|
<% if user.super_admin %>
|
33
33
|
<span class="mr-10 mt-5 label label-warning">Super Admin</span>
|
@@ -4,7 +4,7 @@
|
|
4
4
|
<ul class="nav nav-tabs">
|
5
5
|
|
6
6
|
<%# Show Admin tab only for admins %>
|
7
|
-
<% if @current_user.
|
7
|
+
<% if @current_user.super_admin? %>
|
8
8
|
<li class="<%= @super_admin == false ? 'active' : '' %>">
|
9
9
|
<%= link_to "Users", admin_users_path(sa: '0') %>
|
10
10
|
</li>
|
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.1.
|
4
|
+
version: 0.1.5dev4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- kpvarma
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-04-
|
11
|
+
date: 2017-04-12 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -90,14 +90,14 @@ dependencies:
|
|
90
90
|
requirements:
|
91
91
|
- - "~>"
|
92
92
|
- !ruby/object:Gem::Version
|
93
|
-
version: 0.1.
|
93
|
+
version: 0.1.5dev4
|
94
94
|
type: :runtime
|
95
95
|
prerelease: false
|
96
96
|
version_requirements: !ruby/object:Gem::Requirement
|
97
97
|
requirements:
|
98
98
|
- - "~>"
|
99
99
|
- !ruby/object:Gem::Version
|
100
|
-
version: 0.1.
|
100
|
+
version: 0.1.5dev4
|
101
101
|
- !ruby/object:Gem::Dependency
|
102
102
|
name: bcrypt
|
103
103
|
requirement: !ruby/object:Gem::Requirement
|