pulitzer 0.15.14 → 0.15.15
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 +4 -4
- data/app/controllers/pulitzer/partials_controller.rb +1 -1
- data/app/controllers/pulitzer/post_type_versions_controller.rb +1 -1
- data/app/interactions/pulitzer/clone_version.rb +2 -2
- data/app/interactions/pulitzer/partials_controller/upgrade_partial_version.rb +50 -0
- data/app/models/pulitzer/partial.rb +10 -0
- data/app/models/pulitzer/post_type.rb +4 -0
- data/app/views/pulitzer/partials/_show.html.erb +1 -1
- data/app/views/pulitzer/partials/_show_wrapper.html.erb +1 -1
- data/app/views/pulitzer/post_type_versions/_index.html.erb +3 -3
- data/lib/pulitzer/controller_helpers.rb +1 -1
- data/lib/pulitzer/version.rb +1 -1
- data/spec/dummy/db/test.sqlite3 +0 -0
- data/spec/dummy/log/test.log +8937 -0
- data/spec/dummy/public/uploads/pulitzer/content_element/image/1673/cms_sam_and_snow.jpg +0 -0
- data/spec/dummy/public/uploads/pulitzer/content_element/image/1673/sam_and_snow.jpg +0 -0
- data/spec/dummy/public/uploads/pulitzer/content_element/image/1673/thumb_sam_and_snow.jpg +0 -0
- data/spec/dummy/public/uploads/pulitzer/content_element/image/1695/cms_sam_and_snow.jpg +0 -0
- data/spec/dummy/public/uploads/pulitzer/content_element/image/1695/sam_and_snow.jpg +0 -0
- data/spec/dummy/public/uploads/pulitzer/content_element/image/1695/thumb_sam_and_snow.jpg +0 -0
- metadata +16 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 257ca58d5e65ab4ed21ec10496f1b0304901e014
|
4
|
+
data.tar.gz: 63b3fa6ab76d1eda01eb948b422614d13ab390c9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: '0834f6c2053bae0a89d07407f5ef713f9e57d3f520eaee3876fc2764ed8577e51a2053a970abffb4a2465f8f92fc6e8fc5aaee6e7c7de4360d297999d8e3d1b5'
|
7
|
+
data.tar.gz: 3880a61be852368698131218084053bdee6f1d7977daf2a71b56ecc9acc541ce6f26c3b04483eccae4e61978c53eb3d79c47376ffa09e2c02302d18656c9ff71
|
@@ -47,7 +47,7 @@ class Pulitzer::PartialsController < Pulitzer::ApplicationController
|
|
47
47
|
|
48
48
|
def upgrade
|
49
49
|
@partial = UpgradePartialVersion.new(@partial).call
|
50
|
-
render partial: '
|
50
|
+
render partial: 'show_wrapper', locals: { partial: @partial }
|
51
51
|
end
|
52
52
|
|
53
53
|
protected
|
@@ -3,7 +3,7 @@ class Pulitzer::PostTypeVersionsController < Pulitzer::ApplicationController
|
|
3
3
|
|
4
4
|
def index
|
5
5
|
@post_type = Pulitzer::PostType.find(params[:post_type_id])
|
6
|
-
@post_type_versions = @post_type.post_type_versions
|
6
|
+
@post_type_versions = @post_type.post_type_versions.order(id: :desc)
|
7
7
|
render_ajax
|
8
8
|
end
|
9
9
|
|
@@ -5,8 +5,8 @@ class Pulitzer::CloneVersion
|
|
5
5
|
@version = version
|
6
6
|
@post = @version.post
|
7
7
|
@new_version = new_version
|
8
|
-
Rails.logger.
|
9
|
-
Rails.logger.
|
8
|
+
Rails.logger.debug("Pulitzer::CloneVersion !!! ")
|
9
|
+
Rails.logger.debug($0)
|
10
10
|
end
|
11
11
|
|
12
12
|
def call
|
@@ -8,6 +8,7 @@ class Pulitzer::PartialsController::UpgradePartialVersion
|
|
8
8
|
def call
|
9
9
|
most_recent_partial_version = @partial.post_type_version.post_type.most_recent_published_post_type_version
|
10
10
|
new_partial = @free_form_section.partials.create(label: @partial.label, post_type_version_id: most_recent_partial_version.id)
|
11
|
+
clone_styles(@partial,new_partial)
|
11
12
|
Pulitzer::CreatePartialContentElements.new(new_partial).call
|
12
13
|
content_elements = new_partial.content_elements.to_a
|
13
14
|
content_elements.each do |ce|
|
@@ -18,7 +19,56 @@ class Pulitzer::PartialsController::UpgradePartialVersion
|
|
18
19
|
ce.destroy
|
19
20
|
end
|
20
21
|
end
|
22
|
+
@partial.remove_show = true
|
23
|
+
@partial.broadcast_change if defined? ForeignOffice
|
21
24
|
@partial.destroy
|
25
|
+
|
26
|
+
new_partial.reload_show = true
|
27
|
+
new_partial.broadcast_change if defined? ForeignOffice
|
22
28
|
new_partial
|
23
29
|
end
|
30
|
+
|
31
|
+
def clone_styles(old_partial,new_partial)
|
32
|
+
old_arrangement_style = old_partial.arrangement_style
|
33
|
+
old_justification_style = old_partial.justification_style
|
34
|
+
old_background_style = old_partial.background_style
|
35
|
+
old_sequence_flow_style = old_partial.sequence_flow_style
|
36
|
+
new_arrangement_styles = new_partial.post_type_version.arrangement_styles.to_a
|
37
|
+
new_justification_styles = new_partial.post_type_version.justification_styles.to_a
|
38
|
+
new_background_styles = new_partial.post_type_version.background_styles.to_a
|
39
|
+
new_sequence_flow_styles = new_partial.post_type_version.sequence_flow_styles.to_a
|
40
|
+
if old_arrangement_style.present?
|
41
|
+
new_style = new_arrangement_styles.detect do |style|
|
42
|
+
old_arrangement_style.view_file_name == style.view_file_name
|
43
|
+
end
|
44
|
+
if new_style.present?
|
45
|
+
new_partial.arrangement_style_id = new_style.id
|
46
|
+
end
|
47
|
+
end
|
48
|
+
if old_justification_style.present?
|
49
|
+
new_style = new_justification_styles.detect do |style|
|
50
|
+
old_justification_style.css_class_name == style.css_class_name
|
51
|
+
end
|
52
|
+
if new_style.present?
|
53
|
+
new_partial.justification_style_id = new_style.id
|
54
|
+
end
|
55
|
+
end
|
56
|
+
if old_background_style.present?
|
57
|
+
new_style = new_background_styles.detect do |style|
|
58
|
+
old_background_style.css_class_name == style.css_class_name
|
59
|
+
end
|
60
|
+
if new_style.present?
|
61
|
+
new_partial.background_style_id = new_style.id
|
62
|
+
end
|
63
|
+
end
|
64
|
+
if old_sequence_flow_style.present?
|
65
|
+
new_style = new_sequence_flow_styles.detect do |style|
|
66
|
+
old_sequence_flow_style.css_class_name == style.css_class_name
|
67
|
+
end
|
68
|
+
if new_style.present?
|
69
|
+
new_partial.sequence_flow_style_id = new_style.id
|
70
|
+
end
|
71
|
+
end
|
72
|
+
new_partial.save
|
73
|
+
end
|
24
74
|
end
|
@@ -1,5 +1,7 @@
|
|
1
1
|
module Pulitzer
|
2
2
|
class Partial < Pulitzer::ApplicationRecord
|
3
|
+
include ForeignOffice::Broadcaster if defined? ForeignOffice
|
4
|
+
|
3
5
|
belongs_to :free_form_section
|
4
6
|
belongs_to :post_type_version
|
5
7
|
belongs_to :background_style
|
@@ -12,7 +14,10 @@ module Pulitzer
|
|
12
14
|
|
13
15
|
accepts_nested_attributes_for :content_elements
|
14
16
|
|
17
|
+
attr_accessor :reload_show, :remove_show
|
18
|
+
|
15
19
|
delegate :name, :post_type_content_element_types, :has_display?, :post_type_id, :version_number, to: :post_type_version
|
20
|
+
delegate :most_recent_version_number, to: :post_type
|
16
21
|
delegate :template_path, to: :layout, allow_nil: true
|
17
22
|
|
18
23
|
before_save :handle_sort_order
|
@@ -107,5 +112,10 @@ module Pulitzer
|
|
107
112
|
def upgradable?
|
108
113
|
version_number < (post_type_version&.post_type&.post_type_versions&.published&.maximum(:version_number) || 0)
|
109
114
|
end
|
115
|
+
|
116
|
+
def serialize
|
117
|
+
self.attributes.merge \
|
118
|
+
reload_show: self.reload_show
|
119
|
+
end
|
110
120
|
end
|
111
121
|
end
|
@@ -24,4 +24,8 @@ class Pulitzer::PostType < Pulitzer::ApplicationRecord
|
|
24
24
|
def most_recent_published_post_type_version
|
25
25
|
post_type_versions&.published&.order(version_number: :desc)&.first
|
26
26
|
end
|
27
|
+
|
28
|
+
def most_recent_version_number
|
29
|
+
most_recent_published_post_type_version&.version_number
|
30
|
+
end
|
27
31
|
end
|
@@ -15,7 +15,7 @@
|
|
15
15
|
</div>
|
16
16
|
<div class="pulitzer-row margin-bottom">
|
17
17
|
<% if partial.upgradable? %>
|
18
|
-
|
18
|
+
<%= ajax_link "Upgrade #{partial.label} to the latest #{partial.name} version #{partial.most_recent_version_number}", upgrade_partial_path(partial), {class: 'button'}, dom_target(partial), insert_method: 'after', remove_on_success: dom_target(partial), http_method: 'PATCH' %>
|
19
19
|
<% end %>
|
20
20
|
</div>
|
21
21
|
<div <%= collapsed(dom_id(partial)) %>>
|
@@ -1,3 +1,3 @@
|
|
1
|
-
<div class="pulitzer-row margin-bottom list-item" id="<%= dom_id(partial) %>"
|
1
|
+
<div class="pulitzer-row margin-bottom list-item" id="<%= dom_id(partial) %>" <%= listener_attrs(partial, :reload_show, endpoint: pulitzer.partial_path(partial)) if defined? ForeignOffice %>>
|
2
2
|
<%= render partial: '/pulitzer/partials/show', locals: { partial: partial } %>
|
3
3
|
</div>
|
@@ -4,12 +4,12 @@
|
|
4
4
|
<% if Pulitzer.skip_metadata_auth? || self.instance_eval(&Pulitzer.metadata_closure) %>
|
5
5
|
<%= ajax_link "Create a blank version of this template",
|
6
6
|
post_type_versions_path(post_type_version: {post_type_id: @post_type.id}),
|
7
|
-
{}, '#post_type_versions_container', http_method: 'POST', insert_method: '
|
7
|
+
{}, '#post_type_versions_container', http_method: 'POST', insert_method: 'prepend' %>
|
8
8
|
<br>
|
9
9
|
<div class="pulitzer-span right">
|
10
10
|
<div class="pulitzer-row bold margin-bottom">Import New Version from JSON file</div>
|
11
11
|
<div class="pulitzer-row">
|
12
|
-
<%= form_for @post_type, url: import_version_post_type_path(@post_type), html: ajax_form_hash('#post_type_versions_container', insert_method: '
|
12
|
+
<%= form_for @post_type, url: import_version_post_type_path(@post_type), html: ajax_form_hash('#post_type_versions_container', insert_method: 'prepend').merge( multipart: true, method: 'PATCH') do |f| %>
|
13
13
|
<%= f.file_field :import_json %>
|
14
14
|
<%= f.submit 'Import' %>
|
15
15
|
<% end %>
|
@@ -18,7 +18,7 @@
|
|
18
18
|
<% if @post_type.published_type_version %>
|
19
19
|
<%= ajax_link "Clone the published version of this template",
|
20
20
|
clone_post_type_versions_path(post_type_version: {post_type_id: @post_type.id}), {}, '#post_type_versions_container',
|
21
|
-
http_method: 'POST', insert_method: '
|
21
|
+
http_method: 'POST', insert_method: 'prepend' %>
|
22
22
|
<% end %>
|
23
23
|
<% end %>
|
24
24
|
</div>
|
data/lib/pulitzer/version.rb
CHANGED
data/spec/dummy/db/test.sqlite3
CHANGED
Binary file
|