enju_trunk_message 0.1.14.pre3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (131) hide show
  1. data/MIT-LICENSE +20 -0
  2. data/README.rdoc +3 -0
  3. data/Rakefile +46 -0
  4. data/app/controllers/message_requests_controller.rb +62 -0
  5. data/app/controllers/message_templates_controller.rb +17 -0
  6. data/app/controllers/messages_controller.rb +159 -0
  7. data/app/helpers/messages_helper.rb +2 -0
  8. data/app/models/message.rb +85 -0
  9. data/app/models/message_request.rb +97 -0
  10. data/app/models/message_template.rb +39 -0
  11. data/app/views/layouts/messages.html.erb +24 -0
  12. data/app/views/message_requests/edit.html.erb +40 -0
  13. data/app/views/message_requests/index.html.erb +58 -0
  14. data/app/views/message_requests/new.html.erb +40 -0
  15. data/app/views/message_requests/show.html.erb +55 -0
  16. data/app/views/message_templates/_form.html.erb +27 -0
  17. data/app/views/message_templates/edit.html.erb +13 -0
  18. data/app/views/message_templates/index.html.erb +44 -0
  19. data/app/views/message_templates/new.html.erb +12 -0
  20. data/app/views/message_templates/show.html.erb +33 -0
  21. data/app/views/messages/_form.html.erb +37 -0
  22. data/app/views/messages/edit.html.erb +42 -0
  23. data/app/views/messages/index.atom.builder +15 -0
  24. data/app/views/messages/index.html.erb +66 -0
  25. data/app/views/messages/index.rss.builder +41 -0
  26. data/app/views/messages/new.html.erb +43 -0
  27. data/app/views/messages/show.html.erb +48 -0
  28. data/app/views/notifier/message_notification.en.text.erb +14 -0
  29. data/app/views/notifier/message_notification.ja.text.erb +14 -0
  30. data/config/locales/translation_en.yml +51 -0
  31. data/config/locales/translation_ja.yml +51 -0
  32. data/config/routes.rb +9 -0
  33. data/db/fixtures/message_templates.yml +70 -0
  34. data/db/migrate/149_create_message_templates.rb +18 -0
  35. data/db/migrate/154_create_messages.rb +24 -0
  36. data/db/migrate/20080819181903_create_message_requests.rb +20 -0
  37. data/db/migrate/20110913115320_add_lft_and_rgt_to_message.rb +11 -0
  38. data/db/migrate/20120125050502_add_depth_to_message.rb +6 -0
  39. data/lib/enju_message.rb +7 -0
  40. data/lib/enju_message/engine.rb +10 -0
  41. data/lib/enju_message/user.rb +28 -0
  42. data/lib/enju_message/version.rb +3 -0
  43. data/lib/generators/enju_message/views_generator.rb +21 -0
  44. data/lib/tasks/enju_message_tasks.rake +5 -0
  45. data/spec/controllers/message_requests_controller_spec.rb +275 -0
  46. data/spec/controllers/message_templates_controller_spec.rb +439 -0
  47. data/spec/controllers/messages_controller_spec.rb +443 -0
  48. data/spec/dummy/Rakefile +7 -0
  49. data/spec/dummy/app/assets/javascripts/application.js +9 -0
  50. data/spec/dummy/app/assets/stylesheets/application.css +7 -0
  51. data/spec/dummy/app/controllers/application_controller.rb +52 -0
  52. data/spec/dummy/app/helpers/application_helper.rb +2 -0
  53. data/spec/dummy/app/mailers/notifier.rb +30 -0
  54. data/spec/dummy/app/models/ability.rb +30 -0
  55. data/spec/dummy/app/models/library_group.rb +86 -0
  56. data/spec/dummy/app/models/patron.rb +167 -0
  57. data/spec/dummy/app/models/patron_type.rb +19 -0
  58. data/spec/dummy/app/models/role.rb +8 -0
  59. data/spec/dummy/app/models/setting.rb +4 -0
  60. data/spec/dummy/app/models/user.rb +46 -0
  61. data/spec/dummy/app/models/user_group.rb +2 -0
  62. data/spec/dummy/app/models/user_has_role.rb +4 -0
  63. data/spec/dummy/app/views/layouts/application.html.erb +14 -0
  64. data/spec/dummy/app/views/page/403.html.erb +9 -0
  65. data/spec/dummy/app/views/page/403.mobile.erb +5 -0
  66. data/spec/dummy/app/views/page/403.xml.erb +4 -0
  67. data/spec/dummy/app/views/page/404.html.erb +9 -0
  68. data/spec/dummy/app/views/page/404.mobile.erb +5 -0
  69. data/spec/dummy/app/views/page/404.xml.erb +4 -0
  70. data/spec/dummy/config.ru +4 -0
  71. data/spec/dummy/config/application.rb +44 -0
  72. data/spec/dummy/config/application.yml +38 -0
  73. data/spec/dummy/config/boot.rb +10 -0
  74. data/spec/dummy/config/database.yml +25 -0
  75. data/spec/dummy/config/environment.rb +5 -0
  76. data/spec/dummy/config/environments/development.rb +30 -0
  77. data/spec/dummy/config/environments/production.rb +60 -0
  78. data/spec/dummy/config/environments/test.rb +39 -0
  79. data/spec/dummy/config/initializers/backtrace_silencers.rb +7 -0
  80. data/spec/dummy/config/initializers/devise.rb +205 -0
  81. data/spec/dummy/config/initializers/inflections.rb +10 -0
  82. data/spec/dummy/config/initializers/mime_types.rb +6 -0
  83. data/spec/dummy/config/initializers/resque_mailer.rb +1 -0
  84. data/spec/dummy/config/initializers/secret_token.rb +7 -0
  85. data/spec/dummy/config/initializers/session_store.rb +8 -0
  86. data/spec/dummy/config/initializers/wrap_parameters.rb +14 -0
  87. data/spec/dummy/config/locales/en.yml +5 -0
  88. data/spec/dummy/config/routes.rb +60 -0
  89. data/spec/dummy/db/migrate/001_create_patrons.rb +62 -0
  90. data/spec/dummy/db/migrate/080_create_library_groups.rb +25 -0
  91. data/spec/dummy/db/migrate/20080905191442_create_patron_types.rb +16 -0
  92. data/spec/dummy/db/migrate/20100211105551_add_admin_networks_to_library_group.rb +9 -0
  93. data/spec/dummy/db/migrate/20100222124420_add_allow_bookmark_external_url_to_library_group.rb +9 -0
  94. data/spec/dummy/db/migrate/20100527113752_create_delayed_jobs.rb +21 -0
  95. data/spec/dummy/db/migrate/20110115022329_add_position_to_library_group.rb +9 -0
  96. data/spec/dummy/db/migrate/20110222073537_add_url_to_library_group.rb +9 -0
  97. data/spec/dummy/db/migrate/20111020063828_remove_dsbl_from_library_group.rb +11 -0
  98. data/spec/dummy/db/migrate/20111201121636_create_languages.rb +16 -0
  99. data/spec/dummy/db/migrate/20111201121844_create_roles.rb +12 -0
  100. data/spec/dummy/db/migrate/20111201155456_create_users.rb +14 -0
  101. data/spec/dummy/db/migrate/20111201155513_add_devise_to_users.rb +52 -0
  102. data/spec/dummy/db/migrate/20111201163342_create_user_groups.rb +12 -0
  103. data/spec/dummy/db/migrate/20111201163718_create_user_has_roles.rb +10 -0
  104. data/spec/dummy/db/migrate/20120213092115_add_queue_to_delayed_jobs.rb +9 -0
  105. data/spec/dummy/db/schema.rb +236 -0
  106. data/spec/dummy/public/404.html +26 -0
  107. data/spec/dummy/public/422.html +26 -0
  108. data/spec/dummy/public/500.html +26 -0
  109. data/spec/dummy/public/favicon.ico +0 -0
  110. data/spec/dummy/script/delayed_job +5 -0
  111. data/spec/dummy/script/rails +6 -0
  112. data/spec/factories/message.rb +8 -0
  113. data/spec/factories/message_request.rb +8 -0
  114. data/spec/factories/message_template.rb +7 -0
  115. data/spec/factories/user.rb +34 -0
  116. data/spec/fixtures/library_groups.yml +34 -0
  117. data/spec/fixtures/message_requests.yml +30 -0
  118. data/spec/fixtures/message_templates.yml +85 -0
  119. data/spec/fixtures/messages.yml +62 -0
  120. data/spec/fixtures/patrons.yml +338 -0
  121. data/spec/fixtures/roles.yml +21 -0
  122. data/spec/fixtures/user_groups.yml +25 -0
  123. data/spec/fixtures/user_has_roles.yml +41 -0
  124. data/spec/fixtures/users.yml +71 -0
  125. data/spec/models/message_request_spec.rb +24 -0
  126. data/spec/models/message_spec.rb +59 -0
  127. data/spec/models/message_template_spec.rb +22 -0
  128. data/spec/spec_helper.rb +46 -0
  129. data/spec/support/controller_macros.rb +48 -0
  130. data/spec/support/devise.rb +4 -0
  131. 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,9 @@
1
+ Rails.application.routes.draw do
2
+ resources :message_requests, :except => [:new, :create]
3
+ resources :message_templates
4
+ resources :messages do
5
+ collection do
6
+ post :destroy_selected
7
+ end
8
+ end
9
+ end
@@ -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