alchemy_cms 4.4.1 → 4.4.2

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: cfa2cfba392b4282fab17dcd0baf419c2ad6204a4a62eb542fa589a5047cc518
4
- data.tar.gz: bc7456380f3bb098ea641066c58afaf2d7d38afea8d7278dcbbdee7c66d10cdb
3
+ metadata.gz: ae4ec24167d52bce7dd695bff45480caea2bdc319b2ade53f0ce1e1765c8f2ec
4
+ data.tar.gz: fea9390ea760a741269c9115c41090bfd0052705bbb161cb110295a390f84343
5
5
  SHA512:
6
- metadata.gz: 67f12a17d5b5a483d2054934f2dbc4808748dfa0a437ebb93048fcbecd6af35dc76c657198d0072728afeb7b5c87df84cdec2c1ba1dc48b2056c999251003741
7
- data.tar.gz: 77760e2ffc8287532502ad93e55e738fcaddf67e09d4f7ffbf7405648e0d265be8f6dc1ad29a90ec40361a8cdceec17033a436e405f14b923422cf5d3a5f3066
6
+ metadata.gz: 5e2b632ebbc2222d6664d0b9e315d978df3840968e90570da00f89226427aa21465ac7fb17f350a21e976f928a84ec32b6476c4cd769791fdfc7ad774456c32b
7
+ data.tar.gz: 74f98bf1fdf3301ae10af181414c49819945ba10b41abf5a0f993fb00606aa866e7fd4ae1c8a15b1808e2e3734e94d5954a889836f043f66d77ace3e71d1f395
@@ -0,0 +1,18 @@
1
+ ## What is this pull request for?
2
+
3
+ Describe you pull request here...
4
+
5
+ Closes #<issue number> (Remove if not related to any issue)
6
+
7
+ ### Notable changes (remove if none)
8
+
9
+ Explain any changes (maybe breaking?) that have been made.
10
+
11
+ ### Screenshots
12
+
13
+ Remove if no visual changes have been made.
14
+
15
+ ## Checklist
16
+ - [ ] I have followed [Pull Request guidelines](https://github.com/AlchemyCMS/alchemy_cms/blob/master/CONTRIBUTING.md)
17
+ - [ ] I have added a detailed description into each commit message
18
+ - [ ] I have added tests to cover this change
@@ -20,14 +20,18 @@ jobs:
20
20
  env:
21
21
  DB: ${{ matrix.database }}
22
22
  MYSQL_PASSWORD: root
23
- PGHOST: 127.0.0.1
24
- PGUSER: postgres
23
+ POSTGRES_USER: postgres
24
+ POSTGRES_PASSWORD: password
25
25
  RAILS_ENV: test
26
26
  RAILS_VERSION: ${{ matrix.rails }}
27
27
  CC_TEST_REPORTER_ID: bca4349e32f97919210ac8a450b04904b90683fcdd57d65a22c0f5065482bc22
28
28
  services:
29
29
  postgres:
30
- image: postgres:10
30
+ image: postgres:11
31
+ env:
32
+ POSTGRES_USER: postgres
33
+ POSTGRES_PASSWORD: password
34
+ POSTGRES_DB: alchemy_cms_dummy_test
31
35
  ports: ['5432:5432']
32
36
  options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5
33
37
  steps:
@@ -0,0 +1,13 @@
1
+ name: Greetings
2
+
3
+ on: [pull_request, issues]
4
+
5
+ jobs:
6
+ greeting:
7
+ runs-on: ubuntu-latest
8
+ steps:
9
+ - uses: actions/first-interaction@v1
10
+ with:
11
+ repo-token: ${{ secrets.GITHUB_TOKEN }}
12
+ issue-message: 'Hey. Thanks for reporting this issue and welcome to AlchemyCMS. The maintainer have been notified. Please be patient while waiting for an answer. Open Source is done by volunteers, so give them some time to react. Meanwhile please think about sending a PR that fixes this issue. It is way more likely that it will be accepted than this bug fixed for you. Remember OpenSource is done by all of us. Again, thanks for reporting.'
13
+ pr-message: 'Hey. Thanks for sending this PR. It is very much appreciated. Please be patient and give the maintainers some time to review your work. Meanwhile make sure that the PR meets our [contributing guidelines](https://github.com/AlchemyCMS/alchemy_cms/blob/master/CONTRIBUTING.md). This mostly means [great commit messages](https://chris.beams.io/posts/git-commit/) and adding tests. Thanks again for your contribution. Your help makes Alchemy better.'
@@ -0,0 +1,17 @@
1
+ name: Mark stale issues and pull requests
2
+
3
+ on:
4
+ schedule:
5
+ - cron: "0 0 * * *"
6
+
7
+ jobs:
8
+ stale:
9
+
10
+ runs-on: ubuntu-latest
11
+
12
+ steps:
13
+ - uses: actions/stale@v1
14
+ with:
15
+ repo-token: ${{ secrets.GITHUB_TOKEN }}
16
+ stale-issue-message: 'This issue has not seen any activity in a long time. If the issue descriped still exists in recent versions of Alchemy, please open a new issue or preferably open a PR with a fix. Thanks for reporting.'
17
+ stale-pr-message: 'This pull request has not seen any activiy in a long time. Probably because of missing tests or a necessary rebase. Please open a new PR to latest master if you want to continue working on this. Thanks for the contribution.'
@@ -119,10 +119,6 @@ Lint/HandleExceptions:
119
119
  Exclude:
120
120
  - 'config/initializers/mini_profiler.rb'
121
121
 
122
- Lint/ShadowedException:
123
- Exclude:
124
- - 'lib/alchemy/sass_support.rb'
125
-
126
122
  Style/CollectionMethods:
127
123
  Enabled: false
128
124
 
@@ -1,5 +1,18 @@
1
1
  ## 5.0.0 (unreleased)
2
2
 
3
+ ## 4.4.2 (2020-02-25)
4
+
5
+ - Do not use deprecated methods [#1737](https://github.com/AlchemyCMS/alchemy_cms/pull/1737) ([tvdeyen](https://github.com/tvdeyen))
6
+ - Order contents by their position in its element [#1733](https://github.com/AlchemyCMS/alchemy_cms/pull/1733) ([tvdeyen](https://github.com/tvdeyen))
7
+ - Eager load relations in elements trash [#1732](https://github.com/AlchemyCMS/alchemy_cms/pull/1732) ([tvdeyen](https://github.com/tvdeyen))
8
+ - Run CI builds with Sprockets 3.7.2 [#1731](https://github.com/AlchemyCMS/alchemy_cms/pull/1731) ([tvdeyen](https://github.com/tvdeyen))
9
+ - Re-organize development dependencies [#1730](https://github.com/AlchemyCMS/alchemy_cms/pull/1730) ([tvdeyen](https://github.com/tvdeyen))
10
+ - Update pr template [#1729](https://github.com/AlchemyCMS/alchemy_cms/pull/1729) ([tvdeyen](https://github.com/tvdeyen))
11
+ - Generate views without _view in the filename [#1728](https://github.com/AlchemyCMS/alchemy_cms/pull/1728) ([tvdeyen](https://github.com/tvdeyen))
12
+ - Fix CI Builds [#1727](https://github.com/AlchemyCMS/alchemy_cms/pull/1727) ([tvdeyen](https://github.com/tvdeyen))
13
+ - Fix page tagging condition: should_attach_to_menu? [#1725](https://github.com/AlchemyCMS/alchemy_cms/pull/1725) ([mickenorlen](https://github.com/mickenorlen))
14
+ - Fix Alchemy.user_class_name constant conflict [#1724](https://github.com/AlchemyCMS/alchemy_cms/pull/1724) ([mickenorlen](https://github.com/mickenorlen))
15
+
3
16
  ## 4.4.1 (2020-01-08)
4
17
 
5
18
  - Fix updating page preview after element create/save [#1710](https://github.com/AlchemyCMS/alchemy_cms/pull/1710) ([tvdeyen](https://github.com/tvdeyen))
@@ -607,4 +620,3 @@ No changes
607
620
  ## 3.0.0 (2014-07-03)
608
621
 
609
622
  [Release Notes](https://github.com/AlchemyCMS/alchemy_cms/releases/tag/v3.0.0)
610
-
data/Gemfile CHANGED
@@ -5,20 +5,16 @@ gemspec
5
5
  rails_version = ENV.fetch('RAILS_VERSION', 6.0).to_f
6
6
  gem 'rails', "~> #{rails_version}.0"
7
7
 
8
- # Profiling
9
- gem 'rack-mini-profiler', group: :development, require: false
10
-
11
8
  if ENV['DB'].nil? || ENV['DB'] == 'sqlite'
12
9
  gem 'sqlite3', rails_version > 5.0 ? '~> 1.4.1' : '~> 1.3.6'
13
10
  end
14
11
  gem 'mysql2', '~> 0.5.1' if ENV['DB'] == 'mysql'
15
12
  gem 'pg', '~> 1.0' if ENV['DB'] == 'postgresql'
16
- gem 'sassc-rails'
17
13
 
18
14
  group :development, :test do
19
- gem 'simplecov', require: false
20
- gem 'bootsnap', require: false
21
- unless ENV['CI']
15
+ if ENV['CI']
16
+ gem 'sprockets', '< 4.0' # Sprockets 4 has serious issues with libsass on Linux machines
17
+ else
22
18
  gem 'launchy'
23
19
  gem 'annotate'
24
20
  gem 'bumpy'
@@ -31,5 +27,6 @@ group :development, :test do
31
27
  gem 'dotenv', '~> 2.2'
32
28
  gem 'github_fast_changelog', require: false
33
29
  gem 'active_record_query_trace', require: false
30
+ gem 'rack-mini-profiler', require: false
34
31
  end
35
32
  end
@@ -36,6 +36,7 @@ Gem::Specification.new do |gem|
36
36
  gem.add_runtime_dependency 'ransack', ['>= 1.8', '< 3.0']
37
37
  gem.add_runtime_dependency 'request_store', ['~> 1.2']
38
38
  gem.add_runtime_dependency 'responders', ['>= 2.0', '< 4.0']
39
+ gem.add_runtime_dependency 'sassc-rails', ['~> 2.1']
39
40
  gem.add_runtime_dependency 'select2-rails', ['>= 3.5.9.1', '< 4.0']
40
41
  gem.add_runtime_dependency 'simple_form', ['>= 4.0', '< 6']
41
42
  gem.add_runtime_dependency 'sprockets', ['>= 3.0', '< 5']
@@ -48,6 +49,7 @@ Gem::Specification.new do |gem|
48
49
  gem.add_development_dependency 'rails-controller-testing', ['~> 1.0']
49
50
  gem.add_development_dependency 'rspec-activemodel-mocks', ['~> 1.0']
50
51
  gem.add_development_dependency 'rspec-rails', ['>= 4.0.0.beta2']
52
+ gem.add_development_dependency 'simplecov', ['~> 0.17.1']
51
53
  gem.add_development_dependency 'webdrivers', ['~> 4.0']
52
54
  gem.add_development_dependency 'shoulda-matchers', ['~> 4.0']
53
55
 
@@ -93,7 +93,7 @@ module Alchemy
93
93
  # Set page configuration like page names, meta tags and states.
94
94
  def configure
95
95
  @page_layouts = PageLayout.layouts_with_own_for_select(@page.page_layout, Language.current.id, @page.layoutpage?)
96
- render @page.redirects_to_external? ? 'configure_external' : 'configure'
96
+ render @page.definition['redirects_to_external'] ? 'configure_external' : 'configure'
97
97
  end
98
98
 
99
99
  # Updates page
@@ -330,7 +330,7 @@ module Alchemy
330
330
  end
331
331
 
332
332
  def redirect_path_after_create_page
333
- if @page.redirects_to_external? || !@page.editable_by?(current_alchemy_user)
333
+ if @page.definition['redirects_to_external'] || !@page.editable_by?(current_alchemy_user)
334
334
  admin_pages_path
335
335
  else
336
336
  params[:redirect_to] || edit_admin_page_path(@page)
@@ -8,7 +8,7 @@ module Alchemy
8
8
  authorize_resource class: false
9
9
 
10
10
  def index
11
- @elements = Element.trashed
11
+ @elements = Element.trashed.includes(*element_includes)
12
12
  @page = Page.find(params[:page_id])
13
13
  @allowed_elements = @page.available_element_definitions
14
14
  end
@@ -18,6 +18,25 @@ module Alchemy
18
18
  @elements = Element.trashed
19
19
  @elements.map(&:destroy)
20
20
  end
21
+
22
+ private
23
+
24
+ def element_includes
25
+ [
26
+ {
27
+ contents: {
28
+ essence: :ingredient_association
29
+ },
30
+ all_nested_elements: [
31
+ {
32
+ contents: {
33
+ essence: :ingredient_association
34
+ }
35
+ }
36
+ ]
37
+ }
38
+ ]
39
+ end
21
40
  end
22
41
  end
23
42
  end
@@ -49,7 +49,7 @@ module Alchemy
49
49
  end
50
50
 
51
51
  def controller_and_action_url
52
- return unless @page.has_controller?
52
+ return unless @page.definition['controller']
53
53
 
54
54
  main_app.url_for(@page.controller_and_action)
55
55
  end
@@ -244,7 +244,7 @@ module Alchemy
244
244
 
245
245
  # Returns +'active'+ if the given external page is in the current url path or +nil+.
246
246
  def external_page_css_class(page)
247
- return nil if !page.redirects_to_external?
247
+ return nil if !page.definition['redirects_to_external']
248
248
  request.path.split('/').delete_if(&:blank?).first == page.urlname.gsub(/^\//, '') ? 'active' : nil
249
249
  end
250
250
 
@@ -30,13 +30,7 @@ module Alchemy
30
30
 
31
31
  stampable stamper_class_name: Alchemy.user_class_name
32
32
 
33
- acts_as_list
34
-
35
- # ActsAsList scope
36
- def scope_condition
37
- # Fixes a bug with postgresql having a wrong element_id value, if element_id is nil.
38
- "element_id = #{element_id || 'null'} AND essence_type = '#{essence_type}'"
39
- end
33
+ acts_as_list scope: [:element_id]
40
34
 
41
35
  # Essence scopes
42
36
  scope :essence_booleans, -> { where(essence_type: "Alchemy::EssenceBoolean") }
@@ -60,9 +60,7 @@ module Alchemy
60
60
 
61
61
  stampable stamper_class_name: Alchemy.user_class_name
62
62
 
63
- # Content positions are scoped by their essence_type, so positions can be the same for different contents.
64
- # In order to get contents in creation order we also order them by id.
65
- has_many :contents, -> { order(:position, :id) }, dependent: :destroy, inverse_of: :element
63
+ has_many :contents, -> { order(:position) }, dependent: :destroy, inverse_of: :element
66
64
 
67
65
  has_many :all_nested_elements,
68
66
  -> { order(:position).not_trashed },
@@ -143,7 +143,7 @@ module Alchemy
143
143
 
144
144
  after_update :create_legacy_url,
145
145
  if: :should_create_legacy_url?,
146
- unless: :redirects_to_external?
146
+ unless: -> { definition['redirects_to_external'] }
147
147
 
148
148
  after_update :attach_to_menu!,
149
149
  if: :should_attach_to_menu?
@@ -470,7 +470,7 @@ module Alchemy
470
470
  def update_node!(node)
471
471
  hash = {lft: node.left, rgt: node.right, parent_id: node.parent, depth: node.depth, restricted: node.restricted}
472
472
 
473
- if Config.get(:url_nesting) && !redirects_to_external? && urlname != node.url
473
+ if Config.get(:url_nesting) && !definition['redirects_to_external'] && urlname != node.url
474
474
  LegacyPageUrl.create(page_id: id, urlname: urlname)
475
475
  hash[:urlname] = node.url
476
476
  end
@@ -602,7 +602,7 @@ module Alchemy
602
602
  end
603
603
 
604
604
  def should_attach_to_menu?
605
- menu_id && nodes.none?
605
+ menu_id.present? && nodes.none?
606
606
  end
607
607
  end
608
608
  end
@@ -9,7 +9,7 @@ module Alchemy
9
9
  included do
10
10
  before_validation :set_urlname,
11
11
  if: :renamed?,
12
- unless: -> { systempage? || redirects_to_external? || name.blank? }
12
+ unless: -> { systempage? || definition['redirects_to_external'] || name.blank? }
13
13
 
14
14
  validates :name,
15
15
  presence: true
@@ -17,13 +17,13 @@ module Alchemy
17
17
  uniqueness: {scope: [:language_id, :layoutpage], if: -> { urlname.present? }},
18
18
  exclusion: {in: RESERVED_URLNAMES},
19
19
  length: {minimum: 3, if: -> { urlname.present? }},
20
- format: {with: /\A[:\.\w\-+_\/\?&%;=]*\z/, if: :redirects_to_external?}
20
+ format: {with: /\A[:\.\w\-+_\/\?&%;=]*\z/, if: -> { definition['redirects_to_external'] }}
21
21
  validates :urlname,
22
22
  on: :update,
23
- presence: {if: :redirects_to_external?}
23
+ presence: {if: -> { definition['redirects_to_external'] }}
24
24
 
25
25
  before_save :set_title,
26
- unless: -> { systempage? || redirects_to_external? },
26
+ unless: -> { systempage? || definition['redirects_to_external'] },
27
27
  if: -> { title.blank? }
28
28
 
29
29
  after_update :update_descendants_urlnames,
@@ -31,7 +31,7 @@ module Alchemy
31
31
 
32
32
  after_move :update_urlname!,
33
33
  if: -> { Config.get(:url_nesting) },
34
- unless: :redirects_to_external?
34
+ unless: -> { definition['redirects_to_external'] }
35
35
  end
36
36
 
37
37
  # Returns true if name or urlname has changed.
@@ -86,7 +86,7 @@ module Alchemy
86
86
  def update_descendants_urlnames
87
87
  reload
88
88
  descendants.each do |descendant|
89
- next if descendant.redirects_to_external?
89
+ next if descendant.definition['redirects_to_external']
90
90
  descendant.update_urlname!
91
91
  end
92
92
  end
@@ -74,7 +74,7 @@ module Alchemy
74
74
 
75
75
  # @deprecated Please use a menu node with an url pointing to your controller path instead.
76
76
  def controller_and_action
77
- if has_controller?
77
+ if definition['controller']
78
78
  {
79
79
  controller: definition["controller"].gsub(/(^\b)/, "/#{$1}"),
80
80
  action: definition["action"]
@@ -57,9 +57,9 @@ module Alchemy
57
57
  restricted: page.restricted?,
58
58
  page_layout: page.page_layout,
59
59
  slug: page.slug,
60
- redirects_to_external: page.redirects_to_external?,
60
+ redirects_to_external: page.definition['redirects_to_external'],
61
61
  urlname: page.urlname,
62
- external_urlname: page.redirects_to_external? ? page.external_urlname : nil,
62
+ external_urlname: page.definition['redirects_to_external'] ? page.external_urlname : nil,
63
63
  level: level,
64
64
  root: level == 1,
65
65
  root_or_leaf: level == 1 || !has_children,
@@ -71,7 +71,7 @@
71
71
  alchemy.configure_admin_page_path(page),
72
72
  {
73
73
  title: Alchemy.t(:edit_page_properties),
74
- size: page.redirects_to_external? ? '450x330' : '450x680'
74
+ size: page.definition['redirects_to_external'] ? '450x330' : '450x680'
75
75
  }
76
76
  ) -%>
77
77
  <label class="center"><%= Alchemy.t(:edit_page_properties) %></label>
@@ -14,7 +14,7 @@
14
14
  <p><%= @page.layout_display_name %></p>
15
15
  </div>
16
16
  <div class="value">
17
- <% if @page.redirects_to_external? %>
17
+ <% if @page.definition['redirects_to_external'] %>
18
18
  <label><%= Alchemy::Page.human_attribute_name(:urlname) %></label>
19
19
  <p><%= @page.urlname %></p>
20
20
  <% else %>
@@ -1,4 +1,4 @@
1
- <% if page.redirects_to_external? %>
1
+ <% if page.definition['redirects_to_external'] %>
2
2
  <%= link_to(
3
3
  h(page.name),
4
4
  page.external_urlname,
@@ -44,8 +44,7 @@
44
44
  # Alchemy.register_ability MyCustom::Ability
45
45
  #
46
46
  module Alchemy
47
- mattr_accessor :user_class_name,
48
- :user_class_primary_key,
47
+ mattr_accessor :user_class_primary_key,
49
48
  :current_user_method,
50
49
  :signup_path,
51
50
  :login_path,
@@ -73,17 +72,25 @@ module Alchemy
73
72
  # # config/initializers/alchemy.rb
74
73
  # Alchemy.user_class_name = 'Admin'
75
74
  #
75
+
76
+ # Prefix with :: when getting to avoid constant name conflicts
77
+ def self.user_class_name
78
+ if !@@user_class_name.is_a?(String)
79
+ raise TypeError, 'Alchemy.user_class_name must be a String, not a Class.'
80
+ end
81
+ "::#{@@user_class_name}"
82
+ end
83
+
84
+ def self.user_class_name=(user_class_name)
85
+ @@user_class_name = user_class_name
86
+ end
87
+
76
88
  def self.user_class
77
89
  @@user_class ||= begin
78
- if @@user_class_name.is_a?(String)
79
- @@user_class_name.constantize
80
- else
81
- raise TypeError, 'Alchemy.user_class_name must be a String, not a Class.'
82
- end
83
- end
84
- rescue NameError => e
85
- if e.message =~ /#{Regexp.escape(@@user_class_name)}/
86
- abort <<-MSG.strip_heredoc
90
+ @@user_class_name.constantize
91
+ rescue NameError => e
92
+ if e.message =~ /#{Regexp.escape(@@user_class_name)}/
93
+ abort <<-MSG.strip_heredoc
87
94
 
88
95
  AlchemyCMS cannot find any user class!
89
96
 
@@ -92,9 +99,10 @@ module Alchemy
92
99
 
93
100
  bundle add alchemy-devise
94
101
 
95
- MSG
96
- else
97
- raise e
102
+ MSG
103
+ else
104
+ raise e
105
+ end
98
106
  end
99
107
  end
100
108
 
@@ -19,6 +19,12 @@ FactoryBot.define do
19
19
  name { 'header' }
20
20
  end
21
21
 
22
+ trait :trashed do
23
+ after(:create) do |element|
24
+ element.update_column(:position, :null)
25
+ end
26
+ end
27
+
22
28
  trait :with_nestable_elements do
23
29
  name { 'slider' }
24
30
  end
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Alchemy
4
- VERSION = "4.4.1"
4
+ VERSION = "4.4.2"
5
5
 
6
6
  def self.version
7
7
  VERSION
@@ -19,6 +19,7 @@ require 'non-stupid-digest-assets'
19
19
  require 'ransack'
20
20
  require 'request_store'
21
21
  require 'responders'
22
+ require 'sassc-rails'
22
23
  require 'simple_form'
23
24
  require 'select2-rails'
24
25
  require 'turbolinks'
@@ -48,7 +49,6 @@ require_relative 'alchemy/on_page_layout/callbacks_runner'
48
49
  require_relative 'alchemy/page_layout'
49
50
  require_relative 'alchemy/paths'
50
51
  require_relative 'alchemy/permissions'
51
- require_relative 'alchemy/sass_support'
52
52
  require_relative 'alchemy/ssl_protection'
53
53
  require_relative 'alchemy/resource'
54
54
  require_relative 'alchemy/tinymce'
@@ -19,7 +19,7 @@ module Alchemy
19
19
  raise "Element name '#{element['name']}' has wrong format. Only lowercase and non whitespace characters allowed."
20
20
  end
21
21
 
22
- conditional_template "view.html.#{template_engine}", "#{elements_dir}/_#{@element_name}_view.html.#{template_engine}"
22
+ conditional_template "view.html.#{template_engine}", "#{elements_dir}/_#{@element_name}.html.#{template_engine}"
23
23
  end
24
24
  end
25
25
 
@@ -40,7 +40,7 @@ namespace :alchemy do
40
40
  end
41
41
 
42
42
  def name_for_node(page)
43
- if page.visible? && page.public? && !page.redirects_to_external?
43
+ if page.visible? && page.public? && !page.definition['redirects_to_external']
44
44
  nil
45
45
  else
46
46
  page.name
@@ -48,7 +48,7 @@ namespace :alchemy do
48
48
  end
49
49
 
50
50
  def page_for_node(page)
51
- if page.visible? && page.public? && !page.redirects_to_external?
51
+ if page.visible? && page.public? && !page.definition['redirects_to_external']
52
52
  page
53
53
  elsif Alchemy::Config.get(:redirect_to_public_child) && page.visible? && !page.public? && page.children.published.any?
54
54
  page.children.published.first
@@ -64,8 +64,8 @@ namespace :alchemy do
64
64
  new_node = node.children.create!(
65
65
  name: name_for_node(page),
66
66
  page: page_for_node(page),
67
- url: page.redirects_to_external? ? page.urlname : nil,
68
- external: page.redirects_to_external? && Alchemy::Config.get(:open_external_links_in_new_tab),
67
+ url: page.definition['redirects_to_external'] ? page.urlname : nil,
68
+ external: page.definition['redirects_to_external'] && Alchemy::Config.get(:open_external_links_in_new_tab),
69
69
  language_id: page.language_id
70
70
  )
71
71
  print "."
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: 4.4.1
4
+ version: 4.4.2
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: 2020-01-08 00:00:00.000000000 Z
16
+ date: 2020-02-25 00:00:00.000000000 Z
17
17
  dependencies:
18
18
  - !ruby/object:Gem::Dependency
19
19
  name: active_model_serializers
@@ -321,6 +321,20 @@ dependencies:
321
321
  - - "<"
322
322
  - !ruby/object:Gem::Version
323
323
  version: '4.0'
324
+ - !ruby/object:Gem::Dependency
325
+ name: sassc-rails
326
+ requirement: !ruby/object:Gem::Requirement
327
+ requirements:
328
+ - - "~>"
329
+ - !ruby/object:Gem::Version
330
+ version: '2.1'
331
+ type: :runtime
332
+ prerelease: false
333
+ version_requirements: !ruby/object:Gem::Requirement
334
+ requirements:
335
+ - - "~>"
336
+ - !ruby/object:Gem::Version
337
+ version: '2.1'
324
338
  - !ruby/object:Gem::Dependency
325
339
  name: select2-rails
326
340
  requirement: !ruby/object:Gem::Requirement
@@ -493,6 +507,20 @@ dependencies:
493
507
  - - ">="
494
508
  - !ruby/object:Gem::Version
495
509
  version: 4.0.0.beta2
510
+ - !ruby/object:Gem::Dependency
511
+ name: simplecov
512
+ requirement: !ruby/object:Gem::Requirement
513
+ requirements:
514
+ - - "~>"
515
+ - !ruby/object:Gem::Version
516
+ version: 0.17.1
517
+ type: :development
518
+ prerelease: false
519
+ version_requirements: !ruby/object:Gem::Requirement
520
+ requirements:
521
+ - - "~>"
522
+ - !ruby/object:Gem::Version
523
+ version: 0.17.1
496
524
  - !ruby/object:Gem::Dependency
497
525
  name: webdrivers
498
526
  requirement: !ruby/object:Gem::Requirement
@@ -533,7 +561,10 @@ files:
533
561
  - ".github/FUNDING.yml"
534
562
  - ".github/ISSUE_TEMPLATE/Bug_report.md"
535
563
  - ".github/ISSUE_TEMPLATE/Feature_request.md"
564
+ - ".github/PULL_REQUEST_TEMPLATE.md"
536
565
  - ".github/workflows/ci.yml"
566
+ - ".github/workflows/greetings.yml"
567
+ - ".github/workflows/stale.yml"
537
568
  - ".gitignore"
538
569
  - ".hound.yml"
539
570
  - ".localeapp/config.rb"
@@ -544,7 +575,6 @@ files:
544
575
  - CONTRIBUTING.md
545
576
  - Gemfile
546
577
  - LICENSE
547
- - PULL_REQUEST_TEMPLATE.md
548
578
  - README.md
549
579
  - Rakefile
550
580
  - alchemy_cms.gemspec
@@ -1021,7 +1051,6 @@ files:
1021
1051
  - lib/alchemy/resource.rb
1022
1052
  - lib/alchemy/resources_helper.rb
1023
1053
  - lib/alchemy/routing_constraints.rb
1024
- - lib/alchemy/sass_support.rb
1025
1054
  - lib/alchemy/seeder.rb
1026
1055
  - lib/alchemy/shell.rb
1027
1056
  - lib/alchemy/ssl_protection.rb
@@ -1,14 +0,0 @@
1
- ## What is this pull request for?
2
-
3
- Describe you pull request here...
4
-
5
- Closes #<issue number> (Remove if not related to any issue)
6
-
7
- ### Notable changes (remove if none)
8
-
9
- Explain any changes (maybe breaking?) that have been made.
10
-
11
- -
12
- -
13
-
14
- ### Screenshots (remove if none)
@@ -1,9 +0,0 @@
1
- begin
2
- require 'sassc-rails'
3
- rescue LoadError, Gem::LoadError
4
- begin
5
- require 'sass-rails'
6
- rescue LoadError, Gem::LoadError
7
- raise LoadError, "Could not find the `sass-rails` or `sassc-rails` gem for AlchemyCMS! Please add one of them to your project's Gemfile."
8
- end
9
- end