_blog.html.erb
4.59 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
<%= error_messages_for 'blog' %>
<h1><%= _('My Blog') %></h1>
<%= render :file => 'shared/tiny_mce' %>
<%= required f.text_field(:name, :size => '64', :maxlength => 150, :onchange => "updateUrlField(this, '#article_slug')") %>
<%= render :partial => 'general_fields' %>
<script type="text/javascript">
"use strict";
function submit_button(index) {
var form = $($("#article_slug")[0].form);
return form.find("input[type=submit]")[index];
}
function warn_value_change() {
var slug_val = jQuery("#article_slug").val();
var old_slug = jQuery("#old_article_slug").val();
if(old_slug == ""){
jQuery("#old_article_slug").val(jQuery("#article_slug").val());
}else{
if(old_slug != slug_val){
show_warning('article-formitem', "slug-change-confirmation");
disable_button(submit_button(0));
disable_button(submit_button(1));
}else{}
}
}
function confirm_change() {
enable_button(submit_button(0));
enable_button(submit_button(1));
hide_warning('slug-change-confirmation');
jQuery("#old_article_slug").val(jQuery("#article_slug").val());
}
function no_change() {
jQuery("#article_slug").val(jQuery("#old_article_slug").val());
enable_button(submit_button(0));
enable_button(submit_button(1));
hide_warning('slug-change-confirmation');
}
</script>
<%= hidden_field_tag 'old_article_slug', @article.slug %>
<div id="article-formitem">
<%= labelled_form_field( _('Address'),
content_tag('code',
url_for(@article.url).gsub(/#{@article.slug}$/, '') +
text_field(:article, :slug, :onchange => "warn_value_change()", :size => 25)
) +
content_tag('div',
content_tag('strong', _('WARNING!')) + ' ' +
_("You are about to change the address, and this will break external links to this blog or to posts inside it. Do you really want to change?") +
content_tag('div',
button_to_function(:ok, _("Yes"), "confirm_change()") + ' ' +
button_to_function(:cancel, _('No'), 'no_change()')
),
:id => 'slug-change-confirmation',
:class => 'change-confirmation',
:style => 'display: none;'
)
)
%>
</div>
<%= labelled_form_field(_('Description:'), text_area(:article, :body, :rows => 10)) %>
<%= f.fields_for :image_builder, @article.image do |i| %>
<%= file_field_or_thumbnail(_('Cover image:'), @article.image, i)%>
<%= _("Max size: %s (.jpg, .gif, .png)")% Image.max_size.to_humanreadable %>
<% end %>
<% unless @article.image.nil? %>
<%= labelled_check_box(_('Remove cover image'),'remove_image',true,false)%>
<% end %>
<%= labelled_form_field(_('How to display posts:'), f.select(:visualization_format, [
[ _('Full post'), 'full'],
[ _('First paragraph'), 'short'],
[ _('First paragraph, with post picture'), 'short+pic']
])) %>
<%= labelled_form_field(_('Posts per page:'), f.select(:posts_per_page, Blog.posts_per_page_options)) %>
<%= labelled_check_box(_("List only translated posts"), 'article[display_posts_in_current_language]', '1', @article.display_posts_in_current_language?) %>
<%= f.fields_for 'feed', @article.feed do |feed| %>
<%= labelled_form_field(_('Limit of posts in RSS Feed'), feed.select(:limit, [5, 10, 20, 50])) %>
<%= labelled_form_field(_('Include in RSS Feed only posts from language:'), feed.select(:language, [[_('All'), nil ]] + environment.locales.map { |k,v| [v, k]})) %>
<% end %>
<%= f.fields_for 'external_feed_builder', @article.external_feed do |efeed| %>
<div id='fetch-external-feed'>
<% enabled = @article.external_feed && @article.external_feed.enabled %>
<% only_once = @article.external_feed ? @article.external_feed.only_once : true %>
<%= labelled_check_box(_('Fetch posts from an external feed'), 'article[external_feed_builder][enabled]', 'true', enabled, {:onchange => "jQuery('#external-feed-options').toggle()"}) %>
<div id='external-feed-options' style="display: <%= enabled ? 'block' : 'none' %>">
<%= efeed.hidden_field(:id) %>
<%= labelled_form_field( _('Feed address'), efeed.text_field(:address) ) %>
<div id='external-feed-options-only-once'>
<%= labelled_radio_button( _('Fetch posts only once'), 'article[external_feed_builder][only_once]', 'true', only_once) %>
<%= labelled_radio_button( _('Fetch posts periodically'), 'article[external_feed_builder][only_once]', 'false', !only_once) %>
<p>
<em><%= _('Feeds are updated in batches periodically. Please note that your posts will not be fetched immediately.') %></em>
</p>
</div>
</div>
</div>
<% end %>