lato_blog 2.1 → 2.1.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/assets/javascripts/lato_blog/application.js +3 -3
- data/app/assets/javascripts/lato_blog/{initializers/Fields.js → modules/BlogFields.js} +5 -5
- data/app/assets/javascripts/lato_blog/{initializers/Posts.js → modules/BlogPosts.js} +19 -11
- data/app/assets/stylesheets/lato_blog/fields/_fields.scss +1 -0
- data/app/assets/stylesheets/lato_blog/fields/_relay.scss +1 -1
- data/app/assets/stylesheets/lato_blog/fields/_youtube.scss +3 -0
- data/app/assets/stylesheets/lato_blog/pages/_posts.scss +6 -7
- data/app/controllers/lato_blog/back/posts_controller.rb +22 -0
- data/app/helpers/lato_blog/fields_helper.rb +14 -0
- data/app/models/lato_blog/post/serializer_helpers.rb +1 -0
- data/app/models/lato_blog/post_field/serializer_helpers.rb +36 -0
- data/app/views/lato_blog/back/post_fields/create_relay_field.js.erb +5 -4
- data/app/views/lato_blog/back/post_fields/destroy_relay_field.js.erb +5 -4
- data/app/views/lato_blog/back/post_fields/fields/_gallery.html.erb +18 -0
- data/app/views/lato_blog/back/post_fields/fields/_youtube.html.erb +18 -0
- data/app/views/lato_blog/back/posts/edit.html.erb +3 -1
- data/app/views/lato_blog/back/posts/index.html.erb +1 -1
- data/app/views/lato_blog/back/posts/shared/edit/_edit_categories.html.erb +1 -1
- data/app/views/lato_blog/back/posts/shared/edit/_edit_pubblication_datetime.html.erb +1 -1
- data/app/views/lato_blog/back/posts/shared/edit/_edit_seo_description.html.erb +24 -0
- data/app/views/lato_blog/back/posts/shared/edit/{_edit_status_switch.html.erb → _edit_status.html.erb} +2 -2
- data/app/views/lato_blog/back/posts/shared/index/{_index_status_switch.html.erb → _index_switch_status.html.erb} +0 -2
- data/config/configs.yml +6 -0
- data/config/languages/default.yml +3 -3
- data/config/languages/it.yml +3 -3
- data/config/routes/back.rb +1 -0
- data/db/migrate/20170804131140_add_seo_description_to_lato_blog_posts.rb +5 -0
- data/lib/lato_blog/interface.rb +3 -0
- data/lib/lato_blog/interfaces/fields.rb +25 -0
- data/lib/lato_blog/interfaces/queries.rb +10 -0
- data/lib/lato_blog/version.rb +1 -1
- metadata +13 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5a60707402fba5e85043a6cf3be5bbab59d225a8
|
4
|
+
data.tar.gz: a2e8fe0d368e2f37e5ae6865e2da1b68842dad13
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 813fe501d514cdc1454b0b0f389c3dd7774f8cd9e30923cca9693d99e2a18d23a38a95b4adb7514562ae6335bd61c09a0b11ad16f574f1bd6b1733d9bc45524c
|
7
|
+
data.tar.gz: 91f440dfdc24434b462df9add71f9e4e38accd784f4ffea96b3d1b4f2de5e695632963d735cf33da608ed743675b4510349351e058cae81d6a71659018616d62
|
@@ -10,10 +10,10 @@
|
|
10
10
|
// Read Sprockets README (https://github.com/rails/sprockets#sprockets-directives) for details
|
11
11
|
// about supported directives.
|
12
12
|
//
|
13
|
-
//= require_tree ./
|
13
|
+
//= require_tree ./modules
|
14
14
|
|
15
15
|
|
16
16
|
$(window).load(function () {
|
17
|
-
|
18
|
-
|
17
|
+
BlogFields.init()
|
18
|
+
BlogPosts.init()
|
19
19
|
})
|
@@ -1,6 +1,6 @@
|
|
1
|
-
var
|
1
|
+
var BlogFields = (function () {
|
2
2
|
|
3
|
-
function
|
3
|
+
function _initializeRelayNewButton () {
|
4
4
|
$('.fields-relay__menu-add').click(function (e) {
|
5
5
|
// save current status with form submit
|
6
6
|
_relaySubmitUpdateBeforeAction()
|
@@ -12,7 +12,7 @@ var BlogFieldsInitializer = (function () {
|
|
12
12
|
})
|
13
13
|
}
|
14
14
|
|
15
|
-
function
|
15
|
+
function _initializeRelayDestroy () {
|
16
16
|
$('.fields-relay__sortableblock .js-sortable__main-container').each(function (i, el) {
|
17
17
|
$(el).find('.js-sortable__element').each(function (index, element) {
|
18
18
|
var fieldId = $(element).find('.fields__container').data('field-id')
|
@@ -45,8 +45,8 @@ var BlogFieldsInitializer = (function () {
|
|
45
45
|
// Init:
|
46
46
|
|
47
47
|
function init () {
|
48
|
-
|
49
|
-
|
48
|
+
_initializeRelayNewButton()
|
49
|
+
_initializeRelayDestroy()
|
50
50
|
}
|
51
51
|
|
52
52
|
return {
|
@@ -1,9 +1,9 @@
|
|
1
|
-
var
|
1
|
+
var BlogPosts = (function () {
|
2
2
|
|
3
|
-
function
|
3
|
+
function _initializeAutosave () {
|
4
4
|
var formInput = $('.posts__form-autosave')
|
5
5
|
|
6
|
-
if (formInput) {
|
6
|
+
if (formInput.length > 0) {
|
7
7
|
var form = $(formInput).parent()
|
8
8
|
setInterval(function () {
|
9
9
|
if ($(formInput).val('false')) {
|
@@ -17,34 +17,42 @@ var BlogPostsInitializer = (function () {
|
|
17
17
|
}
|
18
18
|
}
|
19
19
|
|
20
|
-
function
|
20
|
+
function _initializeCategoriesAutosave () {
|
21
21
|
var form = $('.posts__edit-categories').find('form')
|
22
22
|
$(form).find('input').change(function () {
|
23
23
|
$(form).submit()
|
24
24
|
})
|
25
25
|
}
|
26
26
|
|
27
|
-
function
|
27
|
+
function _initializePublicationDatetimeAutosave () {
|
28
28
|
var form = $('.posts__edit-publication-datetime').find('form')
|
29
29
|
$(form).find('input').change(function () {
|
30
30
|
$(form).submit()
|
31
31
|
})
|
32
32
|
}
|
33
33
|
|
34
|
-
function
|
35
|
-
var form = $('.posts__edit-status
|
34
|
+
function _initializeStatusSwitchAutosave () {
|
35
|
+
var form = $('.posts__edit-status').find('form')
|
36
36
|
$(form).find('select').change(function () {
|
37
37
|
$(form).submit()
|
38
38
|
})
|
39
39
|
}
|
40
40
|
|
41
|
+
function _initializeSeoDescriptionAutosave () {
|
42
|
+
var form = $('.posts__edit-seo-description').find('form')
|
43
|
+
$(form).find('textarea').change(function () {
|
44
|
+
$(form).submit()
|
45
|
+
})
|
46
|
+
}
|
47
|
+
|
41
48
|
// Init:
|
42
49
|
|
43
50
|
function init () {
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
51
|
+
_initializeAutosave()
|
52
|
+
_initializeCategoriesAutosave()
|
53
|
+
_initializePublicationDatetimeAutosave()
|
54
|
+
_initializeStatusSwitchAutosave()
|
55
|
+
_initializeSeoDescriptionAutosave()
|
48
56
|
}
|
49
57
|
|
50
58
|
return {
|
@@ -1,10 +1,3 @@
|
|
1
|
-
.posts__edit-status-switch, .posts__edit-publication-datetime {
|
2
|
-
|
3
|
-
.elements-button {
|
4
|
-
margin-top: 0;
|
5
|
-
}
|
6
|
-
}
|
7
|
-
|
8
1
|
.posts__edit-categories {
|
9
2
|
.inputs-checkbox {
|
10
3
|
margin: 0;
|
@@ -18,6 +11,12 @@
|
|
18
11
|
}
|
19
12
|
}
|
20
13
|
|
14
|
+
.posts__edit-seo-description {
|
15
|
+
textarea {
|
16
|
+
height: 100px !important;
|
17
|
+
}
|
18
|
+
}
|
19
|
+
|
21
20
|
.posts__index {
|
22
21
|
.elements-table__row td:first-child {
|
23
22
|
width: 60%;
|
@@ -139,6 +139,14 @@ module LatoBlog
|
|
139
139
|
end
|
140
140
|
end
|
141
141
|
|
142
|
+
# This function updates the seo description of a post.
|
143
|
+
def update_seo_description
|
144
|
+
@post = LatoBlog::Post.find_by(id: params[:id])
|
145
|
+
return unless check_post_presence
|
146
|
+
|
147
|
+
@post.update(seo_description: params[:seo_description])
|
148
|
+
end
|
149
|
+
|
142
150
|
# This function destroyes a post.
|
143
151
|
def destroy
|
144
152
|
@post = LatoBlog::Post.find_by(id: params[:id])
|
@@ -225,6 +233,10 @@ module LatoBlog
|
|
225
233
|
update_field_geolocalization(field, value)
|
226
234
|
when 'image'
|
227
235
|
update_field_image(field, value)
|
236
|
+
when 'gallery'
|
237
|
+
update_field_gallery(field, value)
|
238
|
+
when 'youtube'
|
239
|
+
update_field_youtube(field, value)
|
228
240
|
when 'composed'
|
229
241
|
update_field_composed(field, value)
|
230
242
|
when 'relay'
|
@@ -265,6 +277,16 @@ module LatoBlog
|
|
265
277
|
field.update(value: value)
|
266
278
|
end
|
267
279
|
|
280
|
+
# Gallery.
|
281
|
+
def update_field_gallery(field, value)
|
282
|
+
field.update(value: value)
|
283
|
+
end
|
284
|
+
|
285
|
+
# Youtube.
|
286
|
+
def update_field_youtube(field, value)
|
287
|
+
field.update(value: value)
|
288
|
+
end
|
289
|
+
|
268
290
|
# Composed.
|
269
291
|
def update_field_composed(field, value)
|
270
292
|
# find composed children
|
@@ -24,6 +24,10 @@ module LatoBlog
|
|
24
24
|
render_post_field_geolocalization(post_field, key)
|
25
25
|
when 'image'
|
26
26
|
render_post_field_image(post_field, key)
|
27
|
+
when 'gallery'
|
28
|
+
render_post_field_gallery(post_field, key)
|
29
|
+
when 'youtube'
|
30
|
+
render_post_field_youtube(post_field, key)
|
27
31
|
when 'composed'
|
28
32
|
render_post_field_composed(post_field, key)
|
29
33
|
when 'relay'
|
@@ -67,6 +71,16 @@ module LatoBlog
|
|
67
71
|
render 'lato_blog/back/post_fields/fields/image', post_field: post_field, key: key
|
68
72
|
end
|
69
73
|
|
74
|
+
# Gallery.
|
75
|
+
def render_post_field_gallery(post_field, key)
|
76
|
+
render 'lato_blog/back/post_fields/fields/gallery', post_field: post_field, key: key
|
77
|
+
end
|
78
|
+
|
79
|
+
# Youtube.
|
80
|
+
def render_post_field_youtube(post_field, key)
|
81
|
+
render 'lato_blog/back/post_fields/fields/youtube', post_field: post_field, key: key
|
82
|
+
end
|
83
|
+
|
70
84
|
# Composed.
|
71
85
|
def render_post_field_composed(post_field, key)
|
72
86
|
render 'lato_blog/back/post_fields/fields/composed', post_field: post_field, key: key
|
@@ -11,6 +11,7 @@ module LatoBlog
|
|
11
11
|
serialized[:subtitle] = subtitle
|
12
12
|
serialized[:excerpt] = excerpt
|
13
13
|
serialized[:content] = content
|
14
|
+
serialized[:seo_description] = seo_description
|
14
15
|
serialized[:meta_language] = meta_language
|
15
16
|
serialized[:meta_permalink] = meta_permalink
|
16
17
|
serialized[:meta_status] = meta_status
|
@@ -32,6 +32,10 @@ module LatoBlog
|
|
32
32
|
serialize_field_value_geolocalization
|
33
33
|
when 'image'
|
34
34
|
serialize_field_value_image
|
35
|
+
when 'gallery'
|
36
|
+
serialize_field_value_gallery
|
37
|
+
when 'youtube'
|
38
|
+
serialize_field_value_youtube
|
35
39
|
when 'composed'
|
36
40
|
serialize_field_value_composed
|
37
41
|
when 'relay'
|
@@ -105,6 +109,38 @@ module LatoBlog
|
|
105
109
|
serialized
|
106
110
|
end
|
107
111
|
|
112
|
+
# Gallery.
|
113
|
+
def serialize_field_value_gallery
|
114
|
+
media_ids = value.split(',')
|
115
|
+
medias = LatoMedia::Media.where(id: media_ids)
|
116
|
+
return unless medias
|
117
|
+
|
118
|
+
# add basic info
|
119
|
+
serialized = []
|
120
|
+
|
121
|
+
medias.each do |media|
|
122
|
+
serialized_media = {}
|
123
|
+
serialized_media[:id] = media.id
|
124
|
+
serialized_media[:title] = media.title
|
125
|
+
serialized_media[:url] = media.attachment.url
|
126
|
+
|
127
|
+
# add image info
|
128
|
+
serialized_media[:thumb_url] = (media.image? ? media.attachment.url(:thumb) : nil)
|
129
|
+
serialized_media[:medium_url] = (media.image? ? media.attachment.url(:medium) : nil)
|
130
|
+
serialized_media[:large_url] = (media.image? ? media.attachment.url(:large) : nil)
|
131
|
+
|
132
|
+
serialized.push(serialized_media)
|
133
|
+
end
|
134
|
+
|
135
|
+
# return serialized media
|
136
|
+
serialized
|
137
|
+
end
|
138
|
+
|
139
|
+
# Youtube.
|
140
|
+
def serialize_field_value_youtube
|
141
|
+
value
|
142
|
+
end
|
143
|
+
|
108
144
|
# Composed.
|
109
145
|
def serialize_field_value_composed
|
110
146
|
serialized = {}
|
@@ -6,9 +6,10 @@
|
|
6
6
|
|
7
7
|
$('.fields-relay[data-field-id="<%= @post_field.id %>"]').replaceWith('<%=j render_post_field(@post_field) %>')
|
8
8
|
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
9
|
+
// TODO: Aggiornare solo i field interni al ripetitore
|
10
|
+
BlogFields.init()
|
11
|
+
CoreDatepicker.init()
|
12
|
+
CoreEditor.init()
|
13
|
+
CoreMediapicker.init()
|
13
14
|
|
14
15
|
<% end %>
|
@@ -6,9 +6,10 @@
|
|
6
6
|
|
7
7
|
$('.fields-relay[data-field-id="<%= @post_field.id %>"]').replaceWith('<%=j render_post_field(@post_field) %>')
|
8
8
|
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
9
|
+
// TODO: Aggiornare solo i field interni al ripetitore
|
10
|
+
BlogFields.init()
|
11
|
+
CoreDatepicker.init()
|
12
|
+
CoreEditor.init()
|
13
|
+
CoreMediapicker.init()
|
13
14
|
|
14
15
|
<% end %>
|
@@ -0,0 +1,18 @@
|
|
1
|
+
<%
|
2
|
+
row = cell(:elements, :row).new
|
3
|
+
%>
|
4
|
+
|
5
|
+
<div
|
6
|
+
class="fields__container fields-gallery <%= post_field.meta_datas[:class].blank? ? field_general_get_default_class : post_field.meta_datas[:class] %>"
|
7
|
+
data-field-id="<%= post_field.id %>"
|
8
|
+
>
|
9
|
+
|
10
|
+
<%=raw row.open %>
|
11
|
+
<%=raw cell('LatoMedia', :inputs, :gallery).new(
|
12
|
+
name: key,
|
13
|
+
value: post_field.value,
|
14
|
+
label: post_field.meta_datas[:label]
|
15
|
+
) %>
|
16
|
+
<%=raw row.close %>
|
17
|
+
|
18
|
+
</div>
|
@@ -0,0 +1,18 @@
|
|
1
|
+
<%
|
2
|
+
row = cell(:elements, :row).new
|
3
|
+
%>
|
4
|
+
|
5
|
+
<div
|
6
|
+
class="fields__container fields-youtube <%= post_field.meta_datas[:class].blank? ? field_general_get_default_class : post_field.meta_datas[:class] %>"
|
7
|
+
data-field-id="<%= post_field.id %>"
|
8
|
+
>
|
9
|
+
|
10
|
+
<%=raw row.open %>
|
11
|
+
<%=raw cell(:inputs, :youtube).new(
|
12
|
+
name: key,
|
13
|
+
value: post_field.value,
|
14
|
+
label: post_field.meta_datas[:label]
|
15
|
+
) %>
|
16
|
+
<%=raw row.close %>
|
17
|
+
|
18
|
+
</div>
|
@@ -33,12 +33,14 @@
|
|
33
33
|
|
34
34
|
<%= render 'lato_blog/back/posts/shared/edit/edit_languages' %>
|
35
35
|
|
36
|
-
<%= render 'lato_blog/back/posts/shared/edit/
|
36
|
+
<%= render 'lato_blog/back/posts/shared/edit/edit_status' %>
|
37
37
|
|
38
38
|
<%= render 'lato_blog/back/posts/shared/edit/edit_pubblication_datetime' %>
|
39
39
|
|
40
40
|
<%= render 'lato_blog/back/posts/shared/edit/edit_categories' %>
|
41
41
|
|
42
|
+
<%= render 'lato_blog/back/posts/shared/edit/edit_seo_description' %>
|
43
|
+
|
42
44
|
<%=raw row.close %>
|
43
45
|
|
44
46
|
<%=raw container_block_small.close %>
|
@@ -27,7 +27,7 @@
|
|
27
27
|
|
28
28
|
<%= render 'lato_blog/back/posts/shared/index/index_informations', informations: @posts_informations %>
|
29
29
|
|
30
|
-
<%= render 'lato_blog/back/posts/shared/index/
|
30
|
+
<%= render 'lato_blog/back/posts/shared/index/index_switch_status', status: @posts_status %>
|
31
31
|
|
32
32
|
<%=raw row.close %>
|
33
33
|
|
@@ -6,7 +6,7 @@
|
|
6
6
|
|
7
7
|
<%=raw block.open %>
|
8
8
|
|
9
|
-
<%=raw cell(:elements, :title).new(label: LANGUAGES[:lato_blog][:mixed][:
|
9
|
+
<%=raw cell(:elements, :title).new(label: LANGUAGES[:lato_blog][:mixed][:publication_datetime], size: 6) %>
|
10
10
|
|
11
11
|
<%=raw form.open %>
|
12
12
|
|
@@ -0,0 +1,24 @@
|
|
1
|
+
<%
|
2
|
+
block = cell(:elements, :block).new(class: 'xs-12 sm-12 md-12 posts__edit-seo-description')
|
3
|
+
row = cell(:elements, :row).new
|
4
|
+
form = cell(:inputs, :form).new(url: lato_blog.posts_update_seo_description_path, method: :post, remote: true)
|
5
|
+
%>
|
6
|
+
|
7
|
+
<%=raw block.open %>
|
8
|
+
|
9
|
+
<%=raw cell(:elements, :title).new(label: LANGUAGES[:lato_blog][:mixed][:seo_description], size: 6) %>
|
10
|
+
|
11
|
+
<%=raw form.open %>
|
12
|
+
|
13
|
+
<input type="hidden" name="id" value="<%= @post.id %>">
|
14
|
+
|
15
|
+
<%=raw row.open %>
|
16
|
+
|
17
|
+
<%=raw cell(:inputs, :textarea).new(name: 'seo_description', value: @post.seo_description,
|
18
|
+
class: 'md-12') %>
|
19
|
+
|
20
|
+
<%=raw row.close %>
|
21
|
+
|
22
|
+
<%=raw form.close %>
|
23
|
+
|
24
|
+
<%=raw block.close %>
|
@@ -1,12 +1,12 @@
|
|
1
1
|
<%
|
2
|
-
block = cell(:elements, :block).new(class: 'xs-12 sm-12 md-12 posts__edit-status
|
2
|
+
block = cell(:elements, :block).new(class: 'xs-12 sm-12 md-12 posts__edit-status')
|
3
3
|
row = cell(:elements, :row).new
|
4
4
|
form = cell(:inputs, :form).new(url: lato_blog.posts_update_status_path, method: :post, remote: true)
|
5
5
|
%>
|
6
6
|
|
7
7
|
<%=raw block.open %>
|
8
8
|
|
9
|
-
<%=raw cell(:elements, :title).new(label: LANGUAGES[:lato_blog][:mixed][:
|
9
|
+
<%=raw cell(:elements, :title).new(label: LANGUAGES[:lato_blog][:mixed][:status], size: 6) %>
|
10
10
|
|
11
11
|
<%=raw form.open %>
|
12
12
|
|
@@ -4,8 +4,6 @@
|
|
4
4
|
|
5
5
|
<%=raw block.open %>
|
6
6
|
|
7
|
-
<%=raw cell(:elements, :title).new(label: LANGUAGES[:lato_blog][:mixed][:switch_status], size: 6) %>
|
8
|
-
|
9
7
|
<%
|
10
8
|
published_button = cell(:elements, :button).new(label: LANGUAGES[:lato_blog][:mixed][:published_posts],
|
11
9
|
icon: 'thumbs-o-up', url: lato_blog.posts_path(status: 'published'))
|
data/config/configs.yml
CHANGED
@@ -23,6 +23,9 @@ post_fields:
|
|
23
23
|
image:
|
24
24
|
type: image
|
25
25
|
label: Image
|
26
|
+
gallery:
|
27
|
+
type: gallery
|
28
|
+
label: Gallery
|
26
29
|
editor:
|
27
30
|
type: editor
|
28
31
|
label: Editor
|
@@ -32,6 +35,9 @@ post_fields:
|
|
32
35
|
datetime:
|
33
36
|
type: datetime
|
34
37
|
label: Datetime
|
38
|
+
youtube:
|
39
|
+
type: youtube
|
40
|
+
label: Youtube
|
35
41
|
composed:
|
36
42
|
type: composed
|
37
43
|
label: Composed
|
@@ -51,7 +51,6 @@ mixed:
|
|
51
51
|
published_posts: Public articles
|
52
52
|
drafted_posts: Drafted articles
|
53
53
|
deleted_posts: Deleted articles
|
54
|
-
switch_status: Switch status
|
55
54
|
update: Update
|
56
55
|
save: Save
|
57
56
|
create: Create
|
@@ -70,9 +69,9 @@ mixed:
|
|
70
69
|
update_date: Date of update
|
71
70
|
superuser_creator: Superuser creator
|
72
71
|
status: Status
|
73
|
-
|
72
|
+
publication_datetime: Publication date
|
74
73
|
child_tree: Child tree
|
75
|
-
|
74
|
+
categories: Categories
|
76
75
|
number_of_posts: Number of posts
|
77
76
|
key: Key
|
78
77
|
typology: Typology
|
@@ -80,6 +79,7 @@ mixed:
|
|
80
79
|
post_fields_warning: 'WARNING: Deleting fields could lead to the complete loss of some item data!'
|
81
80
|
post_id: Post id
|
82
81
|
post_field_id: Post field id
|
82
|
+
seo_description: Seo description
|
83
83
|
|
84
84
|
posts_status:
|
85
85
|
published: Published
|
data/config/languages/it.yml
CHANGED
@@ -51,7 +51,6 @@ mixed:
|
|
51
51
|
published_posts: Articoli pubblici
|
52
52
|
drafted_posts: Articoli in bozza
|
53
53
|
deleted_posts: Articoli nel cestino
|
54
|
-
switch_status: Aggiorna stato
|
55
54
|
update: Aggiorna
|
56
55
|
save: Salva
|
57
56
|
create: Crea
|
@@ -70,9 +69,9 @@ mixed:
|
|
70
69
|
update_date: Data di aggioranmento
|
71
70
|
superuser_creator: Creato da
|
72
71
|
status: Stato
|
73
|
-
|
72
|
+
publication_datetime: Data di pubblicazione
|
74
73
|
child_tree: Albero dei figli
|
75
|
-
|
74
|
+
categories: Categorie
|
76
75
|
number_of_posts: Numero di articoli
|
77
76
|
key: Chiave
|
78
77
|
typology: Tipologia
|
@@ -80,6 +79,7 @@ mixed:
|
|
80
79
|
post_fields_warning: 'ATTENZIONE: L'eliminazione dei campi può causare la perdita definitiva di alcuni dati degli articoli!'
|
81
80
|
post_id: Id articolo
|
82
81
|
post_field_id: Id campo
|
82
|
+
seo_description: Descrizione seo
|
83
83
|
|
84
84
|
posts_status:
|
85
85
|
published: Pubblico
|
data/config/routes/back.rb
CHANGED
@@ -6,6 +6,7 @@ resources :posts, module: 'back'
|
|
6
6
|
post 'posts_extra/update_status', to: 'back/posts#update_status', as: 'posts_update_status'
|
7
7
|
post 'posts_extra/update_publication_datetime', to: 'back/posts#update_publication_datetime', as: 'posts_update_publication_datetime'
|
8
8
|
post 'posts_extra/update_categories', to: 'back/posts#update_categories', as: 'posts_update_categories'
|
9
|
+
post 'posts_extra/update_seo_description', to: 'back/posts#update_seo_description', as: 'posts_update_seo_description'
|
9
10
|
get 'posts_extra/destroy_all_deleted', to: 'back/posts#destroy_all_deleted', as: 'posts_destroy_all_deleted'
|
10
11
|
|
11
12
|
# post fields
|
data/lib/lato_blog/interface.rb
CHANGED
@@ -90,6 +90,10 @@ module LatoBlog
|
|
90
90
|
update_db_post_field_geolocalization(db_post_field, content, post_field_parent)
|
91
91
|
when 'image'
|
92
92
|
update_db_post_field_image(db_post_field, content, post_field_parent)
|
93
|
+
when 'gallery'
|
94
|
+
update_db_post_field_gallery(db_post_field, content, post_field_parent)
|
95
|
+
when 'youtube'
|
96
|
+
update_db_post_field_youtube(db_post_field, content, post_field_parent)
|
93
97
|
when 'composed'
|
94
98
|
update_db_post_field_composed(db_post_field, content, post_field_parent)
|
95
99
|
when 'relay'
|
@@ -152,6 +156,27 @@ module LatoBlog
|
|
152
156
|
)
|
153
157
|
end
|
154
158
|
|
159
|
+
# Gallery.
|
160
|
+
def update_db_post_field_gallery(db_post_field, content, post_field_parent = nil)
|
161
|
+
db_post_field.update(
|
162
|
+
meta_datas: {
|
163
|
+
label: content[:label] && !content[:label].blank? ? content[:label] : db_post_field.key,
|
164
|
+
class: content[:class] && !content[:class].blank? ? content[:class] : nil
|
165
|
+
}
|
166
|
+
)
|
167
|
+
end
|
168
|
+
|
169
|
+
# Youtube.
|
170
|
+
def update_db_post_field_youtube(db_post_field, content, post_field_parent = nil)
|
171
|
+
db_post_field.update(
|
172
|
+
meta_datas: {
|
173
|
+
label: content[:label] && !content[:label].blank? ? content[:label] : db_post_field.key,
|
174
|
+
class: content[:class] && !content[:class].blank? ? content[:class] : nil
|
175
|
+
}
|
176
|
+
)
|
177
|
+
end
|
178
|
+
|
179
|
+
|
155
180
|
# Composed.
|
156
181
|
def update_db_post_field_composed(db_post_field, content, post_field_parent = nil)
|
157
182
|
# update the main field
|
data/lib/lato_blog/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: lato_blog
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 2.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ideonetwork
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-
|
11
|
+
date: 2017-10-26 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -78,8 +78,8 @@ files:
|
|
78
78
|
- Rakefile
|
79
79
|
- app/assets/config/lato_blog_manifest.js
|
80
80
|
- app/assets/javascripts/lato_blog/application.js
|
81
|
-
- app/assets/javascripts/lato_blog/
|
82
|
-
- app/assets/javascripts/lato_blog/
|
81
|
+
- app/assets/javascripts/lato_blog/modules/BlogFields.js
|
82
|
+
- app/assets/javascripts/lato_blog/modules/BlogPosts.js
|
83
83
|
- app/assets/stylesheets/lato_blog/_helpers.scss
|
84
84
|
- app/assets/stylesheets/lato_blog/application.scss
|
85
85
|
- app/assets/stylesheets/lato_blog/fields/_composed.scss
|
@@ -91,6 +91,7 @@ files:
|
|
91
91
|
- app/assets/stylesheets/lato_blog/fields/_image.scss
|
92
92
|
- app/assets/stylesheets/lato_blog/fields/_relay.scss
|
93
93
|
- app/assets/stylesheets/lato_blog/fields/_text.scss
|
94
|
+
- app/assets/stylesheets/lato_blog/fields/_youtube.scss
|
94
95
|
- app/assets/stylesheets/lato_blog/pages/_categories.scss
|
95
96
|
- app/assets/stylesheets/lato_blog/pages/_pages.scss
|
96
97
|
- app/assets/stylesheets/lato_blog/pages/_posts.scss
|
@@ -140,10 +141,12 @@ files:
|
|
140
141
|
- app/views/lato_blog/back/post_fields/fields/_composed.html.erb
|
141
142
|
- app/views/lato_blog/back/post_fields/fields/_datetime.html.erb
|
142
143
|
- app/views/lato_blog/back/post_fields/fields/_editor.html.erb
|
144
|
+
- app/views/lato_blog/back/post_fields/fields/_gallery.html.erb
|
143
145
|
- app/views/lato_blog/back/post_fields/fields/_geolocalization.html.erb
|
144
146
|
- app/views/lato_blog/back/post_fields/fields/_image.html.erb
|
145
147
|
- app/views/lato_blog/back/post_fields/fields/_relay.html.erb
|
146
148
|
- app/views/lato_blog/back/post_fields/fields/_text.html.erb
|
149
|
+
- app/views/lato_blog/back/post_fields/fields/_youtube.html.erb
|
147
150
|
- app/views/lato_blog/back/post_fields/index.html.erb
|
148
151
|
- app/views/lato_blog/back/posts/edit.html.erb
|
149
152
|
- app/views/lato_blog/back/posts/index.html.erb
|
@@ -154,10 +157,11 @@ files:
|
|
154
157
|
- app/views/lato_blog/back/posts/shared/edit/_edit_informations.html.erb
|
155
158
|
- app/views/lato_blog/back/posts/shared/edit/_edit_languages.html.erb
|
156
159
|
- app/views/lato_blog/back/posts/shared/edit/_edit_pubblication_datetime.html.erb
|
157
|
-
- app/views/lato_blog/back/posts/shared/edit/
|
160
|
+
- app/views/lato_blog/back/posts/shared/edit/_edit_seo_description.html.erb
|
161
|
+
- app/views/lato_blog/back/posts/shared/edit/_edit_status.html.erb
|
158
162
|
- app/views/lato_blog/back/posts/shared/index/_index.html.erb
|
159
163
|
- app/views/lato_blog/back/posts/shared/index/_index_informations.html.erb
|
160
|
-
- app/views/lato_blog/back/posts/shared/index/
|
164
|
+
- app/views/lato_blog/back/posts/shared/index/_index_switch_status.html.erb
|
161
165
|
- app/views/lato_blog/back/posts/shared/new/_new_informations.html.erb
|
162
166
|
- app/views/lato_blog/doc/doc/index.html.erb
|
163
167
|
- app/views/lato_blog/doc/fields/composed.html.erb
|
@@ -187,6 +191,7 @@ files:
|
|
187
191
|
- db/migrate/20170516063320_create_lato_blog_category_parents.rb
|
188
192
|
- db/migrate/20170516063330_create_lato_blog_category_posts.rb
|
189
193
|
- db/migrate/20170516063330_create_lato_blog_post_fields.rb
|
194
|
+
- db/migrate/20170804131140_add_seo_description_to_lato_blog_posts.rb
|
190
195
|
- lib/lato_blog.rb
|
191
196
|
- lib/lato_blog/engine.rb
|
192
197
|
- lib/lato_blog/interface.rb
|
@@ -194,9 +199,10 @@ files:
|
|
194
199
|
- lib/lato_blog/interfaces/fields.rb
|
195
200
|
- lib/lato_blog/interfaces/languages.rb
|
196
201
|
- lib/lato_blog/interfaces/posts.rb
|
202
|
+
- lib/lato_blog/interfaces/queries.rb
|
197
203
|
- lib/lato_blog/version.rb
|
198
204
|
- lib/tasks/lato_blog_tasks.rake
|
199
|
-
homepage: http://
|
205
|
+
homepage: http://ideonetwork.it/
|
200
206
|
licenses:
|
201
207
|
- MIT
|
202
208
|
metadata: {}
|