alchemy_cms 7.0.10 → 7.0.12

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.

Potentially problematic release.


This version of alchemy_cms might be problematic. Click here for more details.

checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 03740f526e8baf73a62015e776b187264ab994a64237343fae75cd2f9f48eade
4
- data.tar.gz: 5e8acf12fa9aaccc71f62964f75138d2c759d8e4f927a8e090d63e289c583f17
3
+ metadata.gz: 82cd64dd71fa79871bc3bfbec5f7f13d3a12d8227fe2294c4ba2fe544ad98dcb
4
+ data.tar.gz: a30831a00b1afa326159f19d706352ddf43f0e0f4cb84e0fa7a2590b7e12435a
5
5
  SHA512:
6
- metadata.gz: ff2dacd727ac7cb03618af13a2b7fe518ac38eba5b0dc39c551410f1510347e5056a784294a80ec38d4334fc65c6c97d4cf0cda43b42fbddb64b8907eaa664f8
7
- data.tar.gz: 98beefe383887b24cdf7c2dd07544bba39e073f2e7a61163f3c59f41041f7502c73464a0a2392e84bb35e7ef125e66a75e2bd166cfc64308596e26e65f085a95
6
+ metadata.gz: 200987b061160915c554f377a735d6a590bc7d342bd7ebae9d133c0812440a731b1e9aa2b3566a6e241a32282fb19b6b4b1ff94fbf57261f1ae99f16060d0b91
7
+ data.tar.gz: 6dbe3f6fbf7cff9946245c405a5b5caa884872f7095d3da3b49a05bb500eb7c7a626bfe8968b9e7ab894f7e2db6d077eac87876f8ccc927d885a4d87d422e820
data/.gem_release.yml ADDED
@@ -0,0 +1,9 @@
1
+ bump:
2
+ file: lib/alchemy/version.rb
3
+ remote: upstream
4
+ version: patch
5
+ tag:
6
+ remote: upstream
7
+ release:
8
+ github: true
9
+ repo: AlchemyCMS/alchemy_cms
data/CHANGELOG.md CHANGED
@@ -1,5 +1,16 @@
1
1
  # Changelog
2
2
 
3
+ ## 7.0.12 (2024-04-12)
4
+
5
+ - [7.0-stable] Fix Ingredient Boolean View [#2837](https://github.com/AlchemyCMS/alchemy_cms/pull/2837) ([alchemycms-bot](https://github.com/alchemycms-bot))
6
+ - [7.0-stable] Nullify Ingredients::Page on Page destroy [#2830](https://github.com/AlchemyCMS/alchemy_cms/pull/2830) ([alchemycms-bot](https://github.com/alchemycms-bot))
7
+ - [7.0-stable] Fix module error [#2821](https://github.com/AlchemyCMS/alchemy_cms/pull/2821) ([alchemycms-bot](https://github.com/alchemycms-bot))
8
+ - [7.0-stable] Mark ingredient output as html_safe [#2781](https://github.com/AlchemyCMS/alchemy_cms/pull/2781) ([alchemycms-bot](https://github.com/alchemycms-bot))
9
+
10
+ ## 7.0.11 (2024-03-05)
11
+
12
+ - [7.0-stable] Do not include timezone in datepickers only displaying date [#2769](https://github.com/AlchemyCMS/alchemy_cms/pull/2769) ([tvdeyen](https://github.com/tvdeyen))
13
+
3
14
  ## 7.0.10 (2024-02-29)
4
15
 
5
16
  - [7.0-stable] Fix taggable uniqueness in tags admin table [#2763](https://github.com/AlchemyCMS/alchemy_cms/pull/2763) ([alchemycms-bot](https://github.com/alchemycms-bot))
@@ -4,7 +4,7 @@ module Alchemy
4
4
  def call
5
5
  content_tag(:audio, **html_options) do
6
6
  tag(:source, src: src, type: type)
7
- end
7
+ end.html_safe
8
8
  end
9
9
 
10
10
  def render?
@@ -16,7 +16,7 @@ module Alchemy
16
16
  end
17
17
 
18
18
  def call
19
- value
19
+ value.html_safe
20
20
  end
21
21
 
22
22
  def render?
@@ -2,7 +2,7 @@ module Alchemy
2
2
  module Ingredients
3
3
  class BooleanView < BaseView
4
4
  def call
5
- Alchemy.t(value, scope: "ingredient_values.boolean")
5
+ Alchemy.t(value.to_s, scope: "ingredient_values.boolean").html_safe
6
6
  end
7
7
 
8
8
  def render?
@@ -15,7 +15,7 @@ module Alchemy
15
15
  ingredient.value.to_s(:rfc822)
16
16
  else
17
17
  ::I18n.l(ingredient.value, format: date_format)
18
- end
18
+ end.html_safe
19
19
  end
20
20
  end
21
21
  end
@@ -23,7 +23,7 @@ module Alchemy
23
23
  class: ingredient.css_class.presence,
24
24
  title: ingredient.title.presence
25
25
  }.merge(html_options)
26
- )
26
+ ).html_safe
27
27
  end
28
28
 
29
29
  def render?
@@ -7,13 +7,22 @@ module Alchemy
7
7
  end
8
8
 
9
9
  def call
10
- content_tag "h#{@level || ingredient.level}",
11
- ingredient.value,
12
- id: ingredient.dom_id.presence,
13
- class: [
14
- ingredient.size ? "h#{ingredient.size}" : nil,
15
- html_options[:class]
16
- ]
10
+ content_tag tag_name, id: dom_id, class: css_classes do
11
+ ingredient.value
12
+ end.html_safe
13
+ end
14
+
15
+ private
16
+
17
+ def tag_name = "h#{@level || ingredient.level}"
18
+
19
+ def dom_id = ingredient.dom_id.presence
20
+
21
+ def css_classes
22
+ [
23
+ ingredient.size ? "h#{ingredient.size}" : nil,
24
+ html_options[:class]
25
+ ]
17
26
  end
18
27
  end
19
28
  end
@@ -12,7 +12,7 @@ module Alchemy
12
12
  end
13
13
 
14
14
  def call
15
- link_to(link_text, value, {target: link_target}.merge(html_options))
15
+ link_to(link_text, value, {target: link_target}.merge(html_options)).html_safe
16
16
  end
17
17
 
18
18
  private
@@ -4,7 +4,7 @@ module Alchemy
4
4
  delegate :page, to: :ingredient
5
5
 
6
6
  def call
7
- link_to page.name, alchemy.show_page_path(urlname: page.urlname)
7
+ link_to(page.name, alchemy.show_page_path(urlname: page.urlname)).html_safe
8
8
  end
9
9
 
10
10
  def render?
@@ -57,7 +57,7 @@ module Alchemy
57
57
  content_tag(:figure, output, {class: ingredient.css_class.presence}.merge(html_options))
58
58
  else
59
59
  output
60
- end
60
+ end.html_safe
61
61
  end
62
62
 
63
63
  private
@@ -15,7 +15,7 @@ module Alchemy
15
15
  ingredient.stripped_body
16
16
  else
17
17
  value.to_s.html_safe
18
- end
18
+ end.html_safe
19
19
  end
20
20
  end
21
21
  end
@@ -24,7 +24,7 @@ module Alchemy
24
24
  target: ((link_target == "blank") ? "_blank" : nil),
25
25
  data: {link_target: link_target}
26
26
  }.merge(html_options))
27
- end
27
+ end.html_safe
28
28
  end
29
29
 
30
30
  private
@@ -6,7 +6,7 @@ module Alchemy
6
6
  def call
7
7
  content_tag(:video, html_options) do
8
8
  tag(:source, src: src, type: attachment.file_mime_type)
9
- end
9
+ end.html_safe
10
10
  end
11
11
 
12
12
  def render?
@@ -12,6 +12,8 @@ export default function Datepicker(scope = document) {
12
12
  // Initializes the datepickers
13
13
  datepickerInputs.forEach((input) => {
14
14
  const type = input.dataset.datepickerType
15
+ const enableTime = /time/.test(type)
16
+
15
17
  const options = {
16
18
  // alchemy_i18n supports `zh_CN` etc., but flatpickr only has two-letter codes (`zh`)
17
19
  locale: Alchemy.locale.slice(0, 2),
@@ -19,7 +21,7 @@ export default function Datepicker(scope = document) {
19
21
  altFormat: Alchemy.t(`formats.${type}`),
20
22
  altInputClass: "flatpickr-input",
21
23
  dateFormat: "Z",
22
- enableTime: /time/.test(type),
24
+ enableTime,
23
25
  noCalendar: type === "time",
24
26
  time_24hr: Alchemy.t("formats.time_24hr"),
25
27
  onValueUpdate(_selectedDates, _dateStr, instance) {
@@ -28,6 +30,11 @@ export default function Datepicker(scope = document) {
28
30
  )
29
31
  }
30
32
  }
33
+
34
+ if (enableTime) {
35
+ options.dateFormat = "Z"
36
+ }
37
+
31
38
  flatpickr(input, options)
32
39
  })
33
40
  }
@@ -121,6 +121,8 @@ module Alchemy
121
121
  has_one :draft_version, -> { drafts }, class_name: "Alchemy::PageVersion"
122
122
  has_one :public_version, -> { published }, class_name: "Alchemy::PageVersion", autosave: -> { persisted? }
123
123
 
124
+ has_many :page_ingredients, class_name: "Alchemy::Ingredients::Page", foreign_key: :related_object_id, dependent: :nullify
125
+
124
126
  before_validation :set_language,
125
127
  if: -> { language.nil? }
126
128
 
@@ -35,7 +35,7 @@ module Alchemy
35
35
  defined_controllers.concat(definition_hash["navigation"]["sub_navigation"].map { |x| x["controller"] })
36
36
  end
37
37
 
38
- validate_controllers_existence(defined_controllers)
38
+ validate_controllers_existence(defined_controllers, definition_hash)
39
39
  end
40
40
 
41
41
  @@alchemy_modules |= [definition_hash]
@@ -43,7 +43,7 @@ module Alchemy
43
43
 
44
44
  private
45
45
 
46
- def validate_controllers_existence(controllers)
46
+ def validate_controllers_existence(controllers, definition_hash)
47
47
  controllers.each do |controller_val|
48
48
  next if controller_val.blank?
49
49
 
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Alchemy
4
- VERSION = "7.0.10"
4
+ VERSION = "7.0.12"
5
5
 
6
6
  def self.version
7
7
  VERSION
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: alchemy_cms
3
3
  version: !ruby/object:Gem::Version
4
- version: 7.0.10
4
+ version: 7.0.12
5
5
  platform: ruby
6
6
  authors:
7
7
  - Thomas von Deyen
@@ -13,7 +13,7 @@ authors:
13
13
  autorequire:
14
14
  bindir: bin
15
15
  cert_chain: []
16
- date: 2024-02-29 00:00:00.000000000 Z
16
+ date: 2024-04-12 00:00:00.000000000 Z
17
17
  dependencies:
18
18
  - !ruby/object:Gem::Dependency
19
19
  name: actionmailer
@@ -712,6 +712,7 @@ extra_rdoc_files: []
712
712
  files:
713
713
  - ".codeclimate.yml"
714
714
  - ".editorconfig"
715
+ - ".gem_release.yml"
715
716
  - ".github/FUNDING.yml"
716
717
  - ".github/ISSUE_TEMPLATE/Bug_report.md"
717
718
  - ".github/ISSUE_TEMPLATE/Feature_request.md"