web47core 3.2.3.27 → 3.2.3.29

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 81b8ef76b5902c84baaf31f91abbc7580e89d6b7e858891996debdc5be285be9
4
- data.tar.gz: cd2526dd341085fba1c0afe692ac48ae68d080003e144cd0965f95c17923cb9f
3
+ metadata.gz: da5eed78b518a4431c3c388673c767af0fe35ca33395656d37515a369d97bed5
4
+ data.tar.gz: 5970b5bf1240b5672761df3509eb33b50191fc8ef28246aa471ce5b34c5f4303
5
5
  SHA512:
6
- metadata.gz: 84e30c300ea6a6d2f47314ac71ea5099ce859ba078d24a8c9808cd8cd18a36e249eaf4db5238cf60205cf6385e0c4cab034507d6dba25cccca8e3086b96fda45
7
- data.tar.gz: a85b4f138e901296b023d4977bc6f4d89d114c282e4c0ded09ef6e4e4b298d16a6b404e8d0f75c48daf5c133f8c82eb483accc9bfe28356ca024a1806cffe6ad
6
+ metadata.gz: 3cfbd7379b539f47a66b25103f1b94b6b3fa41be032fc596c94ef48485bfba803c89f5e47cf0346057ed71d028dd8ebf72e541f9de3a1be0faf5f9060b7d619a
7
+ data.tar.gz: b7e01bda72d4461e54881206ca07be39d37724cb5a9d8a909540e638439c1a983398e5f376e99606af7ee34080d57877e33df980d442f1f03ff9bd6483e4006a
@@ -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
@@ -0,0 +1,59 @@
1
+ module CoreDataGridHelper
2
+ def data_grid_tag(model, fields: [], except: [])
3
+ fields = model.class.allowed_param_names(except) + model.class::STANDARD_FIELDS if fields.blank?
4
+
5
+ content_tag(:div, class: 'datagrid') do
6
+ fields.sort.each do |field|
7
+ next if %w[_id _type].include?(field)
8
+ next unless model.respond_to?(field)
9
+ next if model.send(field).blank?
10
+
11
+ concat(data_grid_item(field, data_grid_field_value(model, field)))
12
+ end
13
+ end
14
+
15
+ end
16
+
17
+ def data_grid_item(title, content)
18
+ content_tag(:div, class: 'datagrid-item') do
19
+ concat(content_tag(:div, class: 'datagrid-title') { title })
20
+ concat(content_tag(:div, class: 'datagrid-content') { content })
21
+ end
22
+ end
23
+
24
+ def data_grid_url(title, url)
25
+ url = content_tag(:a, href: url) { url }
26
+ data_grid_item(title, url)
27
+ end
28
+
29
+ def data_grid_mask(title, secret_content)
30
+ data_grid_item(title, mask_value(secret_content))
31
+ end
32
+
33
+ def data_grid_field_value(model, field_name)
34
+ value = model.respond_to?(field_name) ? model.send(field_name) : nil
35
+ case value
36
+ when BSON::ObjectId
37
+ if field_name.eql?('_id')
38
+ value.to_s
39
+ else
40
+ related_model = fetch_related_model(model, field_name.chomp('_id'))
41
+ related_model.present? ? related_model.name : 'N/A'
42
+ end
43
+ when FalseClass
44
+ 'No'
45
+ when TrueClass
46
+ 'Yes'
47
+ when Mongoid::Boolean
48
+ value ? 'Yes' : 'No'
49
+ when Date, DateTime, Time
50
+ current_member_user&.local_time(value, :medium) || value.to_s
51
+ when Integer, Array
52
+ value.to_s
53
+ when String
54
+ value
55
+ else
56
+ 'N/S'
57
+ end
58
+ end
59
+ end
@@ -34,7 +34,7 @@ module CoreMenuHelper
34
34
  def menu_link(name, action_path, classes: [], badge_count: 0, icon_name: '')
35
35
  classes << 'menu-link'
36
36
  content_tag(:a, href: action_path, class: classes.join(' ')) do
37
- concat(menu_remix_icon(icon_name)) if icon_name.present?
37
+ concat(svg_icon(icon_name)) if icon_name.present?
38
38
  concat(menu_name(name))
39
39
  concat(menu_count_badge(name, badge_count)) if badge_count.positive?
40
40
  end
@@ -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: 1 }, background: true)
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
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Web47core
4
- VERSION = '3.2.3.27'
4
+ VERSION = '3.2.3.29'
5
5
  end
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.27
4
+ version: 3.2.3.29
5
5
  platform: ruby
6
6
  authors:
7
7
  - Chris Schroeder
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2025-12-19 00:00:00.000000000 Z
11
+ date: 2025-12-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activemodel
@@ -536,6 +536,7 @@ files:
536
536
  - app/helpers/core_avatar_helper.rb
537
537
  - app/helpers/core_breadcrumb_helper.rb
538
538
  - app/helpers/core_card_nav_items_helper.rb
539
+ - app/helpers/core_data_grid_helper.rb
539
540
  - app/helpers/core_dropdown_helper.rb
540
541
  - app/helpers/core_flash_toast_helper.rb
541
542
  - app/helpers/core_floating_action_button_helper.rb