alchemy_cms 7.0.10 → 7.0.12

Sign up to get free protection for your applications and to get access to all the features.
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"