enju_subject 0.0.15 → 0.0.16

Sign up to get free protection for your applications and to get access to all the features.
Files changed (130) hide show
  1. data/app/views/classification_types/index.html.erb +1 -1
  2. data/app/views/classifications/_index.html.erb +1 -1
  3. data/app/views/classifications/_index_subject.html.erb +1 -1
  4. data/app/views/subject_has_classifications/index.html.erb +1 -1
  5. data/app/views/subject_heading_type_has_subjects/index.html.erb +1 -1
  6. data/app/views/subject_heading_types/index.html.erb +1 -1
  7. data/app/views/subject_types/index.html.erb +1 -1
  8. data/app/views/subjects/_index.html.erb +1 -1
  9. data/app/views/subjects/_index_classification.html.erb +1 -1
  10. data/app/views/subjects/_index_work.html.erb +1 -1
  11. data/app/views/subjects/show.html.erb +1 -1
  12. data/app/views/work_has_subjects/index.html.erb +1 -1
  13. data/lib/enju_subject/engine.rb +1 -7
  14. data/lib/enju_subject/expire_editable_fragment.rb +4 -2
  15. data/lib/enju_subject/version.rb +1 -1
  16. data/lib/enju_subject.rb +0 -2
  17. data/spec/dummy/app/models/role.rb +40 -1
  18. data/spec/dummy/app/models/user.rb +29 -0
  19. data/spec/dummy/config/application.rb +2 -1
  20. data/spec/dummy/db/development.sqlite3 +0 -0
  21. data/spec/dummy/db/migrate/001_create_patrons.rb +53 -0
  22. data/spec/dummy/db/migrate/005_create_manifestations.rb +56 -0
  23. data/spec/dummy/db/migrate/006_create_items.rb +28 -0
  24. data/spec/dummy/db/migrate/012_create_owns.rb +12 -0
  25. data/spec/dummy/db/migrate/015_create_creates.rb +12 -0
  26. data/spec/dummy/db/migrate/047_create_produces.rb +12 -0
  27. data/spec/dummy/db/migrate/073_create_carrier_types.rb +1 -5
  28. data/spec/dummy/db/migrate/112_create_frequencies.rb +12 -0
  29. data/spec/dummy/db/migrate/117_create_form_of_works.rb +12 -0
  30. data/spec/dummy/db/migrate/125_create_donates.rb +12 -0
  31. data/spec/dummy/db/migrate/20080830154109_create_realizes.rb +13 -0
  32. data/spec/dummy/db/migrate/20080830172106_create_exemplifies.rb +13 -0
  33. data/spec/dummy/db/migrate/20080905191442_create_patron_types.rb +1 -5
  34. data/spec/dummy/db/migrate/20081025083323_create_countries.rb +28 -0
  35. data/spec/dummy/db/migrate/20081025083905_create_languages.rb +23 -0
  36. data/spec/dummy/db/migrate/20081027150907_create_picture_files.rb +15 -0
  37. data/spec/dummy/db/migrate/20081028083142_create_patron_import_files.rb +22 -0
  38. data/spec/dummy/db/migrate/20081028083208_create_resource_import_files.rb +22 -0
  39. data/spec/dummy/db/migrate/20090705133942_add_attachments_picture_to_picture_file.rb +15 -0
  40. data/spec/dummy/db/migrate/20090705212043_add_attachments_attachment_to_manifestation.rb +15 -0
  41. data/spec/dummy/db/migrate/20090719201843_create_extents.rb +12 -0
  42. data/spec/dummy/db/migrate/20090720091106_create_medium_of_performances.rb +12 -0
  43. data/spec/dummy/db/migrate/20090720091429_create_content_types.rb +12 -0
  44. data/spec/dummy/db/migrate/20090812151902_create_patron_relationship_types.rb +12 -0
  45. data/spec/dummy/db/migrate/20091012101112_add_dcndl_schema.rb +27 -0
  46. data/spec/dummy/db/migrate/20091025080447_create_licenses.rb +12 -0
  47. data/spec/dummy/db/migrate/20091202124834_create_versions.rb +18 -0
  48. data/spec/dummy/db/migrate/20091214131723_create_series_statements.rb +13 -0
  49. data/spec/dummy/db/migrate/20100129142347_create_import_requests.rb +15 -0
  50. data/spec/dummy/db/migrate/20100223121519_rename_series_statement_title_to_original_title.rb +13 -0
  51. data/spec/dummy/db/migrate/20100321235924_add_series_statement_identifier_to_series_statement.rb +10 -0
  52. data/spec/dummy/db/migrate/20100525124311_create_manifestation_relationships.rb +13 -0
  53. data/spec/dummy/db/migrate/20100606073747_create_patron_relationships.rb +13 -0
  54. data/spec/dummy/db/migrate/20100607044753_create_manifestation_relationship_types.rb +12 -0
  55. data/spec/dummy/db/migrate/20100814091104_add_position_to_patron_relationship.rb +11 -0
  56. data/spec/dummy/db/migrate/20100925043847_create_resource_import_results.rb +15 -0
  57. data/spec/dummy/db/migrate/20100925074559_create_patron_import_results.rb +12 -0
  58. data/spec/dummy/db/migrate/20101212070145_add_acquired_at_to_item.rb +9 -0
  59. data/spec/dummy/db/migrate/20110301035123_add_pub_date_to_manifestation.rb +9 -0
  60. data/spec/dummy/db/migrate/20110301121550_add_birth_date_and_death_date_to_patron.rb +11 -0
  61. data/spec/dummy/db/migrate/20110425133109_add_issn_to_series_statement.rb +9 -0
  62. data/spec/dummy/db/migrate/20110603184217_add_edit_mode_to_resource_import_file.rb +9 -0
  63. data/spec/dummy/db/migrate/20110618091240_add_periodical_to_series_statement.rb +9 -0
  64. data/spec/dummy/db/migrate/20110619064807_add_edition_string_to_manifestation.rb +9 -0
  65. data/spec/dummy/db/migrate/20110620173525_add_bookstore_id_to_item.rb +11 -0
  66. data/spec/dummy/db/migrate/20110627034940_create_series_statement_merge_lists.rb +9 -0
  67. data/spec/dummy/db/migrate/20110627035057_create_series_statement_merges.rb +12 -0
  68. data/spec/dummy/db/migrate/20110820131417_create_series_has_manifestations.rb +13 -0
  69. data/spec/dummy/db/migrate/20110916053430_rename_manifestation_number_list_to_number_string.rb +13 -0
  70. data/spec/dummy/db/migrate/20110916091020_add_volume_number_to_manifestation.rb +13 -0
  71. data/spec/dummy/db/migrate/20110916103953_add_manifestaiton_id_to_series_statement.rb +10 -0
  72. data/spec/dummy/db/migrate/20110918161853_rename_series_statement_manifestation_id_to_root_manifestation_id.rb +13 -0
  73. data/spec/dummy/db/migrate/20110918162329_add_note_to_series_statement.rb +9 -0
  74. data/spec/dummy/db/migrate/20111009183423_add_ndc_to_manifestation.rb +9 -0
  75. data/spec/dummy/db/migrate/20111124110059_create_create_types.rb +12 -0
  76. data/spec/dummy/db/migrate/20111124110319_create_realize_types.rb +12 -0
  77. data/spec/dummy/db/migrate/20111124110355_create_produce_types.rb +12 -0
  78. data/spec/dummy/db/migrate/20111124112131_add_create_type_to_create.rb +7 -0
  79. data/spec/dummy/db/migrate/20111201155513_add_devise_to_users.rb +31 -10
  80. data/spec/dummy/db/migrate/20120125152919_add_title_subseries_transcription_to_series_statement.rb +6 -0
  81. data/spec/dummy/db/migrate/20120129020544_add_budget_type_id_to_item.rb +6 -0
  82. data/spec/dummy/db/migrate/20120319120638_add_content_type_id_to_manifestation.rb +6 -0
  83. data/spec/dummy/db/migrate/20120410104851_add_year_of_publication_to_manifestation.rb +5 -0
  84. data/spec/dummy/db/migrate/20120413072700_add_picture_meta_to_picture_file.rb +5 -0
  85. data/spec/dummy/db/migrate/20120413100352_add_fingerprint_to_picture_file.rb +5 -0
  86. data/spec/dummy/db/migrate/20120413161340_add_fingerprint_to_resource_import_file.rb +5 -0
  87. data/spec/dummy/db/migrate/20120413161403_add_fingerprint_to_patron_import_file.rb +5 -0
  88. data/spec/dummy/db/migrate/20120413170705_add_error_message_to_resource_import_file.rb +5 -0
  89. data/spec/dummy/db/migrate/20120413170720_add_error_message_to_patron_import_file.rb +5 -0
  90. data/spec/dummy/db/migrate/20120415060308_rename_resource_import_file_imported_at_to_executed_at.rb +9 -0
  91. data/spec/dummy/db/migrate/20120415060323_rename_patron_import_file_imported_at_to_executed_at.rb +9 -0
  92. data/spec/dummy/db/migrate/20120415164821_add_attachment_meta_to_manifestation.rb +5 -0
  93. data/spec/dummy/db/migrate/20120418081407_add_month_of_publication_to_manifestation.rb +5 -0
  94. data/spec/dummy/db/migrate/20120602141129_add_edit_mode_to_patron_import_file.rb +5 -0
  95. data/spec/dummy/db/schema.rb +563 -50
  96. data/spec/dummy/db/test.sqlite3 +0 -0
  97. data/spec/dummy/solr/data/test/index/segments_1 +0 -0
  98. data/spec/dummy/solr/data/test/spellchecker/segments_1 +0 -0
  99. data/spec/dummy/tmp/cache/4F7/F90/default_role +0 -0
  100. data/spec/requests/subjects_spec.rb +0 -1
  101. metadata +185 -62
  102. data/app/views/classifications/classification_types/_form.html.erb +0 -19
  103. data/app/views/classifications/classification_types/edit.html.erb +0 -13
  104. data/app/views/classifications/classification_types/index.html.erb +0 -45
  105. data/app/views/classifications/classification_types/new.html.erb +0 -12
  106. data/app/views/classifications/classification_types/show.html.erb +0 -30
  107. data/spec/cassette_library/enju_subject/classification_index.yml +0 -30
  108. data/spec/cassette_library/enju_subject/create.yml +0 -49
  109. data/spec/cassette_library/enju_subject/create_subject.yml +0 -82
  110. data/spec/cassette_library/enju_subject/delete.yml +0 -72
  111. data/spec/cassette_library/enju_subject/edit.yml +0 -49
  112. data/spec/cassette_library/enju_subject/index.yml +0 -82
  113. data/spec/cassette_library/enju_subject/show.yml +0 -72
  114. data/spec/cassette_library/enju_subject/update.yml +0 -72
  115. data/spec/dummy/app/models/carrier_type.rb +0 -4
  116. data/spec/dummy/app/models/manifestation.rb +0 -13
  117. data/spec/dummy/db/migrate/20111201115353_create_manifestations.rb +0 -17
  118. data/spec/dummy/db/migrate/20111201115421_create_patrons.rb +0 -14
  119. data/spec/dummy/db/migrate/20111201121636_create_languages.rb +0 -16
  120. data/spec/dummy/lib/localized_name.rb +0 -13
  121. data/spec/dummy/tmp/cache/assets/CD8/370/sprockets%2F357970feca3ac29060c1e3861e2c0953 +0 -0
  122. data/spec/dummy/tmp/cache/assets/D32/A10/sprockets%2F13fe41fee1fe35b49d145bcc06610705 +0 -0
  123. data/spec/dummy/tmp/cache/assets/D47/9C0/sprockets%2Fed08c2088e78d59a4fc4ea21b625784b +0 -0
  124. data/spec/dummy/tmp/cache/assets/D4E/1B0/sprockets%2Ff7cbd26ba1d28d48de824f0e94586655 +0 -0
  125. data/spec/dummy/tmp/cache/assets/D5A/EA0/sprockets%2Fd771ace226fc8215a3572e0aa35bb0d6 +0 -0
  126. data/spec/dummy/tmp/cache/assets/D63/4E0/sprockets%2F0d39549b9e061d4b82c2ba3ac7ec5c31 +0 -0
  127. data/spec/dummy/tmp/cache/assets/DAD/4B0/sprockets%2Fb5993ad241d17bf516c64e9fcd9f68bb +0 -0
  128. data/spec/dummy/tmp/cache/assets/DDC/400/sprockets%2Fcffd775d018f68ce5dba1ee0d951a994 +0 -0
  129. data/spec/dummy/tmp/cache/assets/DFD/1C0/sprockets%2Fbba00f45f706fc39c4fbfc79305c9afb +0 -0
  130. data/spec/dummy/tmp/cache/assets/E04/890/sprockets%2F2f5173deea6c795b8fdde723bb4b63af +0 -0
@@ -26,7 +26,7 @@
26
26
  <%= link_to t('page.edit'), edit_classification_type_path(classification_type) -%>
27
27
  <% end %>
28
28
  <%- if can? :destroy, classification_type -%>
29
- <%= link_to t('page.destroy'), classification_type, :confirm => t('page.are_you_sure'), :method => :delete -%>
29
+ <%= link_to t('page.destroy'), classification_type, :data => {:confirm => t('page.are_you_sure')}, :method => :delete -%>
30
30
  <%- end -%>
31
31
  </td>
32
32
  </tr>
@@ -27,7 +27,7 @@
27
27
  <td>
28
28
  <%- if can? :destroy, classification -%>
29
29
  <%= link_to t('page.edit'), edit_classification_path(classification) -%>
30
- <%= link_to t('page.destroy'), classification, :confirm => t('page.are_you_sure'), :method => :delete -%>
30
+ <%= link_to t('page.destroy'), classification, :data => {:confirm => t('page.are_you_sure')}, :method => :delete -%>
31
31
  <%- end -%>
32
32
  </td>
33
33
  </tr>
@@ -41,7 +41,7 @@
41
41
  <%= link_to t('page.add'), new_subject_subject_has_classification_path(@subject, :classification_id => classification.id) unless @subject.classifications.include?(classification) -%>
42
42
  <%- else -%>
43
43
  <%- has_classification = @subject.subject_has_classifications.find_by_classification_id(classification) -%>
44
- <%= link_to t('page.destroy'), subject_subject_has_classification_path(@subject, has_classification), :confirm => t('page.are_you_sure'), :method => :delete if has_classification -%>
44
+ <%= link_to t('page.destroy'), subject_subject_has_classification_path(@subject, has_classification), :data => {:confirm => t('page.are_you_sure')}, :method => :delete if has_classification -%>
45
45
  <%- end -%>
46
46
  <%- end -%>
47
47
  </td>
@@ -18,7 +18,7 @@
18
18
  <td>
19
19
  <% if can? :destroy, subject_has_classification %>
20
20
  <%= link_to t('page.edit'), edit_subject_has_classification_path(subject_has_classification) -%>
21
- <%= link_to t('page.destroy'), subject_has_classification, :confirm => t('page.are_you_sure'), :method => :delete -%>
21
+ <%= link_to t('page.destroy'), subject_has_classification, :data => {:confirm => t('page.are_you_sure')}, :method => :delete -%>
22
22
  <% end %>
23
23
  </td>
24
24
  </tr>
@@ -14,7 +14,7 @@
14
14
  <td><%= link_to subject_heading_type_has_subject.subject_heading_type.display_name.localize, subject_heading_type_has_subject.subject_heading_type %></td>
15
15
  <td><%= link_to t('page.show'), subject_heading_type_has_subject %></td>
16
16
  <td><%= link_to t('page.edit'), edit_subject_heading_type_has_subject_path(subject_heading_type_has_subject) %></td>
17
- <td><%= link_to t('page.destroy'), subject_heading_type_has_subject, :confirm => t('page.are_you_sure'), :method => :delete %></td>
17
+ <td><%= link_to t('page.destroy'), subject_heading_type_has_subject, :data => {:confirm => t('page.are_you_sure')}, :method => :delete %></td>
18
18
  </tr>
19
19
  <%- end %>
20
20
  </table>
@@ -26,7 +26,7 @@
26
26
  <%= link_to t('page.edit'), edit_subject_heading_type_path(subject_heading_type) -%>
27
27
  <% end %>
28
28
  <%- if can? :destroy, subject_heading_type -%>
29
- <%= link_to t('page.destroy'), subject_heading_type, :confirm => t('page.are_you_sure'), :method => :delete -%>
29
+ <%= link_to t('page.destroy'), subject_heading_type, :data => {:confirm => t('page.are_you_sure')}, :method => :delete -%>
30
30
  <%- end -%>
31
31
  </td>
32
32
  </tr>
@@ -26,7 +26,7 @@
26
26
  <%= link_to t('page.edit'), edit_subject_type_path(subject_type) -%>
27
27
  <% end %>
28
28
  <%- if can? :destroy, subject_type -%>
29
- <%= link_to t('page.destroy'), subject_type, :confirm => t('page.are_you_sure'), :method => :delete -%>
29
+ <%= link_to t('page.destroy'), subject_type, :data => {:confirm => t('page.are_you_sure')}, :method => :delete -%>
30
30
  <%- end -%>
31
31
  </td>
32
32
  </tr>
@@ -24,7 +24,7 @@
24
24
  <%= link_to t('page.edit'), edit_subject_path(subject) -%>
25
25
  <%- end -%>
26
26
  <%- if can? :destroy, subject -%>
27
- <%= link_to t('page.destroy'), subject, :confirm => t('page.are_you_sure'), :method => :delete -%>
27
+ <%= link_to t('page.destroy'), subject, :data => {:confirm => t('page.are_you_sure')}, :method => :delete -%>
28
28
  <%- end -%>
29
29
  </td>
30
30
  </tr>
@@ -36,7 +36,7 @@
36
36
  <%- else -%>
37
37
  <%- has_classification = @classification.subject_has_classifications.find_by_subject_id(subject) -%>
38
38
  <% if can? :delete, has_classification %>
39
- <%= link_to t('page.destroy'), classification_subject_has_classification_path(@classification, has_classification), :confirm => t('page.are_you_sure'), :method => :delete if has_classification -%>
39
+ <%= link_to t('page.destroy'), classification_subject_has_classification_path(@classification, has_classification), :data => {:confirm => t('page.are_you_sure')}, :method => :delete if has_classification -%>
40
40
  <% end %>
41
41
  <%- end -%>
42
42
  </td>
@@ -39,7 +39,7 @@
39
39
  <%- else -%>
40
40
  <%- has_subject = @work.work_has_subjects.find_by_subject_id(subject) -%>
41
41
  <%- if can? :delete, has_subject -%>
42
- <%= link_to t('page.destroy'), work_work_has_subject_path(@work, has_subject), :confirm => t('page.are_you_sure'), :method => :delete -%>
42
+ <%= link_to t('page.destroy'), work_work_has_subject_path(@work, has_subject), :data => {:confirm => t('page.are_you_sure')}, :method => :delete -%>
43
43
  <% end %>
44
44
  <%- end -%>
45
45
  </td>
@@ -58,7 +58,7 @@
58
58
  <li><%= back_to_index(flash[:page_info]) -%></li>
59
59
  <%- if can? :create, SubjectHasClassification -%>
60
60
  <li><%= link_to t('page.edit'), edit_subject_path(@subject) -%></li>
61
- <li><%= link_to t('page.destroy'), subject_path(@subject), :confirm => t('page.are_you_sure'), :method => :delete -%></li>
61
+ <li><%= link_to t('page.destroy'), subject_path(@subject), :data => {:confirm => t('page.are_you_sure')}, :method => :delete -%></li>
62
62
  <%- end -%>
63
63
  <li><%= link_to t('page.listing', :model => t('activerecord.models.classification')), subject_classifications_path(@subject) -%></li>
64
64
  <li><%= link_to t('page.listing', :model => t('activerecord.models.work')), subject_works_path(@subject) -%></li>
@@ -15,7 +15,7 @@
15
15
  <td><%= link_to work_has_subject.work.original_title, work_has_subject.work -%></td>
16
16
  <td><%= link_to t('page.show'), work_has_subject -%></td>
17
17
  <td><%= link_to t('page.edit'), edit_work_has_subject_path(work_has_subject) -%></td>
18
- <td><%= link_to t('page.destroy'), work_has_subject, :confirm => t('page.are_you_sure'), :method => :delete -%></td>
18
+ <td><%= link_to t('page.destroy'), work_has_subject, :data => {:confirm => t('page.are_you_sure')}, :method => :delete -%></td>
19
19
  </tr>
20
20
  <%- end -%>
21
21
  </table>
@@ -1,12 +1,6 @@
1
- require 'devise'
2
- require 'cancan'
1
+ require 'enju_core'
3
2
  require 'inherited_resources'
4
- require 'attribute_normalizer'
5
- require 'friendly_id'
6
- require 'will_paginate'
7
- require 'sunspot_rails'
8
3
  require 'dynamic_form'
9
- require 'acts_as_list'
10
4
 
11
5
  module EnjuSubject
12
6
  class Engine < ::Rails::Engine
@@ -23,8 +23,10 @@ module ExpireEditableFragment
23
23
  fragments.uniq.each do |fragment|
24
24
  expire_manifestation_fragment(manifestation, fragment, formats)
25
25
  end
26
- manifestation.bookmarks.each do |bookmark|
27
- expire_tag_cloud(bookmark)
26
+ if defined?(EnjuBookmark)
27
+ manifestation.bookmarks.each do |bookmark|
28
+ expire_tag_cloud(bookmark)
29
+ end
28
30
  end
29
31
  end
30
32
 
@@ -1,3 +1,3 @@
1
1
  module EnjuSubject
2
- VERSION = "0.0.15"
2
+ VERSION = "0.0.16"
3
3
  end
data/lib/enju_subject.rb CHANGED
@@ -1,6 +1,4 @@
1
1
  require "enju_subject/engine"
2
- require "enju_subject/master_model"
3
- require "enju_subject/expire_editable_fragment"
4
2
 
5
3
  module EnjuSubject
6
4
  def self.included(base)
@@ -1,8 +1,47 @@
1
1
  class Role < ActiveRecord::Base
2
+ attr_accessible :name, :display_name, :note
3
+ include MasterModel
4
+ default_scope :order => "roles.position"
5
+ has_many :user_has_roles
6
+ has_many :users, :through => :user_has_roles
7
+ after_save :clear_all_cache
8
+ after_destroy :clear_all_cache
9
+
2
10
  extend FriendlyId
3
11
  friendly_id :name
4
12
 
13
+ def localized_name
14
+ display_name.localize
15
+ end
16
+
17
+ def self.all_cache
18
+ if Rails.env == 'production'
19
+ Rails.cache.fetch('role_all'){Role.select(:name).all}
20
+ else
21
+ Role.select(:name)
22
+ end
23
+ end
24
+
25
+ def clear_all_cache
26
+ Rails.cache.delete('role_all')
27
+ end
28
+
5
29
  def self.default_role
6
- Role.find('Guest')
30
+ Rails.cache.fetch('default_role'){Role.find('Guest')}
7
31
  end
8
32
  end
33
+
34
+ # == Schema Information
35
+ #
36
+ # Table name: roles
37
+ #
38
+ # id :integer not null, primary key
39
+ # name :string(255) not null
40
+ # display_name :string(255)
41
+ # note :text
42
+ # created_at :datetime
43
+ # updated_at :datetime
44
+ # score :integer default(0), not null
45
+ # position :integer
46
+ #
47
+
@@ -11,4 +11,33 @@ class User < ActiveRecord::Base
11
11
  has_one :role, :through => :user_has_role
12
12
  belongs_to :user_group
13
13
  belongs_to :required_role, :class_name => 'Role', :foreign_key => 'required_role_id'
14
+ has_many :sent_messages, :foreign_key => 'sender_id', :class_name => 'Message'
15
+ has_many :received_messages, :foreign_key => 'receiver_id', :class_name => 'Message'
16
+
17
+ extend FriendlyId
18
+ friendly_id :username
19
+
20
+ def send_message(status, options = {})
21
+ MessageRequest.transaction do
22
+ request = MessageRequest.new
23
+ request.sender = User.find(1)
24
+ request.receiver = self
25
+ request.message_template = MessageTemplate.localized_template(status, self.locale)
26
+ request.save_message_body(options)
27
+ request.sm_send_message!
28
+ end
29
+ end
30
+
31
+ def has_role?(role_in_question)
32
+ return false unless role
33
+ return true if role.name == role_in_question
34
+ case role.name
35
+ when 'Administrator'
36
+ return true
37
+ when 'Librarian'
38
+ return true if role_in_question == 'User'
39
+ else
40
+ false
41
+ end
42
+ end
14
43
  end
@@ -43,4 +43,5 @@ module Dummy
43
43
  end
44
44
  end
45
45
 
46
- require 'localized_name'
46
+ require 'enju_biblio'
47
+ require 'enju_manifestation_viewer'
Binary file
@@ -0,0 +1,53 @@
1
+ class CreatePatrons < ActiveRecord::Migration
2
+ def change
3
+ create_table :patrons do |t|
4
+ t.integer :user_id
5
+ t.string :last_name
6
+ t.string :middle_name
7
+ t.string :first_name
8
+ t.string :last_name_transcription
9
+ t.string :middle_name_transcription
10
+ t.string :first_name_transcription
11
+ t.string :corporate_name
12
+ t.string :corporate_name_transcription
13
+ t.string :full_name
14
+ t.text :full_name_transcription
15
+ t.text :full_name_alternative
16
+ t.timestamps
17
+ t.datetime :deleted_at
18
+ t.string :zip_code_1
19
+ t.string :zip_code_2
20
+ t.text :address_1
21
+ t.text :address_2
22
+ t.text :address_1_note
23
+ t.text :address_2_note
24
+ t.string :telephone_number_1
25
+ t.string :telephone_number_2
26
+ t.string :fax_number_1
27
+ t.string :fax_number_2
28
+ t.text :other_designation
29
+ t.text :place
30
+ t.string :postal_code
31
+ t.text :street
32
+ t.text :locality
33
+ t.text :region
34
+ t.datetime :date_of_birth
35
+ t.datetime :date_of_death
36
+ t.integer :language_id, :default => 1, :null => false
37
+ t.integer :country_id, :default => 1, :null => false
38
+ t.integer :patron_type_id, :default => 1, :null => false
39
+ t.integer :lock_version, :default => 0, :null => false
40
+ t.text :note
41
+ t.integer :required_role_id, :default => 1, :null => false
42
+ t.integer :required_score, :default => 0, :null => false
43
+ t.string :state
44
+ t.text :email
45
+ t.text :url
46
+ end
47
+ add_index :patrons, :user_id, :unique => true
48
+ add_index :patrons, :language_id
49
+ add_index :patrons, :country_id
50
+ add_index :patrons, :required_role_id
51
+ add_index :patrons, :full_name
52
+ end
53
+ end
@@ -0,0 +1,56 @@
1
+ class CreateManifestations < ActiveRecord::Migration
2
+ def change
3
+ create_table :manifestations do |t|
4
+ t.text :original_title, :null => false
5
+ t.text :title_alternative
6
+ t.text :title_transcription
7
+ t.string :classification_number
8
+ t.string :manifestation_identifier
9
+ t.datetime :date_of_publication
10
+ t.datetime :copyright_date
11
+ t.timestamps
12
+ t.datetime :deleted_at
13
+ t.string :access_address
14
+ t.integer :language_id, :default => 1, :null => false
15
+ t.integer :carrier_type_id, :default => 1, :null => false
16
+ t.integer :extent_id, :default => 1, :null => false
17
+ t.integer :start_page
18
+ t.integer :end_page
19
+ t.integer :height
20
+ t.integer :width
21
+ t.integer :depth
22
+ t.string :isbn
23
+ t.string :isbn10
24
+ t.string :wrong_isbn
25
+ t.string :nbn
26
+ t.string :lccn
27
+ t.string :oclc_number
28
+ t.string :issn
29
+ t.integer :price # TODO: 通貨単位
30
+ t.text :fulltext
31
+ t.string :volume_number_list
32
+ t.string :issue_number_list
33
+ t.string :serial_number_list
34
+ t.integer :edition
35
+ t.text :note
36
+ t.boolean :repository_content, :default => false, :null => false
37
+ t.integer :lock_version, :default => 0, :null => false
38
+ t.integer :required_role_id, :default => 1, :null => false
39
+ t.string :state
40
+ t.integer :required_score, :default => 0, :null => false
41
+ t.integer :frequency_id, :default => 1, :null => false
42
+ t.boolean :subscription_master, :default => false, :null => false
43
+ end
44
+ add_index :manifestations, :carrier_type_id
45
+ add_index :manifestations, :required_role_id
46
+ add_index :manifestations, :isbn
47
+ add_index :manifestations, :nbn
48
+ add_index :manifestations, :lccn
49
+ add_index :manifestations, :oclc_number
50
+ add_index :manifestations, :issn
51
+ add_index :manifestations, :access_address
52
+ add_index :manifestations, :frequency_id
53
+ add_index :manifestations, :manifestation_identifier
54
+ add_index :manifestations, :updated_at
55
+ end
56
+ end
@@ -0,0 +1,28 @@
1
+ class CreateItems < ActiveRecord::Migration
2
+ def change
3
+ create_table :items do |t|
4
+ #t.integer :manifestation_id
5
+ t.string :call_number
6
+ t.string :item_identifier
7
+ t.integer :circulation_status_id, :default => 5, :null => false
8
+ t.integer :checkout_type_id, :default => 1, :null => false
9
+ t.timestamps
10
+ t.datetime :deleted_at
11
+ t.integer :shelf_id, :default => 1, :null => false
12
+ t.boolean :include_supplements, :default => false, :null => false
13
+ t.text :note
14
+ t.string :url
15
+ t.integer :price
16
+ t.integer :lock_version, :default => 0, :null => false
17
+ t.integer :required_role_id, :default => 1, :null => false
18
+ t.string :state
19
+ t.integer :required_score, :default => 0, :null => false
20
+ end
21
+ #add_index :items, :manifestation_id
22
+ add_index :items, :circulation_status_id
23
+ add_index :items, :checkout_type_id
24
+ add_index :items, :shelf_id
25
+ add_index :items, :item_identifier
26
+ add_index :items, :required_role_id
27
+ end
28
+ end
@@ -0,0 +1,12 @@
1
+ class CreateOwns < ActiveRecord::Migration
2
+ def change
3
+ create_table :owns do |t|
4
+ t.references :patron, :null => false
5
+ t.references :item, :null => false
6
+ t.integer :position
7
+ t.timestamps
8
+ end
9
+ add_index :owns, :patron_id
10
+ add_index :owns, :item_id
11
+ end
12
+ end
@@ -0,0 +1,12 @@
1
+ class CreateCreates < ActiveRecord::Migration
2
+ def change
3
+ create_table :creates do |t|
4
+ t.references :patron, :null => false
5
+ t.references :work, :null => false
6
+ t.integer :position
7
+ t.timestamps
8
+ end
9
+ add_index :creates, :patron_id
10
+ add_index :creates, :work_id
11
+ end
12
+ end
@@ -0,0 +1,12 @@
1
+ class CreateProduces < ActiveRecord::Migration
2
+ def change
3
+ create_table :produces do |t|
4
+ t.references :patron, :null => false
5
+ t.references :manifestation, :null => false
6
+ t.integer :position
7
+ t.timestamps
8
+ end
9
+ add_index :produces, :patron_id
10
+ add_index :produces, :manifestation_id
11
+ end
12
+ end
@@ -1,5 +1,5 @@
1
1
  class CreateCarrierTypes < ActiveRecord::Migration
2
- def self.up
2
+ def change
3
3
  create_table :carrier_types do |t|
4
4
  t.string :name, :null => false
5
5
  t.text :display_name
@@ -8,8 +8,4 @@ class CreateCarrierTypes < ActiveRecord::Migration
8
8
  t.timestamps
9
9
  end
10
10
  end
11
-
12
- def self.down
13
- drop_table :carrier_types
14
- end
15
11
  end
@@ -0,0 +1,12 @@
1
+ class CreateFrequencies < ActiveRecord::Migration
2
+ def change
3
+ create_table :frequencies do |t|
4
+ t.string :name, :null => false
5
+ t.text :display_name
6
+ t.text :note
7
+ t.integer :position
8
+
9
+ t.timestamps
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,12 @@
1
+ class CreateFormOfWorks < ActiveRecord::Migration
2
+ def change
3
+ create_table :form_of_works do |t|
4
+ t.string :name, :null => false
5
+ t.text :display_name
6
+ t.text :note
7
+ t.integer :position
8
+
9
+ t.timestamps
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,12 @@
1
+ class CreateDonates < ActiveRecord::Migration
2
+ def change
3
+ create_table :donates do |t|
4
+ t.integer :patron_id, :null => false
5
+ t.integer :item_id, :null => false
6
+
7
+ t.timestamps
8
+ end
9
+ add_index :donates, :patron_id
10
+ add_index :donates, :item_id
11
+ end
12
+ end
@@ -0,0 +1,13 @@
1
+ class CreateRealizes < ActiveRecord::Migration
2
+ def change
3
+ create_table :realizes do |t|
4
+ t.references :patron, :null => false
5
+ t.references :expression, :null => false
6
+ t.integer :position
7
+
8
+ t.timestamps
9
+ end
10
+ add_index :realizes, :patron_id
11
+ add_index :realizes, :expression_id
12
+ end
13
+ end
@@ -0,0 +1,13 @@
1
+ class CreateExemplifies < ActiveRecord::Migration
2
+ def change
3
+ create_table :exemplifies do |t|
4
+ t.integer :manifestation_id, :null => false
5
+ t.integer :item_id, :null => false
6
+ t.integer :position
7
+
8
+ t.timestamps
9
+ end
10
+ add_index :exemplifies, :manifestation_id
11
+ add_index :exemplifies, :item_id, :unique => true
12
+ end
13
+ end
@@ -1,5 +1,5 @@
1
1
  class CreatePatronTypes < ActiveRecord::Migration
2
- def self.up
2
+ def change
3
3
  create_table :patron_types do |t|
4
4
  t.string :name, :null => false
5
5
  t.text :display_name
@@ -9,8 +9,4 @@ class CreatePatronTypes < ActiveRecord::Migration
9
9
  t.timestamps
10
10
  end
11
11
  end
12
-
13
- def self.down
14
- drop_table :patron_types
15
- end
16
12
  end
@@ -0,0 +1,28 @@
1
+ class CreateCountries < ActiveRecord::Migration
2
+
3
+ # ISO 3166 is the International Standard for country codes.
4
+ #
5
+ # ISO 3166-1:2006 Codes for the representation of names of countries and their subdivisions - Part 1:
6
+ # Country codes which is what most users know as ISO's country codes. First published in 1974, it is has since
7
+ # then become one of the world's most popular and most widely used standard solution for coding country names.
8
+ # It contains a two-letter code which is recommended as the general purpose code, a three-letter code which has
9
+ # better mnenomic properties and a numeric-3 code which can be useful if script independence of the codes is important.
10
+ #
11
+ # http://www.iso.org/iso/country_codes/background_on_iso_3166/what_is_iso_3166.htm
12
+
13
+ def change
14
+ create_table :countries do |t|
15
+ t.string :name, :size => 80, :null => false
16
+ t.text :display_name
17
+ t.string :alpha_2, :size => 2
18
+ t.string :alpha_3, :size => 3
19
+ t.string :numeric_3, :size => 3
20
+ t.text :note
21
+ t.integer :position
22
+ end
23
+ add_index :countries, :name
24
+ add_index :countries, :alpha_2
25
+ add_index :countries, :alpha_3
26
+ add_index :countries, :numeric_3
27
+ end
28
+ end
@@ -0,0 +1,23 @@
1
+ class CreateLanguages < ActiveRecord::Migration
2
+
3
+ # ISO 639 is the set of international standards that lists short codes for language names.
4
+ # Note this doesn't include macrolanguages (dialects)
5
+ # Information on macrolanguages http://en.wikipedia.org/wiki/ISO_639_macrolanguage
6
+
7
+ def change
8
+ create_table :languages do |t|
9
+ t.string :name, :null => false
10
+ t.string :native_name
11
+ t.text :display_name
12
+ t.string :iso_639_1, :size => 3
13
+ t.string :iso_639_2, :size => 3
14
+ t.string :iso_639_3, :size => 3
15
+ t.text :note
16
+ t.integer :position
17
+ end
18
+ add_index :languages, :name, :unique => true
19
+ add_index :languages, :iso_639_1
20
+ add_index :languages, :iso_639_2
21
+ add_index :languages, :iso_639_3
22
+ end
23
+ end
@@ -0,0 +1,15 @@
1
+ class CreatePictureFiles < ActiveRecord::Migration
2
+ def change
3
+ create_table :picture_files do |t|
4
+ t.integer :picture_attachable_id
5
+ t.string :picture_attachable_type
6
+ t.string :content_type
7
+ t.text :title
8
+ t.string :thumbnail
9
+ t.integer :position
10
+
11
+ t.timestamps
12
+ end
13
+ add_index :picture_files, [:picture_attachable_id, :picture_attachable_type], :name => "index_picture_files_on_picture_attachable_id_and_type"
14
+ end
15
+ end
@@ -0,0 +1,22 @@
1
+ class CreatePatronImportFiles < ActiveRecord::Migration
2
+ def change
3
+ create_table :patron_import_files do |t|
4
+ t.integer :parent_id
5
+ t.string :content_type
6
+ t.integer :size
7
+ t.integer :user_id
8
+ t.text :note
9
+ t.datetime :imported_at
10
+ t.string :state
11
+ t.string :patron_import_file_name
12
+ t.string :patron_import_content_type
13
+ t.integer :patron_import_file_size
14
+ t.datetime :patron_import_updated_at
15
+
16
+ t.timestamps
17
+ end
18
+ add_index :patron_import_files, :parent_id
19
+ add_index :patron_import_files, :user_id
20
+ add_index :patron_import_files, :state
21
+ end
22
+ end