pages_core 3.6.1 → 3.6.2

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: '09440a3d279449e162f521750dd736cd1865cd1ee63809c00806e95db2a0c05a'
4
- data.tar.gz: 1e0282864ebf0667bf0abbfdf3574b9a2fc6192b98cc7c931eadb02adc8ebcf9
3
+ metadata.gz: 537e618c3f5f182e0e23ccd5178037c2a71a89e61ca0950a862a1801b0f23ce9
4
+ data.tar.gz: be1896eb7eafd63271d6d25821b7ca386980bdd0b69347db27bfb947e5a41c9b
5
5
  SHA512:
6
- metadata.gz: da9e5ecc3a26209b01fc7452210933782224a465bd76fc8349149c44225cd73d0e7e704eb232bab16db2fbbcc5bb721a7384fd9093ecd72d1b97ea27e78152f1
7
- data.tar.gz: de1f492e63bbf8ca71fe770d02213ffb2da05f27732e5eb9b46926af2339b2709efb691b24c29c27163e16a4d53d8bd25feff6286f809cff5f0d514c4ecda6ed
6
+ metadata.gz: e41a054282acbdd004aad81c839bffebf9c55c05b3a47bd1c98d08dd8af3bb8ce227f77a11ae3a1bb8c680f72f8b3e34c5ac2f1710aef3b34bae1a59c5e03afb
7
+ data.tar.gz: d06e26f9d9f20990f1a982f29fba091d24a9c43b8962a98c4209bbecfb9540a5f3c1fda8c462e1f412f832334d811ec29771a1ffa9831c95cf6cb43850bc2190
@@ -4,7 +4,7 @@ module Admin
4
4
 
5
5
  before_action :find_categories
6
6
  before_action :find_page, only: %i[show edit update destroy
7
- delete_meta_image move]
7
+ move]
8
8
 
9
9
  require_authorization
10
10
 
@@ -69,12 +69,6 @@ module Admin
69
69
  redirect_to admin_pages_url(@locale)
70
70
  end
71
71
 
72
- def delete_meta_image
73
- @page.meta_image.destroy
74
- flash[:notice] = "The image was deleted"
75
- redirect_to edit_admin_page_url(@locale, @page, anchor: "metadata")
76
- end
77
-
78
72
  private
79
73
 
80
74
  def build_page(locale, attributes = nil, categories = nil)
@@ -92,7 +86,8 @@ module Admin
92
86
  def page_attributes
93
87
  %i[template user_id status feed_enabled published_at redirect_to
94
88
  image_link news_page unique_name pinned parent_page_id serialized_tags
95
- meta_image starts_at ends_at all_day image_id]
89
+ meta_image_id starts_at ends_at all_day image_id path_segment
90
+ meta_title meta_description open_graph_title open_graph_description]
96
91
  end
97
92
 
98
93
  def page_params
@@ -8,14 +8,12 @@ module PagesCore
8
8
  include PagesCore::PreviewPagesController
9
9
  include PagesCore::RssController
10
10
 
11
- caches_page :index if PagesCore.config(:page_cache)
12
-
13
11
  before_action :load_root_pages
14
12
  before_action :find_page_by_path, only: [:show]
15
13
  before_action :find_page, only: %i[show preview]
16
14
  before_action :require_page, only: %i[show preview]
17
15
  before_action :canonicalize_url, only: [:show]
18
- after_action :cache_page_request, only: [:show]
16
+ after_action :cache_page_request, only: %i[index show]
19
17
 
20
18
  def index
21
19
  respond_to do |format|
@@ -50,6 +48,10 @@ module PagesCore
50
48
  redirect_to(canonical_path(@page), status: :moved_permanently)
51
49
  end
52
50
 
51
+ def disable_page_cache!
52
+ @page_cache_disabled = true
53
+ end
54
+
53
55
  def render(*args)
54
56
  @already_rendered = true
55
57
  super
@@ -83,14 +85,11 @@ module PagesCore
83
85
 
84
86
  # Cache pages by hand. This is dirty, but it works.
85
87
  def cache_page_request
86
- status_code = response.status.try(&:to_i)
87
- unless status_code == 200 &&
88
- PagesCore.config(:page_cache) &&
89
- @page && @locale
90
- return
91
- end
88
+ return if @page_cache_disabled || !PagesCore.config(:page_cache)
89
+ return if response.status&.to_i != 200
90
+ return unless @page && @locale
92
91
 
93
- self.class.cache_page response.body, request.path
92
+ self.class.cache_page(response.body, request.path)
94
93
  end
95
94
 
96
95
  def find_page_by_path
@@ -27,18 +27,7 @@
27
27
  Will fall back to the primary image if absent.
28
28
  Recommended size is at least 1200x630.
29
29
  </p>
30
- <% if @page.meta_image %>
31
- <p>
32
- <%= dynamic_image_tag @page.meta_image, size: "250x" %>
33
- <br>
34
- <%= link_to("Delete image",
35
- delete_meta_image_admin_page_path(@locale, @page),
36
- method: "delete",
37
- class: "delete",
38
- data: { confirm: "Are you sure?" }) %>
39
- </p>
40
- <% end %>
41
- <%= f.file_field :meta_image %>
30
+ <%= f.image_uploader :meta_image %>
42
31
  </div>
43
32
 
44
33
  <% @page.template_config.metadata_blocks do |block_name, block_options| %>
@@ -83,7 +83,6 @@ Rails.application.routes.draw do
83
83
 
84
84
  member do
85
85
  put "move"
86
- delete "delete_meta_image"
87
86
  end
88
87
 
89
88
  get "new/:parent", action: "new"
@@ -1,19 +1,34 @@
1
1
  class FixPageFileIds < ActiveRecord::Migration[5.0]
2
2
  def change
3
- attachment_id = execute(
4
- "SELECT MAX(attachment_id) AS max_id FROM page_files"
5
- )[0]["max_id"]
6
- pf_id = execute("SELECT MAX(id) AS max_id FROM page_files")[0]["max_id"]
7
-
3
+ attachment_id = max_id(:attachment_id, :page_files)
4
+ pf_id = max_id(:id, :page_files)
8
5
 
9
6
  if attachment_id && pf_id
10
7
  max_id = [attachment_id, pf_id].max
11
8
 
12
9
  execute("UPDATE page_files SET id = id + #{max_id + 1}")
13
10
  execute("UPDATE page_files SET id = attachment_id")
14
- execute("ALTER SEQUENCE page_files_id_seq RESTART WITH #{attachment_id + 1}")
11
+ if mysql2?
12
+ execute(
13
+ "ALTER SEQUENCE page_files_id_seq RESTART WITH #{attachment_id + 1}"
14
+ )
15
+ end
15
16
 
16
17
  PageFile.all.each { |pf| pf.touch }
17
18
  end
18
19
  end
20
+
21
+ def max_id(attr, table)
22
+ query = "SELECT MAX(#{attr}) AS max_id FROM #{table}"
23
+ if mysql2?
24
+ execute(query).first[0]
25
+ else
26
+ execute(query)[0]["max_id"]
27
+ end
28
+ end
29
+
30
+ def mysql2?
31
+ Object.const_defined?("ActiveRecord::ConnectionAdapters::Mysql2Adapter") &&
32
+ connection.instance_of?(ActiveRecord::ConnectionAdapters::Mysql2Adapter)
33
+ end
19
34
  end
@@ -1,3 +1,3 @@
1
1
  module PagesCore
2
- VERSION = "3.6.1".freeze unless PagesCore.const_defined?("VERSION")
2
+ VERSION = "3.6.2".freeze unless PagesCore.const_defined?("VERSION")
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pages_core
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.6.1
4
+ version: 3.6.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Inge Jørgensen
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-03-19 00:00:00.000000000 Z
11
+ date: 2019-04-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: capybara
@@ -44,14 +44,14 @@ dependencies:
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: 0.4.2
47
+ version: 0.5.2
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: 0.4.2
54
+ version: 0.5.2
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: pg
57
57
  requirement: !ruby/object:Gem::Requirement