web47core 3.2.3.28 → 3.2.3.30
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/helpers/core_application_helper.rb +10 -2
- data/app/helpers/core_data_grid_helper.rb +1 -1
- data/lib/app/models/concerns/api_tokenable.rb +1 -1
- data/lib/app/models/concerns/core_system_configuration.rb +3 -0
- data/lib/app/models/concerns/slack_configuration.rb +1 -1
- data/lib/app/models/concerns/switchboard_configuration.rb +1 -1
- data/lib/app/models/concerns/zendesk_configuration.rb +1 -1
- data/lib/app/validators/http_url_validator.rb +20 -0
- data/lib/web47core/version.rb +1 -1
- data/lib/web47core.rb +1 -0
- metadata +17 -30
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 2f2f736da8b94ec286fb7f058993c995c47eca9f0b31e32bf9ce836aa77f70c3
|
|
4
|
+
data.tar.gz: 94a764cdd7e74c7a28d91855b69b646572405d035954f36ef13c0967cf6c3f13
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 658278516a6ad09337c857bd2ad2e4fbf1ee32881890d06034d003778dad2cd46ab24934ea8237962f7a1c9d917800a9922f7f338a228b640e520a0c4fcd33fc
|
|
7
|
+
data.tar.gz: a485be8d18a431e76ff5887ec0e8c739a597cd1fb67c431c7668383e51788c56f05a3b1823477800dea7cc250ded36fe5614c55b88f2b1fe895d1d5950dd6d20
|
|
@@ -5,17 +5,25 @@
|
|
|
5
5
|
#
|
|
6
6
|
module CoreApplicationHelper
|
|
7
7
|
# @abstract Return the current user
|
|
8
|
-
# @return [User] - The current user that is logged in
|
|
8
|
+
# @return [User, nil] - The current user that is logged in
|
|
9
9
|
def current_user
|
|
10
10
|
@current_user
|
|
11
11
|
end
|
|
12
12
|
|
|
13
13
|
# @abstract Return the current member
|
|
14
|
-
# @return [Member] - The current user that is logged in
|
|
14
|
+
# @return [Member, nil] - The current user that is logged in
|
|
15
15
|
def current_member
|
|
16
16
|
@current_member
|
|
17
17
|
end
|
|
18
18
|
|
|
19
|
+
# @abstract return the user or member depending on configuration
|
|
20
|
+
# @return [Member, User, nil]
|
|
21
|
+
def current_member_user
|
|
22
|
+
send("current_#{Web47core.audit_model}")
|
|
23
|
+
rescue StandardError
|
|
24
|
+
current_user || current_member
|
|
25
|
+
end
|
|
26
|
+
|
|
19
27
|
# @abstract Return the referrer url without deleting it out of the session
|
|
20
28
|
# @param [String] default_url - The URL to use if the referrer session is not there
|
|
21
29
|
# @return [String] the session[:referrer] or the default_url if not found
|
|
@@ -47,7 +47,7 @@ module CoreDataGridHelper
|
|
|
47
47
|
when Mongoid::Boolean
|
|
48
48
|
value ? 'Yes' : 'No'
|
|
49
49
|
when Date, DateTime, Time
|
|
50
|
-
|
|
50
|
+
current_member_user&.local_time(value, :medium) || value.to_s
|
|
51
51
|
when Integer, Array
|
|
52
52
|
value.to_s
|
|
53
53
|
when String
|
|
@@ -17,7 +17,7 @@ module ApiTokenable
|
|
|
17
17
|
# call back to reset the api token.
|
|
18
18
|
before_save :assign_api_token, if: :reset_api_token
|
|
19
19
|
# set the index on api token
|
|
20
|
-
index({ api_token:
|
|
20
|
+
index({ api_token: Mongo::Index::ASCENDING }, background: true)
|
|
21
21
|
|
|
22
22
|
def cycle_api_token
|
|
23
23
|
set api_token: SecureRandom.urlsafe_base64
|
|
@@ -43,6 +43,9 @@ module CoreSystemConfiguration
|
|
|
43
43
|
#
|
|
44
44
|
validates :environment, presence: true, uniqueness: true
|
|
45
45
|
validates :default_time_zone, presence: true
|
|
46
|
+
validates :base_url, http_url: true
|
|
47
|
+
validates :cdn_url, http_url: true
|
|
48
|
+
validates :asset_cdn_url, http_url: true
|
|
46
49
|
end
|
|
47
50
|
base.extend ClassMethods
|
|
48
51
|
end
|
|
@@ -18,7 +18,7 @@ module SlackConfiguration
|
|
|
18
18
|
#
|
|
19
19
|
# Validations
|
|
20
20
|
#
|
|
21
|
-
validates :slack_api_url,
|
|
21
|
+
validates :slack_api_url, http_url: true, allow_blank: true
|
|
22
22
|
validates :slack_support_channel, presence: true
|
|
23
23
|
validates :slack_sales_channel, presence: true
|
|
24
24
|
end
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# Validator for ensuring that an attribute contains a valid HTTP or HTTPS URL.
|
|
2
|
+
# Uses URI.parse to verify the scheme and the presence of a host.
|
|
3
|
+
class HttpUrlValidator < ActiveModel::EachValidator
|
|
4
|
+
|
|
5
|
+
# Validates the format of the URL provided in the attribute.
|
|
6
|
+
#
|
|
7
|
+
# @param record [ActiveModel::Model] The record being validated.
|
|
8
|
+
# @param attribute [Symbol] The name of the attribute being validated.
|
|
9
|
+
# @param value [Object] The value of the attribute to check.
|
|
10
|
+
def validate_each(record, attribute, value)
|
|
11
|
+
return if value.blank?
|
|
12
|
+
|
|
13
|
+
uri = URI.parse(value)
|
|
14
|
+
return if uri.is_a?(URI::HTTP) && uri.host.present?
|
|
15
|
+
|
|
16
|
+
record.errors.add(attribute, "is not a valid URL")
|
|
17
|
+
rescue URI::InvalidURIError
|
|
18
|
+
record.errors.add(attribute, "is not a valid URL")
|
|
19
|
+
end
|
|
20
|
+
end
|
data/lib/web47core/version.rb
CHANGED
data/lib/web47core.rb
CHANGED
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: web47core
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 3.2.3.
|
|
4
|
+
version: 3.2.3.30
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Chris Schroeder
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2026-01-18 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: activemodel
|
|
@@ -192,34 +192,6 @@ dependencies:
|
|
|
192
192
|
- - ">="
|
|
193
193
|
- !ruby/object:Gem::Version
|
|
194
194
|
version: '0'
|
|
195
|
-
- !ruby/object:Gem::Dependency
|
|
196
|
-
name: validate_url
|
|
197
|
-
requirement: !ruby/object:Gem::Requirement
|
|
198
|
-
requirements:
|
|
199
|
-
- - ">="
|
|
200
|
-
- !ruby/object:Gem::Version
|
|
201
|
-
version: '0'
|
|
202
|
-
type: :runtime
|
|
203
|
-
prerelease: false
|
|
204
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
205
|
-
requirements:
|
|
206
|
-
- - ">="
|
|
207
|
-
- !ruby/object:Gem::Version
|
|
208
|
-
version: '0'
|
|
209
|
-
- !ruby/object:Gem::Dependency
|
|
210
|
-
name: valid_url
|
|
211
|
-
requirement: !ruby/object:Gem::Requirement
|
|
212
|
-
requirements:
|
|
213
|
-
- - ">="
|
|
214
|
-
- !ruby/object:Gem::Version
|
|
215
|
-
version: '0'
|
|
216
|
-
type: :runtime
|
|
217
|
-
prerelease: false
|
|
218
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
219
|
-
requirements:
|
|
220
|
-
- - ">="
|
|
221
|
-
- !ruby/object:Gem::Version
|
|
222
|
-
version: '0'
|
|
223
195
|
- !ruby/object:Gem::Dependency
|
|
224
196
|
name: aws-sdk-ecs
|
|
225
197
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -416,6 +388,20 @@ dependencies:
|
|
|
416
388
|
- - ">="
|
|
417
389
|
- !ruby/object:Gem::Version
|
|
418
390
|
version: '0'
|
|
391
|
+
- !ruby/object:Gem::Dependency
|
|
392
|
+
name: rubocop
|
|
393
|
+
requirement: !ruby/object:Gem::Requirement
|
|
394
|
+
requirements:
|
|
395
|
+
- - ">="
|
|
396
|
+
- !ruby/object:Gem::Version
|
|
397
|
+
version: '0'
|
|
398
|
+
type: :development
|
|
399
|
+
prerelease: false
|
|
400
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
401
|
+
requirements:
|
|
402
|
+
- - ">="
|
|
403
|
+
- !ruby/object:Gem::Version
|
|
404
|
+
version: '0'
|
|
419
405
|
- !ruby/object:Gem::Dependency
|
|
420
406
|
name: shoulda
|
|
421
407
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -6621,6 +6607,7 @@ files:
|
|
|
6621
6607
|
- lib/app/models/user_audit_log.rb
|
|
6622
6608
|
- lib/app/models/user_model_audit_log.rb
|
|
6623
6609
|
- lib/app/validators/email_format_validator.rb
|
|
6610
|
+
- lib/app/validators/http_url_validator.rb
|
|
6624
6611
|
- lib/merge_coverage.rb
|
|
6625
6612
|
- lib/templates/email/notification_failure.liquid
|
|
6626
6613
|
- lib/templates/email/notification_failure.subject.liquid
|