enju_news 0.0.2
Sign up to get free protection for your applications and to get access to all the features.
- data/MIT-LICENSE +20 -0
- data/README.rdoc +3 -0
- data/Rakefile +47 -0
- data/app/controllers/news_feeds_controller.rb +101 -0
- data/app/controllers/news_posts_controller.rb +98 -0
- data/app/helpers/news_feeds_helper.rb +2 -0
- data/app/helpers/news_posts_helper.rb +2 -0
- data/app/models/news_feed.rb +83 -0
- data/app/models/news_feed_sweeper.rb +12 -0
- data/app/models/news_post.rb +15 -0
- data/app/views/news_feeds/_content.html.erb +9 -0
- data/app/views/news_feeds/_content_atom.html.erb +16 -0
- data/app/views/news_feeds/_content_rss.html.erb +16 -0
- data/app/views/news_feeds/_form.html.erb +14 -0
- data/app/views/news_feeds/_list.html.erb +7 -0
- data/app/views/news_feeds/edit.html.erb +29 -0
- data/app/views/news_feeds/index.html.erb +42 -0
- data/app/views/news_feeds/new.html.erb +28 -0
- data/app/views/news_feeds/show.html.erb +34 -0
- data/app/views/news_posts/_form.html.erb +44 -0
- data/app/views/news_posts/edit.html.erb +13 -0
- data/app/views/news_posts/index.atom.builder +11 -0
- data/app/views/news_posts/index.html.erb +42 -0
- data/app/views/news_posts/index.rss.builder +32 -0
- data/app/views/news_posts/new.html.erb +12 -0
- data/app/views/news_posts/show.html.erb +49 -0
- data/config/locales/translation_en.yml +28 -0
- data/config/locales/translation_ja.yml +28 -0
- data/config/routes.rb +4 -0
- data/db/migrate/20081031033632_create_news_feeds.rb +13 -0
- data/db/migrate/20090126071155_create_news_posts.rb +18 -0
- data/db/migrate/20110220103937_add_url_to_news_post.rb +9 -0
- data/lib/enju_news.rb +6 -0
- data/lib/enju_news/engine.rb +12 -0
- data/lib/enju_news/expire_editable_fragment.rb +15 -0
- data/lib/enju_news/version.rb +3 -0
- data/lib/tasks/enju_news_tasks.rake +4 -0
- data/spec/cassette_library/NewsFeed.yml +1998 -0
- data/spec/controllers/news_feeds_controller_spec.rb +445 -0
- data/spec/controllers/news_posts_controller_spec.rb +443 -0
- data/spec/dummy/Rakefile +7 -0
- data/spec/dummy/app/assets/javascripts/application.js +9 -0
- data/spec/dummy/app/assets/stylesheets/application.css +7 -0
- data/spec/dummy/app/controllers/application_controller.rb +52 -0
- data/spec/dummy/app/helpers/application_helper.rb +2 -0
- data/spec/dummy/app/models/ability.rb +22 -0
- data/spec/dummy/app/models/library_group.rb +86 -0
- data/spec/dummy/app/models/role.rb +46 -0
- data/spec/dummy/app/models/user.rb +94 -0
- data/spec/dummy/app/models/user_group.rb +40 -0
- data/spec/dummy/app/models/user_has_role.rb +5 -0
- data/spec/dummy/app/views/layouts/application.html.erb +14 -0
- data/spec/dummy/app/views/page/403.html.erb +9 -0
- data/spec/dummy/app/views/page/403.mobile.erb +5 -0
- data/spec/dummy/app/views/page/403.xml.erb +4 -0
- data/spec/dummy/app/views/page/404.html.erb +9 -0
- data/spec/dummy/app/views/page/404.mobile.erb +5 -0
- data/spec/dummy/app/views/page/404.xml.erb +4 -0
- data/spec/dummy/config.ru +4 -0
- data/spec/dummy/config/application.rb +47 -0
- data/spec/dummy/config/boot.rb +10 -0
- data/spec/dummy/config/database.yml +25 -0
- data/spec/dummy/config/environment.rb +5 -0
- data/spec/dummy/config/environments/development.rb +30 -0
- data/spec/dummy/config/environments/production.rb +60 -0
- data/spec/dummy/config/environments/test.rb +39 -0
- data/spec/dummy/config/initializers/backtrace_silencers.rb +7 -0
- data/spec/dummy/config/initializers/devise.rb +205 -0
- data/spec/dummy/config/initializers/inflections.rb +10 -0
- data/spec/dummy/config/initializers/mime_types.rb +5 -0
- data/spec/dummy/config/initializers/secret_token.rb +7 -0
- data/spec/dummy/config/initializers/session_store.rb +8 -0
- data/spec/dummy/config/initializers/wrap_parameters.rb +14 -0
- data/spec/dummy/config/locales/en.yml +5 -0
- data/spec/dummy/config/routes.rb +60 -0
- data/spec/dummy/db/migrate/077_create_user_groups.rb +16 -0
- data/spec/dummy/db/migrate/080_create_library_groups.rb +20 -0
- data/spec/dummy/db/migrate/20110222073537_add_url_to_library_group.rb +9 -0
- data/spec/dummy/db/migrate/20110318183304_add_valid_period_for_new_user_to_user_group.rb +13 -0
- data/spec/dummy/db/migrate/20111201121844_create_roles.rb +12 -0
- data/spec/dummy/db/migrate/20111201155456_create_users.rb +16 -0
- data/spec/dummy/db/migrate/20111201155513_add_devise_to_users.rb +44 -0
- data/spec/dummy/db/migrate/20111201163718_create_user_has_roles.rb +10 -0
- data/spec/dummy/db/schema.rb +116 -0
- data/spec/dummy/db/test.sqlite3 +0 -0
- data/spec/dummy/lib/master_model.rb +19 -0
- data/spec/dummy/lib/url_validator.rb +10 -0
- data/spec/dummy/public/404.html +26 -0
- data/spec/dummy/public/422.html +26 -0
- data/spec/dummy/public/500.html +26 -0
- data/spec/dummy/public/favicon.ico +0 -0
- data/spec/dummy/script/rails +6 -0
- data/spec/factories/news_feed.rb +6 -0
- data/spec/factories/news_post.rb +7 -0
- data/spec/factories/user.rb +37 -0
- data/spec/fixtures/library_groups.yml +33 -0
- data/spec/fixtures/news_feeds.yml +11 -0
- data/spec/fixtures/news_posts.yml +13 -0
- data/spec/fixtures/roles.yml +21 -0
- data/spec/fixtures/user_has_roles.yml +41 -0
- data/spec/fixtures/users.yml +93 -0
- data/spec/models/news_feed_spec.rb +31 -0
- data/spec/models/news_post_spec.rb +5 -0
- data/spec/spec_helper.rb +42 -0
- data/spec/support/controller_macros.rb +46 -0
- data/spec/support/devise.rb +4 -0
- data/spec/support/vcr.rb +9 -0
- metadata +430 -0
@@ -0,0 +1,29 @@
|
|
1
|
+
<div id="content_detail" class="ui-corner-all">
|
2
|
+
<h1 class="title"><%= t('page.editing', :model => t('activerecord.models.news_feed')) -%></h1>
|
3
|
+
<div id="content_list">
|
4
|
+
|
5
|
+
<%= form_for(@news_feed) do |f| -%>
|
6
|
+
<%= f.error_messages -%>
|
7
|
+
|
8
|
+
<p>
|
9
|
+
<%= f.label t('activerecord.attributes.news_feed.title') -%><br />
|
10
|
+
<%= f.text_field :title, :class => 'resource_class' -%>
|
11
|
+
</p>
|
12
|
+
<p>
|
13
|
+
<%= f.label t('activerecord.attributes.news_feed.url') -%><br />
|
14
|
+
<%= f.text_field :url, :class => 'resource_url' -%>
|
15
|
+
</p>
|
16
|
+
<p>
|
17
|
+
<%= f.submit t('page.update') -%>
|
18
|
+
</p>
|
19
|
+
<%- end -%>
|
20
|
+
|
21
|
+
</div>
|
22
|
+
</div>
|
23
|
+
|
24
|
+
<div id="submenu" class="ui-corner-all">
|
25
|
+
<ul>
|
26
|
+
<li><%= link_to t('page.show'), @news_feed -%></li>
|
27
|
+
<li><%= link_to t('page.back'), news_feeds_path -%></li>
|
28
|
+
</ul>
|
29
|
+
</div>
|
@@ -0,0 +1,42 @@
|
|
1
|
+
<div id="content_detail" class="ui-corner-all">
|
2
|
+
<h1 class="title"><%= t('page.listing', :model => t('activerecord.models.news_feed')) -%></h1>
|
3
|
+
<div id="content_list">
|
4
|
+
|
5
|
+
<table class="index">
|
6
|
+
<tr>
|
7
|
+
<th id="position"></th>
|
8
|
+
<th><%= t('activerecord.attributes.news_feed.title') -%></th>
|
9
|
+
<th><%= t('activerecord.attributes.news_feed.url') -%></th>
|
10
|
+
<th></th>
|
11
|
+
</tr>
|
12
|
+
|
13
|
+
<%- @news_feeds.each do |news_feed| -%>
|
14
|
+
<tr class="line<%= cycle("0", "1") -%>">
|
15
|
+
<td>
|
16
|
+
<%- if can? :destroy, news_feed -%>
|
17
|
+
<%= move_position(news_feed) -%>
|
18
|
+
<%- end -%>
|
19
|
+
</td>
|
20
|
+
<td><%= link_to h(news_feed.title), news_feed -%></td>
|
21
|
+
<td><%= link_to h(news_feed.url), news_feed.url -%></td>
|
22
|
+
<td>
|
23
|
+
<%- if can? :destroy, news_feed -%>
|
24
|
+
<%= link_to t('page.edit'), edit_news_feed_path(news_feed) -%>
|
25
|
+
<%= link_to t('page.destroy'), news_feed, :confirm => t('page.are_you_sure'), :method => :delete -%>
|
26
|
+
<%- end -%>
|
27
|
+
</td>
|
28
|
+
</tr>
|
29
|
+
<%- end -%>
|
30
|
+
</table>
|
31
|
+
|
32
|
+
<%= will_paginate(@news_feeds) -%>
|
33
|
+
|
34
|
+
</div>
|
35
|
+
</div>
|
36
|
+
|
37
|
+
<div id="submenu" class="ui-corner-all">
|
38
|
+
<ul>
|
39
|
+
<li><%= link_to t('page.new', :model => t('activerecord.models.news_feed')), new_news_feed_path -%></li>
|
40
|
+
<li><%= link_to t('page.clear_cache'), news_feeds_path(:mode => 'clear_cache') -%></li>
|
41
|
+
</ul>
|
42
|
+
</div>
|
@@ -0,0 +1,28 @@
|
|
1
|
+
<div id="content_detail" class="ui-corner-all">
|
2
|
+
<h1 class="title"><%= t('page.new', :model => t('activerecord.models.news_feed')) -%></h1>
|
3
|
+
<div id="content_list">
|
4
|
+
|
5
|
+
<%= form_for(@news_feed) do |f| -%>
|
6
|
+
<%= f.error_messages -%>
|
7
|
+
|
8
|
+
<p>
|
9
|
+
<%= f.label t('activerecord.attributes.news_feed.title') -%><br />
|
10
|
+
<%= f.text_field :title, :class => 'resource_title' -%>
|
11
|
+
</p>
|
12
|
+
<p>
|
13
|
+
<%= f.label t('activerecord.attributes.news_feed.url') -%><br />
|
14
|
+
<%= f.text_field :url, :class => 'resource_url' -%>
|
15
|
+
</p>
|
16
|
+
<p>
|
17
|
+
<%= f.submit t('page.create') -%>
|
18
|
+
</p>
|
19
|
+
<%- end -%>
|
20
|
+
|
21
|
+
</div>
|
22
|
+
</div>
|
23
|
+
|
24
|
+
<div id="submenu" class="ui-corner-all">
|
25
|
+
<ul>
|
26
|
+
<li><%= link_to t('page.back'), news_feeds_path -%></li>
|
27
|
+
</ul>
|
28
|
+
</div>
|
@@ -0,0 +1,34 @@
|
|
1
|
+
<div id="content_detail" class="ui-corner-all">
|
2
|
+
<h1 class="title"><%= t('page.showing', :model => t('activerecord.models.news_feed')) -%></h1>
|
3
|
+
<div id="content_list">
|
4
|
+
<p>
|
5
|
+
<strong><%= t('activerecord.attributes.news_feed.title') -%>:</strong>
|
6
|
+
<%= @news_feed.title -%>
|
7
|
+
</p>
|
8
|
+
|
9
|
+
<p>
|
10
|
+
<strong><%= t('activerecord.attributes.news_feed.url') -%>:</strong>
|
11
|
+
<%= link_to h(@news_feed.url), @news_feed.url -%>
|
12
|
+
</p>
|
13
|
+
|
14
|
+
<div id="news_feed_box">
|
15
|
+
<%= render :partial => 'news_feeds/content', :locals => {:news_feed => @news_feed} -%>
|
16
|
+
</div>
|
17
|
+
|
18
|
+
<%= form_for(@news_feed, :url => news_feed_url(@news_feed, :mode => 'force_reload')) do |f| -%>
|
19
|
+
<%= f.error_messages -%>
|
20
|
+
|
21
|
+
<p>
|
22
|
+
<%= f.submit t('page.force_reload') -%>
|
23
|
+
</p>
|
24
|
+
<%- end -%>
|
25
|
+
|
26
|
+
</div>
|
27
|
+
</div>
|
28
|
+
|
29
|
+
<div id="submenu" class="ui-corner-all">
|
30
|
+
<ul>
|
31
|
+
<li><%= link_to t('page.edit'), edit_news_feed_path(@news_feed) -%></li>
|
32
|
+
<li><%= link_to t('page.back'), news_feeds_path -%></li>
|
33
|
+
</ul>
|
34
|
+
</div>
|
@@ -0,0 +1,44 @@
|
|
1
|
+
<%= form_for(@news_post) do |f| -%>
|
2
|
+
<%= f.error_messages -%>
|
3
|
+
<div class="field">
|
4
|
+
<%= f.label t('activerecord.attributes.news_post.title') -%><br />
|
5
|
+
<%= f.text_field :title, :class => 'resource_title' -%>
|
6
|
+
</div>
|
7
|
+
<div class="field">
|
8
|
+
<%= f.label t('activerecord.attributes.news_post.body') -%><br />
|
9
|
+
<%= f.text_area :body, :class => 'resource_textarea' -%>
|
10
|
+
</div>
|
11
|
+
<div class="field">
|
12
|
+
<%= f.label t('activerecord.attributes.news_post.url') -%>
|
13
|
+
<%= f.url_field :url, :class => 'resource_url' -%>
|
14
|
+
</div>
|
15
|
+
<!--
|
16
|
+
<div class="field">
|
17
|
+
<%= f.label t('activerecord.models.user') -%><br />
|
18
|
+
<%= link_to h(@news_post.user.username), user_path(@news_post.user.username) -%>
|
19
|
+
</div>
|
20
|
+
<div class="field">
|
21
|
+
<%= f.label t('role.required_role') -%>
|
22
|
+
<%= f.select(:required_role_id, @roles.collect{|r| [r.display_name.localize, r.id]}) -%>
|
23
|
+
</div>
|
24
|
+
-->
|
25
|
+
<div class="field">
|
26
|
+
<%= f.label t('activerecord.attributes.news_post.start_date') -%>
|
27
|
+
<%= f.date_select :start_date -%>
|
28
|
+
</div>
|
29
|
+
<div class="field">
|
30
|
+
<%= f.label t('activerecord.attributes.news_post.end_date') -%><br />
|
31
|
+
<%= f.datetime_select :end_date -%>
|
32
|
+
</div>
|
33
|
+
<div class="field">
|
34
|
+
<%= f.label t('activerecord.attributes.news_post.note') -%><br />
|
35
|
+
<%= f.text_area :note, :class => 'resource_textarea' -%>
|
36
|
+
</div>
|
37
|
+
<div class="field">
|
38
|
+
<%= f.label t('activerecord.attributes.news_post.draft') -%>
|
39
|
+
<%= f.check_box :draft -%>
|
40
|
+
</div>
|
41
|
+
<div class="actions">
|
42
|
+
<%= f.submit %>
|
43
|
+
</div>
|
44
|
+
<%- end -%>
|
@@ -0,0 +1,13 @@
|
|
1
|
+
<div id="content_detail" class="ui-corner-all">
|
2
|
+
<h1 class="title"><%= t('page.editing', :model => t('activerecord.models.news_post')) -%></h1>
|
3
|
+
<div id="content_list">
|
4
|
+
<%= render 'form' %>
|
5
|
+
</div>
|
6
|
+
</div>
|
7
|
+
|
8
|
+
<div id="submenu" class="ui-corner-all">
|
9
|
+
<ul>
|
10
|
+
<li><%= link_to t('page.show'), @news_post -%></li>
|
11
|
+
<li><%= link_to t('page.back'), news_posts_path -%></li>
|
12
|
+
</ul>
|
13
|
+
</div>
|
@@ -0,0 +1,11 @@
|
|
1
|
+
atom_feed(:url => news_posts_url(:format => :atom)) do |feed|
|
2
|
+
feed.title t('news_post.library_group_news_post', :library_group_name => @library_group.display_name.localize)
|
3
|
+
feed.updated(@news_posts.first ? @news_posts.first.created_at : Time.zone.now)
|
4
|
+
|
5
|
+
@news_posts.each do |news_post|
|
6
|
+
feed.entry(news_post) do |entry|
|
7
|
+
entry.title(news_post.title)
|
8
|
+
entry.author(news_post.user.username)
|
9
|
+
end
|
10
|
+
end
|
11
|
+
end
|
@@ -0,0 +1,42 @@
|
|
1
|
+
<div id="content_detail" class="ui-corner-all">
|
2
|
+
<h1 class="title"><%= t('page.listing', :model => t('activerecord.models.news_post')) -%></h1>
|
3
|
+
<div id="content_list">
|
4
|
+
|
5
|
+
<table class="index">
|
6
|
+
<tr>
|
7
|
+
<th><%= t('activerecord.attributes.news_post.title') -%></th>
|
8
|
+
<th><%= t('activerecord.models.user') -%></th>
|
9
|
+
<th><%= t('page.date') -%></th>
|
10
|
+
<th><%= t('role.required_role') -%></th>
|
11
|
+
<th></th>
|
12
|
+
</tr>
|
13
|
+
|
14
|
+
<%- @news_posts.each do |news_post| -%>
|
15
|
+
<tr class="line<%= cycle("0", "1") -%>">
|
16
|
+
<td><%= link_to h(news_post.title), news_post -%></td>
|
17
|
+
<td><%= link_to h(news_post.user.username), user_path(news_post.user.username) -%></td>
|
18
|
+
<td>
|
19
|
+
<%= l(news_post.start_date) -%>
|
20
|
+
-
|
21
|
+
<%= l(news_post.end_date) -%>
|
22
|
+
</td>
|
23
|
+
<td><%= news_post.required_role.display_name.localize -%></td>
|
24
|
+
<td>
|
25
|
+
<% if can? :destroy, news_post %>
|
26
|
+
<%= link_to t('page.edit'), edit_news_post_path(news_post) -%>
|
27
|
+
<%= link_to t('page.destroy'), news_post, :confirm => t('page.are_you_sure'), :method => :delete -%>
|
28
|
+
<% end %>
|
29
|
+
</td>
|
30
|
+
</tr>
|
31
|
+
<%- end -%>
|
32
|
+
</table>
|
33
|
+
|
34
|
+
<%= will_paginate(@news_posts) -%>
|
35
|
+
</div>
|
36
|
+
</div>
|
37
|
+
|
38
|
+
<div id="submenu" class="ui-corner-all">
|
39
|
+
<ul>
|
40
|
+
<li><%= link_to t('page.new', :model => t('activerecord.models.news_post')), new_news_post_path -%></li>
|
41
|
+
</ul>
|
42
|
+
</div>
|
@@ -0,0 +1,32 @@
|
|
1
|
+
xml.instruct! :xml, :version=>"1.0"
|
2
|
+
xml.rss('version' => "2.0",
|
3
|
+
'xmlns:opensearch' => "http://a9.com/-/spec/opensearch/1.1/",
|
4
|
+
'xmlns:dc' => "http://purl.org/dc/elements/1.1/",
|
5
|
+
'xmlns:atom' => "http://www.w3.org/2005/Atom"){
|
6
|
+
xml.channel{
|
7
|
+
xml.title t('news_post.library_group_news_post', :library_group_name => @library_group.display_name.localize)
|
8
|
+
xml.link news_posts_url
|
9
|
+
xml.description "Next-L Enju, an open source integrated library system developed by Project Next-L"
|
10
|
+
xml.language @locale.to_s
|
11
|
+
xml.ttl "60"
|
12
|
+
xml.tag! "atom:link", :rel => 'self', :href => news_posts_url(:format => :rss)
|
13
|
+
xml.tag! "atom:link", :rel => 'alternate', :href => root_url
|
14
|
+
xml.tag! "atom:link", :rel => 'search', :type => 'application/opensearchdescription+xml', :href => page_opensearch_url
|
15
|
+
unless params[:query].blank?
|
16
|
+
xml.tag! "opensearch:startIndex", @news_posts.offset + 1
|
17
|
+
xml.tag! "opensearch:itemsPerPage", @news_posts.per_page
|
18
|
+
end
|
19
|
+
if @news_posts
|
20
|
+
@news_posts.each do |news_post|
|
21
|
+
xml.item do
|
22
|
+
xml.title(news_post.title)
|
23
|
+
xml.description(news_post.body)
|
24
|
+
# rfc822
|
25
|
+
xml.pubDate h(news_post.created_at.utc.iso8601)
|
26
|
+
xml.link news_post_url(news_post)
|
27
|
+
xml.guid news_post_url(news_post), :isPermaLink => "true"
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
}
|
32
|
+
}
|
@@ -0,0 +1,12 @@
|
|
1
|
+
<div id="content_detail" class="ui-corner-all">
|
2
|
+
<h1 class="title"><%= t('page.new', :model => t('activerecord.models.news_post')) -%></h1>
|
3
|
+
<div id="content_list">
|
4
|
+
<%= render 'form' %>
|
5
|
+
</div>
|
6
|
+
</div>
|
7
|
+
|
8
|
+
<div id="submenu" class="ui-corner-all">
|
9
|
+
<ul>
|
10
|
+
<li><%= link_to t('page.back'), news_posts_path -%></li>
|
11
|
+
</ul>
|
12
|
+
</div>
|
@@ -0,0 +1,49 @@
|
|
1
|
+
<div id="content_detail" class="ui-corner-all">
|
2
|
+
<h1 class="title"><%= t('page.showing', :model => t('activerecord.models.news_post')) -%></h1>
|
3
|
+
<div id="content_list">
|
4
|
+
<p>
|
5
|
+
<strong><%= t('activerecord.attributes.news_post.title') -%>:</strong>
|
6
|
+
<%= @news_post.title -%>
|
7
|
+
</p>
|
8
|
+
|
9
|
+
<p>
|
10
|
+
<strong><%= t('activerecord.attributes.news_post.body') -%>:</strong>
|
11
|
+
<%= raw auto_link(simple_format(h(@news_post.body))) -%>
|
12
|
+
</p>
|
13
|
+
|
14
|
+
<p>
|
15
|
+
<strong><%= t('activerecord.models.user') -%>:</strong>
|
16
|
+
<%= link_to h(@news_post.user.username), user_path(@news_post.user.username) -%>
|
17
|
+
</p>
|
18
|
+
|
19
|
+
<!--
|
20
|
+
<p>
|
21
|
+
<strong><%= t('role.required_role') -%>:</strong>
|
22
|
+
<%= @news_post.required_role.display_name.localize -%>
|
23
|
+
</p>
|
24
|
+
-->
|
25
|
+
|
26
|
+
<p>
|
27
|
+
<strong><%= t('activerecord.attributes.news_post.start_date') -%>:</strong>
|
28
|
+
<%= l(@news_post.start_date) -%>
|
29
|
+
</p>
|
30
|
+
|
31
|
+
<p>
|
32
|
+
<strong><%= t('activerecord.attributes.news_post.end_date') -%>:</strong>
|
33
|
+
<%= l(@news_post.end_date) -%>
|
34
|
+
</p>
|
35
|
+
|
36
|
+
<p>
|
37
|
+
<strong><%= t('activerecord.attributes.news_post.note') -%>:</strong>
|
38
|
+
<%= @news_post.note -%>
|
39
|
+
</p>
|
40
|
+
|
41
|
+
</div>
|
42
|
+
</div>
|
43
|
+
|
44
|
+
<div id="submenu" class="ui-corner-all">
|
45
|
+
<ul>
|
46
|
+
<li><%= link_to t('page.edit'), edit_news_post_path(@news_post) -%></li>
|
47
|
+
<li><%= link_to t('page.back'), news_posts_path -%></li>
|
48
|
+
</ul>
|
49
|
+
</div>
|
@@ -0,0 +1,28 @@
|
|
1
|
+
en:
|
2
|
+
activerecord:
|
3
|
+
models:
|
4
|
+
news_feed: News feed
|
5
|
+
news_post: News post
|
6
|
+
attributes:
|
7
|
+
news_feed:
|
8
|
+
title: Title
|
9
|
+
url: URL
|
10
|
+
body: Body
|
11
|
+
note: Note
|
12
|
+
position: Position
|
13
|
+
news_post:
|
14
|
+
title: Title
|
15
|
+
body: Body
|
16
|
+
note: Note
|
17
|
+
position: Position
|
18
|
+
start_date: Start date
|
19
|
+
end_date: End date
|
20
|
+
url: URL
|
21
|
+
draft: Draft
|
22
|
+
|
23
|
+
page:
|
24
|
+
news: "News"
|
25
|
+
news_post:
|
26
|
+
library_group_news_post: "News from %{library_group_name}"
|
27
|
+
news_feed:
|
28
|
+
failed_to_fetch_feed: Failed to fetch feeds.
|
@@ -0,0 +1,28 @@
|
|
1
|
+
ja:
|
2
|
+
activerecord:
|
3
|
+
models:
|
4
|
+
news_feed: お知らせのフィード
|
5
|
+
news_post: 図書館からのお知らせ
|
6
|
+
attributes:
|
7
|
+
news_feed:
|
8
|
+
title: タイトル
|
9
|
+
url: URL
|
10
|
+
body: 本文
|
11
|
+
note: 注記
|
12
|
+
position: 位置
|
13
|
+
news_post:
|
14
|
+
title: タイトル
|
15
|
+
body: 本文
|
16
|
+
note: 注記
|
17
|
+
position: 位置
|
18
|
+
start_date: 開始日
|
19
|
+
end_date: 終了日
|
20
|
+
url: URL
|
21
|
+
draft: 下書き
|
22
|
+
|
23
|
+
page:
|
24
|
+
news: "お知らせ"
|
25
|
+
news_post:
|
26
|
+
library_group_news_post: "%{library_group_name} からのお知らせ"
|
27
|
+
news_feed:
|
28
|
+
failed_to_fetch_feed: フィードの読み込みに失敗しました。
|
data/config/routes.rb
ADDED
@@ -0,0 +1,13 @@
|
|
1
|
+
class CreateNewsFeeds < ActiveRecord::Migration
|
2
|
+
def change
|
3
|
+
create_table :news_feeds do |t|
|
4
|
+
t.integer :library_group_id, :default => 1, :null => false
|
5
|
+
t.string :title
|
6
|
+
t.string :url
|
7
|
+
t.text :body
|
8
|
+
t.integer :position
|
9
|
+
|
10
|
+
t.timestamps
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
class CreateNewsPosts < ActiveRecord::Migration
|
2
|
+
def change
|
3
|
+
create_table :news_posts do |t|
|
4
|
+
t.text :title
|
5
|
+
t.text :body
|
6
|
+
t.integer :user_id
|
7
|
+
t.datetime :start_date
|
8
|
+
t.datetime :end_date
|
9
|
+
t.integer :required_role_id, :default => 1, :null => false
|
10
|
+
t.text :note
|
11
|
+
t.integer :position
|
12
|
+
t.boolean :draft, :default => false, :null => false
|
13
|
+
|
14
|
+
t.timestamps
|
15
|
+
end
|
16
|
+
add_index :news_posts, :user_id
|
17
|
+
end
|
18
|
+
end
|