enju_trunk_message 0.1.14.pre3
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 +46 -0
- data/app/controllers/message_requests_controller.rb +62 -0
- data/app/controllers/message_templates_controller.rb +17 -0
- data/app/controllers/messages_controller.rb +159 -0
- data/app/helpers/messages_helper.rb +2 -0
- data/app/models/message.rb +85 -0
- data/app/models/message_request.rb +97 -0
- data/app/models/message_template.rb +39 -0
- data/app/views/layouts/messages.html.erb +24 -0
- data/app/views/message_requests/edit.html.erb +40 -0
- data/app/views/message_requests/index.html.erb +58 -0
- data/app/views/message_requests/new.html.erb +40 -0
- data/app/views/message_requests/show.html.erb +55 -0
- data/app/views/message_templates/_form.html.erb +27 -0
- data/app/views/message_templates/edit.html.erb +13 -0
- data/app/views/message_templates/index.html.erb +44 -0
- data/app/views/message_templates/new.html.erb +12 -0
- data/app/views/message_templates/show.html.erb +33 -0
- data/app/views/messages/_form.html.erb +37 -0
- data/app/views/messages/edit.html.erb +42 -0
- data/app/views/messages/index.atom.builder +15 -0
- data/app/views/messages/index.html.erb +66 -0
- data/app/views/messages/index.rss.builder +41 -0
- data/app/views/messages/new.html.erb +43 -0
- data/app/views/messages/show.html.erb +48 -0
- data/app/views/notifier/message_notification.en.text.erb +14 -0
- data/app/views/notifier/message_notification.ja.text.erb +14 -0
- data/config/locales/translation_en.yml +51 -0
- data/config/locales/translation_ja.yml +51 -0
- data/config/routes.rb +9 -0
- data/db/fixtures/message_templates.yml +70 -0
- data/db/migrate/149_create_message_templates.rb +18 -0
- data/db/migrate/154_create_messages.rb +24 -0
- data/db/migrate/20080819181903_create_message_requests.rb +20 -0
- data/db/migrate/20110913115320_add_lft_and_rgt_to_message.rb +11 -0
- data/db/migrate/20120125050502_add_depth_to_message.rb +6 -0
- data/lib/enju_message.rb +7 -0
- data/lib/enju_message/engine.rb +10 -0
- data/lib/enju_message/user.rb +28 -0
- data/lib/enju_message/version.rb +3 -0
- data/lib/generators/enju_message/views_generator.rb +21 -0
- data/lib/tasks/enju_message_tasks.rake +5 -0
- data/spec/controllers/message_requests_controller_spec.rb +275 -0
- data/spec/controllers/message_templates_controller_spec.rb +439 -0
- data/spec/controllers/messages_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/mailers/notifier.rb +30 -0
- data/spec/dummy/app/models/ability.rb +30 -0
- data/spec/dummy/app/models/library_group.rb +86 -0
- data/spec/dummy/app/models/patron.rb +167 -0
- data/spec/dummy/app/models/patron_type.rb +19 -0
- data/spec/dummy/app/models/role.rb +8 -0
- data/spec/dummy/app/models/setting.rb +4 -0
- data/spec/dummy/app/models/user.rb +46 -0
- data/spec/dummy/app/models/user_group.rb +2 -0
- data/spec/dummy/app/models/user_has_role.rb +4 -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 +44 -0
- data/spec/dummy/config/application.yml +38 -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 +6 -0
- data/spec/dummy/config/initializers/resque_mailer.rb +1 -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/001_create_patrons.rb +62 -0
- data/spec/dummy/db/migrate/080_create_library_groups.rb +25 -0
- data/spec/dummy/db/migrate/20080905191442_create_patron_types.rb +16 -0
- data/spec/dummy/db/migrate/20100211105551_add_admin_networks_to_library_group.rb +9 -0
- data/spec/dummy/db/migrate/20100222124420_add_allow_bookmark_external_url_to_library_group.rb +9 -0
- data/spec/dummy/db/migrate/20100527113752_create_delayed_jobs.rb +21 -0
- data/spec/dummy/db/migrate/20110115022329_add_position_to_library_group.rb +9 -0
- data/spec/dummy/db/migrate/20110222073537_add_url_to_library_group.rb +9 -0
- data/spec/dummy/db/migrate/20111020063828_remove_dsbl_from_library_group.rb +11 -0
- data/spec/dummy/db/migrate/20111201121636_create_languages.rb +16 -0
- data/spec/dummy/db/migrate/20111201121844_create_roles.rb +12 -0
- data/spec/dummy/db/migrate/20111201155456_create_users.rb +14 -0
- data/spec/dummy/db/migrate/20111201155513_add_devise_to_users.rb +52 -0
- data/spec/dummy/db/migrate/20111201163342_create_user_groups.rb +12 -0
- data/spec/dummy/db/migrate/20111201163718_create_user_has_roles.rb +10 -0
- data/spec/dummy/db/migrate/20120213092115_add_queue_to_delayed_jobs.rb +9 -0
- data/spec/dummy/db/schema.rb +236 -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/delayed_job +5 -0
- data/spec/dummy/script/rails +6 -0
- data/spec/factories/message.rb +8 -0
- data/spec/factories/message_request.rb +8 -0
- data/spec/factories/message_template.rb +7 -0
- data/spec/factories/user.rb +34 -0
- data/spec/fixtures/library_groups.yml +34 -0
- data/spec/fixtures/message_requests.yml +30 -0
- data/spec/fixtures/message_templates.yml +85 -0
- data/spec/fixtures/messages.yml +62 -0
- data/spec/fixtures/patrons.yml +338 -0
- data/spec/fixtures/roles.yml +21 -0
- data/spec/fixtures/user_groups.yml +25 -0
- data/spec/fixtures/user_has_roles.yml +41 -0
- data/spec/fixtures/users.yml +71 -0
- data/spec/models/message_request_spec.rb +24 -0
- data/spec/models/message_spec.rb +59 -0
- data/spec/models/message_template_spec.rb +22 -0
- data/spec/spec_helper.rb +46 -0
- data/spec/support/controller_macros.rb +48 -0
- data/spec/support/devise.rb +4 -0
- metadata +440 -0
@@ -0,0 +1,15 @@
|
|
1
|
+
atom_feed do |feed|
|
2
|
+
feed.title "#{@user.username}'s Inbox"
|
3
|
+
feed.updated(@messages.first ? @messages.first.created_at : Time.zone.now)
|
4
|
+
|
5
|
+
@messages.each do |message|
|
6
|
+
feed.entry(message, :url => message_url(message)) do |entry|
|
7
|
+
entry.title message.subject
|
8
|
+
entry.content message.body, :type => 'html'
|
9
|
+
|
10
|
+
entry.author do |author|
|
11
|
+
author.name message.sender.login
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
@@ -0,0 +1,66 @@
|
|
1
|
+
<div id="content_detail" class="ui-corner-all">
|
2
|
+
<h1 class="title"><%= t('activerecord.models.message') -%></h1>
|
3
|
+
<div id="content_list">
|
4
|
+
<%= form_for :messages, :url => messages_path, :html => {:method => 'get'} do -%>
|
5
|
+
<p>
|
6
|
+
<%= label_tag :search_form_top, t('page.search_term') -%>: <%= search_field_tag 'query', h(@query), {:id => 'search_form_top', :class => 'search_form', :placeholder => t('page.search_term')} -%>
|
7
|
+
<%= submit_tag t('page.search') -%>
|
8
|
+
</p>
|
9
|
+
<%- end -%>
|
10
|
+
|
11
|
+
<%= form_for :message, :url => destroy_selected_messages_path do |form| -%>
|
12
|
+
<table class="table table-striped index">
|
13
|
+
<tr>
|
14
|
+
<th></th>
|
15
|
+
<th><%= t('activerecord.attributes.message.subject') -%></th>
|
16
|
+
<th><%= t('activerecord.attributes.message.sender') -%></th>
|
17
|
+
<th><%= t('message.sent_at') -%></th>
|
18
|
+
</tr>
|
19
|
+
<%- @messages.each do |message| -%>
|
20
|
+
<tr class="line<%= cycle("0", "1") -%>">
|
21
|
+
<td>
|
22
|
+
<% if can? :delete, message %>
|
23
|
+
<input id="delete_<%=h message.id -%>" name="delete[]" type="checkbox" value="<%=h message.id %>" class="checkbox" />
|
24
|
+
<% end %>
|
25
|
+
</td>
|
26
|
+
<td>
|
27
|
+
<% unless message.read? %><strong><% end %>
|
28
|
+
<%= link_to message.subject, message -%>
|
29
|
+
<% unless message.read? %></strong><% end %>
|
30
|
+
</td>
|
31
|
+
<td><%= link_to message.sender.username, message.sender -%></td>
|
32
|
+
<td><%= l(message.created_at) -%></td>
|
33
|
+
</tr>
|
34
|
+
<%- end -%>
|
35
|
+
<tr>
|
36
|
+
<td colspan="4"><%= submit_tag t('message.delete') -%></td>
|
37
|
+
</tr>
|
38
|
+
</table>
|
39
|
+
<%- end -%>
|
40
|
+
<%= paginate(@messages) -%>
|
41
|
+
</div>
|
42
|
+
</div>
|
43
|
+
|
44
|
+
<div id="submenu" class="ui-corner-all">
|
45
|
+
<ul>
|
46
|
+
<% mode = params[:mode].to_s %>
|
47
|
+
<%- @message_facet.each do |facet| -%>
|
48
|
+
<li>
|
49
|
+
<% facet.value ? facet_mode = 'read' : facet_mode = 'unread' %>
|
50
|
+
<%- if facet_mode == mode -%><strong><%- end -%>
|
51
|
+
<%= link_to t("message.#{facet_mode}"), url_for(params.merge(:page => nil, :mode => facet_mode, :only_path => true)) -%>
|
52
|
+
(<%= facet.count -%>)
|
53
|
+
<%- if facet_mode == mode -%></strong><%- end -%>
|
54
|
+
</li>
|
55
|
+
<%- end -%>
|
56
|
+
<% if mode.present? %>
|
57
|
+
<li><%= link_to t('page.remove_this_facet'), url_for(params.merge(:mode => nil, :page => nil, :only_path => true)) -%></li>
|
58
|
+
<% end %>
|
59
|
+
</ul>
|
60
|
+
|
61
|
+
<ul>
|
62
|
+
<% if can? :create, Message %>
|
63
|
+
<li><%= link_to t('page.new', :model => t('activerecord.models.message')), new_message_path -%></li>
|
64
|
+
<% end %>
|
65
|
+
</ul>
|
66
|
+
</div>
|
@@ -0,0 +1,41 @@
|
|
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:atom' => "http://www.w3.org/2005/Atom"){
|
5
|
+
xml.channel{
|
6
|
+
if @user
|
7
|
+
xml.title t('message.user_message', :login_name => @user.username)
|
8
|
+
xml.link messages_url(@user, :format => :rss)
|
9
|
+
else
|
10
|
+
xml.title t('message.library_group_message', :library_group_name => @library_group.display_name.localize)
|
11
|
+
xml.link messages_url(:format => :rss)
|
12
|
+
end
|
13
|
+
xml.description "Next-L Enju, an open source integrated library system developed by Project Next-L"
|
14
|
+
xml.language @locale.to_s
|
15
|
+
xml.ttl "60"
|
16
|
+
if @user
|
17
|
+
xml.tag! "atom:link", :rel => 'self', :href => messages_url(:format => :rss)
|
18
|
+
xml.tag! "atom:link", :rel => 'alternate', :href => messages_url(:format => :rss)
|
19
|
+
else
|
20
|
+
xml.tag! "atom:link", :rel => 'self', :href => messages_url(:format => :rss)
|
21
|
+
xml.tag! "atom:link", :rel => 'alternate', :href => messages_url
|
22
|
+
end
|
23
|
+
#xml.tag! "atom:link", :rel => 'search', :type => 'application/opensearchdescription+xml', :href => "http://#{request.host_with_port}/page/opensearch"
|
24
|
+
unless params[:query].blank?
|
25
|
+
xml.tag! "opensearch:totalResults", @messages.total_entries
|
26
|
+
xml.tag! "opensearch:startIndex", @messages.offset + 1
|
27
|
+
xml.tag! "opensearch:itemsPerPage", @messages.per_page
|
28
|
+
#xml.tag! "opensearch:Query", :role => 'request', :searchTerms => params[:query], :startPage => (params[:page] || 1)
|
29
|
+
end
|
30
|
+
@messages.each do |message|
|
31
|
+
xml.item do
|
32
|
+
xml.title message.subject
|
33
|
+
#xml.description(message.title)
|
34
|
+
# rfc822
|
35
|
+
xml.pubDate message.created_at.utc.rfc822
|
36
|
+
xml.link message_url(message)
|
37
|
+
xml.guid message_url(message), :isPermaLink => "true"
|
38
|
+
end
|
39
|
+
end
|
40
|
+
}
|
41
|
+
}
|
@@ -0,0 +1,43 @@
|
|
1
|
+
<div id="content_detail" class="ui-corner-all">
|
2
|
+
<h1 class="title"><%= t('page.new', :model => t('activerecord.models.message')) -%></h1>
|
3
|
+
<div id="content_list">
|
4
|
+
<fieldset>
|
5
|
+
|
6
|
+
<%= simple_form_for(@message, :url => messages_path, :validate => true) do |f| -%>
|
7
|
+
<%= f.error_notification -%>
|
8
|
+
|
9
|
+
<div class="field">
|
10
|
+
<label for="message_recepient"><%= t('message.recipient') -%>:</label>
|
11
|
+
<%- if @message.recipient -%>
|
12
|
+
<%= link_to @message.recipient, user_path(@message.recipient) -%>
|
13
|
+
<%= f.hidden_field :recipient, :value => @message.recipient -%>
|
14
|
+
<%- else -%>
|
15
|
+
<%= f.text_field :recipient, :class => 'resource_title', :value => @message.recipient -%>
|
16
|
+
<%- end -%>
|
17
|
+
</div>
|
18
|
+
|
19
|
+
<div class="field">
|
20
|
+
<%= f.label :subject -%>:
|
21
|
+
<%= f.text_field :subject, :class => 'resource_title' -%>
|
22
|
+
</div>
|
23
|
+
|
24
|
+
<div class="field">
|
25
|
+
<%= f.label :body -%>:<br />
|
26
|
+
<%= f.text_area :body, :id => 'message_body' -%>
|
27
|
+
</div>
|
28
|
+
|
29
|
+
<div class="field">
|
30
|
+
<%= f.hidden_field :parent_id -%>
|
31
|
+
<%= f.submit t('message.send') -%>
|
32
|
+
</div>
|
33
|
+
<%- end -%>
|
34
|
+
</fieldset>
|
35
|
+
|
36
|
+
</div>
|
37
|
+
</div>
|
38
|
+
|
39
|
+
<div id="submenu" class="ui-corner-all">
|
40
|
+
<ul>
|
41
|
+
<li><%= link_to t('page.listing', :model => t('activerecord.models.message')), messages_path -%></li>
|
42
|
+
</ul>
|
43
|
+
</div>
|
@@ -0,0 +1,48 @@
|
|
1
|
+
<div id="content_detail" class="ui-corner-all">
|
2
|
+
<h1 class="title"><%= t('activerecord.models.message') -%></h1>
|
3
|
+
<div id="content_list">
|
4
|
+
<p id="notice"><%= notice %></p>
|
5
|
+
|
6
|
+
<fieldset>
|
7
|
+
<p>
|
8
|
+
<label for="message_receiver_name" ><strong><%= t('message.receiver') -%>:</strong></label>
|
9
|
+
<%= link_to @message.receiver.username, @message.receiver -%>
|
10
|
+
</p>
|
11
|
+
<p>
|
12
|
+
<label for="message_sender_name" ><strong><%= t('message.sender') -%>:</strong></label>
|
13
|
+
<%= link_to @message.sender.username, @message.sender -%>
|
14
|
+
</p>
|
15
|
+
|
16
|
+
<p>
|
17
|
+
<label for="message_sent_at" ><strong><%= t('message.sent_at') -%>:</strong></label>
|
18
|
+
<%= l(@message.created_at) -%>
|
19
|
+
</p>
|
20
|
+
|
21
|
+
<p>
|
22
|
+
<label for="message_subject" ><strong><%= t('activerecord.attributes.message.subject') -%>:</strong></label>
|
23
|
+
<%= @message.subject -%>
|
24
|
+
</p>
|
25
|
+
|
26
|
+
<p>
|
27
|
+
<label for="message_body" ><strong><%= t('activerecord.attributes.message.body') -%>:</strong></label>
|
28
|
+
<%= raw auto_link(simple_format(h(@message.body))) -%>
|
29
|
+
</p>
|
30
|
+
|
31
|
+
</fieldset>
|
32
|
+
|
33
|
+
</div>
|
34
|
+
</div>
|
35
|
+
|
36
|
+
<div id="submenu" class="ui-corner-all">
|
37
|
+
<ul>
|
38
|
+
<% if request.referer %>
|
39
|
+
<li><%= link_to t('page.back'), :back -%></li>
|
40
|
+
<% else %>
|
41
|
+
<li><%= link_to t('page.listing', :model => t('activerecord.models.message')), messages_path -%></li>
|
42
|
+
<% end %>
|
43
|
+
<li><%= link_to t('message.reply'), new_message_path(:parent_id => @message.id) -%></li>
|
44
|
+
<% if can? :destroy, :message %>
|
45
|
+
<li><%= link_to t('page.destroy'), @message, :data => {:confirm => t('page.are_you_sure')}, :method => :delete -%></li>
|
46
|
+
<% end %>
|
47
|
+
</ul>
|
48
|
+
</div>
|
@@ -0,0 +1,14 @@
|
|
1
|
+
<%= @message.receiver.full_name -%> :
|
2
|
+
|
3
|
+
A new message arrived from <%= @sender_name -%>.
|
4
|
+
<%= messages_url %>
|
5
|
+
|
6
|
+
-----
|
7
|
+
|
8
|
+
<%=raw @message.body %>
|
9
|
+
|
10
|
+
-----
|
11
|
+
|
12
|
+
--
|
13
|
+
<%= LibraryGroup.system_name(@message.receiver.locale) %>
|
14
|
+
<%= LibraryGroup.site_config.url %>
|
@@ -0,0 +1,14 @@
|
|
1
|
+
<%= @message.receiver.full_name -%> さん
|
2
|
+
|
3
|
+
<%= @sender_name -%> さんから新しいメッセージが届きました。
|
4
|
+
<%= messages_url %>
|
5
|
+
|
6
|
+
-----
|
7
|
+
|
8
|
+
<%=raw @message.body %>
|
9
|
+
|
10
|
+
-----
|
11
|
+
|
12
|
+
--
|
13
|
+
<%= LibraryGroup.system_name(@message.receiver.locale) %>
|
14
|
+
<%= LibraryGroup.site_config.url %>
|
@@ -0,0 +1,51 @@
|
|
1
|
+
en:
|
2
|
+
activerecord:
|
3
|
+
models:
|
4
|
+
message: Message
|
5
|
+
message_template: Message template
|
6
|
+
message_request: Message request
|
7
|
+
|
8
|
+
attributes:
|
9
|
+
message:
|
10
|
+
subject: Subject
|
11
|
+
body: Body
|
12
|
+
sender: Sender
|
13
|
+
receiver: Receiver
|
14
|
+
message_template:
|
15
|
+
status: Status
|
16
|
+
locale: Locale
|
17
|
+
title: Title
|
18
|
+
body: Body
|
19
|
+
position: Position
|
20
|
+
message_request:
|
21
|
+
sent_at: Sent at
|
22
|
+
deleted_at: Deleted at
|
23
|
+
|
24
|
+
message:
|
25
|
+
user_message: "%{login_name}'s messages"
|
26
|
+
sent_at: "Sent at"
|
27
|
+
inbox: "Inbox"
|
28
|
+
write: "Write"
|
29
|
+
outbox: "Outbox"
|
30
|
+
trash: "Trash"
|
31
|
+
recipient: "Recipient"
|
32
|
+
receiver: "Receiver"
|
33
|
+
sender: "Sender"
|
34
|
+
read: "Read"
|
35
|
+
unread: "Unread"
|
36
|
+
deleted: "Deleted"
|
37
|
+
send: "Send message"
|
38
|
+
reply: "Reply"
|
39
|
+
delete: "Delete"
|
40
|
+
sent_successfully: "Message was sent successfully."
|
41
|
+
no_new_message: "No new messages."
|
42
|
+
too_short: "Message is too short. The minimum length is %{count} characters."
|
43
|
+
too_long: "Message is too long. The maximum length is %{count} characters."
|
44
|
+
new_message_from_library: "New message arrived from %{library}"
|
45
|
+
messages_were_deleted: "Messages were deleted."
|
46
|
+
select_messages: "Select messages."
|
47
|
+
message_request:
|
48
|
+
not_sent: "Not sent"
|
49
|
+
sent: "Sent"
|
50
|
+
all: "All messages"
|
51
|
+
|
@@ -0,0 +1,51 @@
|
|
1
|
+
ja:
|
2
|
+
activerecord:
|
3
|
+
models:
|
4
|
+
message: メッセージ
|
5
|
+
message_template: メッセージテンプレート
|
6
|
+
message_request: メッセージの送信リクエスト
|
7
|
+
|
8
|
+
attributes:
|
9
|
+
message:
|
10
|
+
subject: 件名
|
11
|
+
body: 本文
|
12
|
+
sender: 差出人
|
13
|
+
receiver: 宛て先
|
14
|
+
message_template:
|
15
|
+
status: 状態
|
16
|
+
locale: 言語
|
17
|
+
title: タイトル
|
18
|
+
body: 本文
|
19
|
+
position: 位置
|
20
|
+
message_request:
|
21
|
+
sent_at: 送信時刻
|
22
|
+
deleted_at: 削除時刻
|
23
|
+
|
24
|
+
message:
|
25
|
+
user_message: "%{login_name} さんのメッセージ"
|
26
|
+
sent_at: "送信時刻"
|
27
|
+
inbox: "受信箱"
|
28
|
+
write: "メッセージを作成する"
|
29
|
+
outbox: "送信箱"
|
30
|
+
trash: "ごみ箱"
|
31
|
+
recipient: "宛て先"
|
32
|
+
receiver: "受信者"
|
33
|
+
sender: "送信者"
|
34
|
+
read: "既読"
|
35
|
+
unread: "未読"
|
36
|
+
deleted: "削除済み"
|
37
|
+
send: "メッセージを送信する"
|
38
|
+
reply: "メッセージに返信する"
|
39
|
+
delete: "メッセージを削除する"
|
40
|
+
sent_successfully: "メッセージは正しく送信されました。"
|
41
|
+
no_new_message: "新しいメッセージはありません。"
|
42
|
+
too_short: "メッセージが短すぎます。最小 %{count} 文字以上必要です。"
|
43
|
+
too_long: "メッセージが長すぎます。最大 %{count} 文字までです。"
|
44
|
+
new_message_from_library: "%{library} から新しいお知らせが届いています"
|
45
|
+
messages_were_deleted: "メッセージは削除されました。"
|
46
|
+
select_messages: "メッセージを選択してください。"
|
47
|
+
message_request:
|
48
|
+
not_sent: "送信待ち"
|
49
|
+
sent: "送信済み"
|
50
|
+
all: "全てのメッセージ"
|
51
|
+
|
data/config/routes.rb
ADDED
@@ -0,0 +1,70 @@
|
|
1
|
+
message_template_00001:
|
2
|
+
id: 1
|
3
|
+
status: reservation_accepted_for_patron
|
4
|
+
title: Reservation accepted
|
5
|
+
body: Reservation accepted
|
6
|
+
position: 1
|
7
|
+
locale: ja
|
8
|
+
message_template_00002:
|
9
|
+
id: 2
|
10
|
+
status: item_received_for_patron
|
11
|
+
title: Item received
|
12
|
+
body: Item received
|
13
|
+
position: 2
|
14
|
+
locale: ja
|
15
|
+
message_template_00003:
|
16
|
+
id: 3
|
17
|
+
status: reservation_expired_for_patron
|
18
|
+
title: Reservation expired
|
19
|
+
body: Reservation expired
|
20
|
+
position: 3
|
21
|
+
locale: ja
|
22
|
+
message_template_00004:
|
23
|
+
id: 4
|
24
|
+
status: reservation_expired_for_library
|
25
|
+
title: Reservation expired
|
26
|
+
body: Reservation expired
|
27
|
+
position: 4
|
28
|
+
locale: ja
|
29
|
+
message_template_00005:
|
30
|
+
id: 5
|
31
|
+
status: reservation_canceled_for_patron
|
32
|
+
title: Reservation canceled
|
33
|
+
body: Reservation canceled
|
34
|
+
position: 5
|
35
|
+
locale: ja
|
36
|
+
message_template_00006:
|
37
|
+
id: 6
|
38
|
+
status: reservation_canceled_for_library
|
39
|
+
title: Reservation canceled
|
40
|
+
body: Reservation canceled
|
41
|
+
position: 6
|
42
|
+
locale: ja
|
43
|
+
message_template_00007:
|
44
|
+
id: 7
|
45
|
+
status: recall_item
|
46
|
+
title: Recall item
|
47
|
+
body: Recall item
|
48
|
+
position: 7
|
49
|
+
locale: ja
|
50
|
+
message_template_00008:
|
51
|
+
id: 8
|
52
|
+
status: recall_overdue_item
|
53
|
+
title: Recall overdue item
|
54
|
+
body: Recall overdue item
|
55
|
+
position: 8
|
56
|
+
locale: ja
|
57
|
+
message_template_00009:
|
58
|
+
id: 9
|
59
|
+
status: reservation_accepted_for_library
|
60
|
+
title: Reservation accepted
|
61
|
+
body: Reservation accepted
|
62
|
+
position: 9
|
63
|
+
locale: ja
|
64
|
+
message_template_00010:
|
65
|
+
id: 10
|
66
|
+
status: item_received_for_library
|
67
|
+
title: Item received
|
68
|
+
body: Item received
|
69
|
+
position: 10
|
70
|
+
locale: ja
|
@@ -0,0 +1,18 @@
|
|
1
|
+
class CreateMessageTemplates < ActiveRecord::Migration
|
2
|
+
def self.up
|
3
|
+
create_table :message_templates do |t|
|
4
|
+
t.string :status, :null => false
|
5
|
+
t.text :title, :null => false
|
6
|
+
t.text :body, :null => false
|
7
|
+
t.integer :position
|
8
|
+
t.string :locale, :default => I18n.default_locale.to_s
|
9
|
+
|
10
|
+
t.timestamps
|
11
|
+
end
|
12
|
+
add_index :message_templates, :status, :unique => true
|
13
|
+
end
|
14
|
+
|
15
|
+
def self.down
|
16
|
+
drop_table :message_templates
|
17
|
+
end
|
18
|
+
end
|