constructor-pages 0.8.0 → 0.8.1
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/constructor_pages/pages_controller.rb +6 -2
- data/app/models/constructor_pages/page.rb +6 -1
- data/app/models/constructor_pages/types/boolean_type.rb +1 -1
- data/app/models/constructor_pages/types/date_type.rb +1 -1
- data/app/models/constructor_pages/types/float_type.rb +1 -1
- data/app/models/constructor_pages/types/html_type.rb +1 -1
- data/app/models/constructor_pages/types/image_type.rb +4 -4
- data/app/models/constructor_pages/types/integer_type.rb +1 -1
- data/app/models/constructor_pages/types/string_type.rb +1 -1
- data/app/models/constructor_pages/types/text_type.rb +1 -1
- data/app/views/constructor_pages/fields/types/_float.haml +1 -1
- data/spec/models/constructor_pages/page_spec.rb +13 -0
- metadata +4 -5
- data/app/views/constructor_pages/pages/_breadcrumbs.haml +0 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c078ab91ea33dd0cdfc25092efd3969d3978861f
|
4
|
+
data.tar.gz: b943b4a056a152bdac0d0d858ade1fca1b61c79f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f674c9622f7be5947ddc8a6b63e00a3251edccfa56ac4096039d09b60e883f95feac19e52f9e70207588024ab6aa50172f3b0e31ab8988eb4f2bf17438cab930
|
7
|
+
data.tar.gz: 39fdf84915c22c79bb1e11e92541f78fbb7a5a220483558df018935e908163d29a72c092c6200ecaaab070c20de23f0b26f73b736dfbf3e9c5f26e9fd9cbe0d6
|
@@ -10,7 +10,7 @@ module ConstructorPages
|
|
10
10
|
|
11
11
|
def index
|
12
12
|
@pages = Page.includes(:template).load
|
13
|
-
@pages_cache = Digest::MD5.hexdigest(@pages.map{|p| [p.name, p.lft, p.template_id]}.join)
|
13
|
+
@pages_cache = Digest::MD5.hexdigest(@pages.map{|p| [p.name, p.url, p.lft, p.template_id]}.join)
|
14
14
|
@template_exists = Template.count != 0
|
15
15
|
flash[:notice] = 'Create at least one template' unless @template_exists
|
16
16
|
end
|
@@ -56,6 +56,7 @@ module ConstructorPages
|
|
56
56
|
@page = Page.new page_params
|
57
57
|
|
58
58
|
if @page.save
|
59
|
+
@page.touch_branch
|
59
60
|
redirect_to pages_path, notice: t(:page_success_added, name: @page.name)
|
60
61
|
else
|
61
62
|
render :new
|
@@ -72,6 +73,7 @@ module ConstructorPages
|
|
72
73
|
if @page.update page_params
|
73
74
|
@page.create_fields_values if _template_changed
|
74
75
|
@page.update_fields_values params[:fields]
|
76
|
+
@page.touch_branch
|
75
77
|
|
76
78
|
redirect_to pages_path, notice: t(:page_success_updated, name: @page.name)
|
77
79
|
else
|
@@ -80,7 +82,9 @@ module ConstructorPages
|
|
80
82
|
end
|
81
83
|
|
82
84
|
def destroy
|
83
|
-
@page = Page.find(params[:id])
|
85
|
+
@page = Page.find(params[:id])
|
86
|
+
@page.touch_branch
|
87
|
+
@page.destroy
|
84
88
|
redirect_to pages_path, notice: t(:page_success_removed, name: @page.name)
|
85
89
|
end
|
86
90
|
|
@@ -133,6 +133,11 @@ module ConstructorPages
|
|
133
133
|
# Check if link specified
|
134
134
|
def redirect?; url != link && !link.empty? end
|
135
135
|
|
136
|
+
# Touch all pages in same branch
|
137
|
+
def touch_branch
|
138
|
+
[ancestors, descendants].each {|p| p.map(&:touch)}
|
139
|
+
end
|
140
|
+
|
136
141
|
# When method missing it get/set field value or get page in branch
|
137
142
|
#
|
138
143
|
# Examples:
|
@@ -165,7 +170,7 @@ module ConstructorPages
|
|
165
170
|
|
166
171
|
# Reload all descendants
|
167
172
|
def descendants_update
|
168
|
-
descendants.map(&:save) if self.
|
173
|
+
descendants.map(&:save) if self.full_url_changed?
|
169
174
|
end
|
170
175
|
end
|
171
176
|
end
|
@@ -5,15 +5,15 @@ module ConstructorPages
|
|
5
5
|
# Image type. Render select file field.
|
6
6
|
class ImageType < ActiveRecord::Base
|
7
7
|
belongs_to :field
|
8
|
-
belongs_to :page
|
8
|
+
belongs_to :page, touch: true
|
9
9
|
|
10
10
|
image_accessor :value
|
11
11
|
|
12
|
-
validates :value, :
|
12
|
+
validates :value, presence: true
|
13
13
|
# Max size is 5 MB
|
14
|
-
validates_size_of :value, :
|
14
|
+
validates_size_of :value, maximum: 5.megabytes, message: :incorrect_size
|
15
15
|
# Accept only jpeg, png, gif
|
16
|
-
validates_property :mime_type, :
|
16
|
+
validates_property :mime_type, of: :value, in: %w(image/jpeg image/png image/gif), message: :incorrect_format
|
17
17
|
end
|
18
18
|
end
|
19
19
|
end
|
@@ -1 +1 @@
|
|
1
|
-
= number_field_tag "fields[#{field.code_name}]", page.get_field_value(field.code_name), class: 'span2'
|
1
|
+
= number_field_tag "fields[#{field.code_name}]", page.get_field_value(field.code_name), class: 'span2', step: 'any'
|
@@ -291,6 +291,19 @@ module ConstructorPages
|
|
291
291
|
page.redirect?.should be_true
|
292
292
|
end
|
293
293
|
end
|
294
|
+
|
295
|
+
describe '#touch_branch' do
|
296
|
+
it 'should touch all pages in same branch' do
|
297
|
+
page = Page.create name: 'Hello world'
|
298
|
+
second_page = Page.create name: 'Again', parent: page
|
299
|
+
page.reload
|
300
|
+
|
301
|
+
updated = second_page.updated_at
|
302
|
+
page.touch_branch
|
303
|
+
second_page.reload
|
304
|
+
second_page.updated_at.should_not == updated
|
305
|
+
end
|
306
|
+
end
|
294
307
|
end
|
295
308
|
|
296
309
|
context 'ATTRIBUTES' do
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: constructor-pages
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.8.
|
4
|
+
version: 0.8.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ivan Zotov
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-06-
|
11
|
+
date: 2013-06-28 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: constructor-core
|
@@ -16,14 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - '='
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 0.8.
|
19
|
+
version: 0.8.1
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - '='
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: 0.8.
|
26
|
+
version: 0.8.1
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: dragonfly
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -168,7 +168,6 @@ files:
|
|
168
168
|
- app/views/constructor_pages/fields/types/_integer.haml
|
169
169
|
- app/views/constructor_pages/fields/types/_string.haml
|
170
170
|
- app/views/constructor_pages/fields/types/_text.haml
|
171
|
-
- app/views/constructor_pages/pages/_breadcrumbs.haml
|
172
171
|
- app/views/constructor_pages/pages/_field.haml
|
173
172
|
- app/views/constructor_pages/pages/_form.haml
|
174
173
|
- app/views/constructor_pages/pages/edit.haml
|