pages_core 3.6.1 → 3.6.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: '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