enju_library 0.1.0.pre6 → 0.1.0.pre7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (67) hide show
  1. data/app/controllers/accepts_controller.rb +83 -0
  2. data/app/models/accept.rb +37 -0
  3. data/app/models/basket.rb +63 -0
  4. data/app/models/library.rb +2 -2
  5. data/app/models/library_group.rb +0 -1
  6. data/app/models/shelf.rb +1 -1
  7. data/app/views/accepts/_form.html.erb +11 -0
  8. data/app/views/accepts/_list.html.erb +31 -0
  9. data/app/views/accepts/edit.html.erb +13 -0
  10. data/app/views/accepts/index.csv.erb +4 -0
  11. data/app/views/accepts/index.html.erb +49 -0
  12. data/app/views/accepts/index.js.erb +1 -0
  13. data/app/views/accepts/new.html.erb +14 -0
  14. data/app/views/accepts/show.html.erb +31 -0
  15. data/config/locales/en.yml +86 -0
  16. data/config/locales/ja.yml +86 -0
  17. data/config/routes.rb +5 -0
  18. data/db/migrate/080_create_library_groups.rb +0 -1
  19. data/db/migrate/120_create_baskets.rb +12 -0
  20. data/db/migrate/20120319173203_create_accepts.rb +14 -0
  21. data/lib/enju_library/engine.rb +2 -0
  22. data/lib/enju_library/version.rb +1 -1
  23. data/spec/controllers/accepts_controller_spec.rb +304 -0
  24. data/spec/dummy/app/helpers/application_helper.rb +2 -0
  25. data/spec/dummy/app/models/ability.rb +2 -0
  26. data/spec/dummy/config/application.rb +4 -2
  27. data/spec/dummy/db/migrate/033_create_checkouts.rb +25 -0
  28. data/spec/dummy/db/migrate/132_create_circulation_statuses.rb +16 -0
  29. data/spec/dummy/db/migrate/20081030023412_create_checkout_types.rb +17 -0
  30. data/spec/dummy/db/migrate/20081030023518_create_user_group_has_checkout_types.rb +25 -0
  31. data/spec/dummy/db/migrate/20110328130826_add_current_checkout_count_to_user_group_has_checkout_type.rb +9 -0
  32. data/spec/dummy/db/migrate/20121119153944_add_manifestation_id_to_item.rb +5 -0
  33. data/spec/dummy/db/schema.rb +83 -1
  34. data/spec/dummy/db/test.sqlite3 +0 -0
  35. data/spec/dummy/tmp/cache/4AD/470/country_all +0 -0
  36. data/spec/factories/accepts.rb +9 -0
  37. data/spec/factories/basket.rb +5 -0
  38. data/spec/factories/item.rb +7 -0
  39. data/spec/fixtures/baskets.yml +80 -0
  40. data/spec/fixtures/checkout_types.yml +34 -0
  41. data/spec/fixtures/checkouts.yml +163 -0
  42. data/spec/fixtures/circulation_statuses.yml +106 -0
  43. data/spec/fixtures/exemplifies.yml +160 -0
  44. data/spec/fixtures/items.yml +259 -0
  45. data/spec/models/accept_spec.rb +23 -0
  46. data/spec/models/basket_spec.rb +25 -0
  47. data/spec/models/library_group_spec.rb +6 -0
  48. data/spec/routing/accepts_routing_spec.rb +27 -0
  49. data/spec/spec_helper.rb +3 -0
  50. data/spec/views/accepts/edit.html.erb_spec.rb +18 -0
  51. data/spec/views/accepts/index.html.erb_spec.rb +27 -0
  52. data/spec/views/accepts/new.html.erb_spec.rb +31 -0
  53. data/spec/views/accepts/show.html.erb_spec.rb +17 -0
  54. metadata +140 -55
  55. data/spec/dummy/db/development.sqlite3 +0 -0
  56. data/spec/dummy/solr/data/test/index/_38.fdt +0 -0
  57. data/spec/dummy/solr/data/test/index/_38.fdx +0 -0
  58. data/spec/dummy/solr/data/test/index/_38.fnm +0 -3
  59. data/spec/dummy/solr/data/test/index/_38.frq +0 -1
  60. data/spec/dummy/solr/data/test/index/_38.nrm +0 -1
  61. data/spec/dummy/solr/data/test/index/_38.prx +0 -0
  62. data/spec/dummy/solr/data/test/index/_38.tii +0 -0
  63. data/spec/dummy/solr/data/test/index/_38.tis +0 -0
  64. data/spec/dummy/solr/data/test/index/segments.gen +0 -0
  65. data/spec/dummy/solr/data/test/index/segments_7f +0 -0
  66. data/spec/dummy/solr/data/test/spellchecker/segments.gen +0 -0
  67. data/spec/dummy/solr/data/test/spellchecker/segments_1 +0 -0
@@ -0,0 +1,83 @@
1
+ class AcceptsController < InheritedResources::Base
2
+ load_and_authorize_resource :except => :index
3
+ authorize_resource :only => :index
4
+ respond_to :html, :json
5
+ before_filter :get_basket, :only => [:index, :create]
6
+
7
+ # GET /accepts
8
+ # GET /accepts.json
9
+ def index
10
+ if params[:format] == 'csv'
11
+ @accepts = Accept.order('accepts.created_at DESC').page(params[:page]).per(65534)
12
+ else
13
+ if params[:accept]
14
+ @query = params[:accept][:item_identifier].to_s.strip
15
+ item = Item.where(:item_identifier => @query).first if @query.present?
16
+ end
17
+
18
+ if item
19
+ @accepts = Accept.order('accepts.created_at DESC').where(:item_id => item.id).page(params[:page])
20
+ else
21
+ if @basket
22
+ @accepts = @basket.accepts.page(params[:page])
23
+ else
24
+ @accepts = Accept.page(params[:page])
25
+ end
26
+ end
27
+ end
28
+
29
+ respond_to do |format|
30
+ format.html # index.html.erb
31
+ format.json { render :json => @accepts }
32
+ format.js { @accept = Accept.new }
33
+ format.csv
34
+ end
35
+ end
36
+
37
+ # GET /new
38
+ # GET /new.json
39
+ def new
40
+ @basket = Basket.new
41
+ @basket.user = current_user
42
+ @basket.save!
43
+ @accept = Accept.new
44
+ @accepts = []
45
+
46
+ respond_to do |format|
47
+ format.html # new.html.erb
48
+ format.json { render :json => @patron }
49
+ end
50
+ end
51
+
52
+ # POST /accepts
53
+ # POST /accepts.json
54
+ def create
55
+ unless @basket
56
+ access_denied; return
57
+ end
58
+ @accept.basket = @basket
59
+ @accept.librarian = current_user
60
+
61
+ flash[:message] = ''
62
+ if @accept.item_identifier.blank?
63
+ flash[:message] << t('accept.enter_item_identifier') if @accept.item_identifier.blank?
64
+ else
65
+ item = Item.where(:item_identifier => @accept.item_identifier.to_s.strip).first
66
+ end
67
+ @accept.item = item
68
+
69
+ respond_to do |format|
70
+ if @accept.save
71
+ flash[:message] << t('accept.successfully_accepted', :model => t('activerecord.models.accept'))
72
+ format.html { redirect_to basket_accepts_url(@basket) }
73
+ format.json { render :json => @accept, :status => :created, :location => @accept }
74
+ format.js { redirect_to basket_accepts_url(@basket, :format => :js) }
75
+ else
76
+ @accepts = @basket.accepts.page(params[:page])
77
+ format.html { render :action => "index" }
78
+ format.json { render :json => @accept.errors, :status => :unprocessable_entity }
79
+ format.js { render :action => "index" }
80
+ end
81
+ end
82
+ end
83
+ end
@@ -0,0 +1,37 @@
1
+ class Accept < ActiveRecord::Base
2
+ attr_accessible :item_identifier, :librarian_id, :item_id
3
+ default_scope :order => 'accepts.id DESC'
4
+ belongs_to :basket
5
+ belongs_to :item
6
+ belongs_to :librarian, :class_name => 'User'
7
+
8
+ validates_uniqueness_of :item_id, :message => I18n.t('accept.already_accepted')
9
+ validates_presence_of :item_id, :message => I18n.t('accept.item_not_found')
10
+ validates_presence_of :basket_id
11
+
12
+ before_save :accept!, :on => :create
13
+
14
+ attr_accessor :item_identifier
15
+
16
+ paginates_per 10
17
+
18
+ def accept!
19
+ if defined?(EnjuCirculation)
20
+ item.circulation_status = CirculationStatus.where(:name => 'Available On Shelf').first
21
+ end
22
+ item.save(:validate => false)
23
+ end
24
+ end
25
+
26
+ # == Schema Information
27
+ #
28
+ # Table name: accepts
29
+ #
30
+ # id :integer not null, primary key
31
+ # basket_id :integer
32
+ # item_id :integer
33
+ # librarian_id :integer
34
+ # created_at :datetime not null
35
+ # updated_at :datetime not null
36
+ #
37
+
@@ -0,0 +1,63 @@
1
+ class Basket < ActiveRecord::Base
2
+ attr_accessible :note, :user_number
3
+ default_scope :order => 'baskets.id DESC'
4
+ scope :will_expire, lambda {|date| {:conditions => ['created_at < ?', date]}}
5
+ belongs_to :user, :validate => true
6
+ has_many :accepts
7
+
8
+ validates_associated :user, :on => :create
9
+ # 貸出完了後にかごのユーザidは破棄する
10
+ validates_presence_of :user, :on => :create
11
+ validate :check_suspended
12
+
13
+ attr_accessor :user_number
14
+
15
+ def check_suspended
16
+ if user
17
+ errors[:base] << I18n.t('basket.this_account_is_suspended') if user.locked_at
18
+ else
19
+ errors[:base] << I18n.t('user.not_found')
20
+ end
21
+ end
22
+
23
+ def self.expire
24
+ Basket.will_expire(Time.zone.now.beginning_of_day).destroy_all
25
+ logger.info "#{Time.zone.now} baskets expired!"
26
+ end
27
+
28
+ if defined?(EnjuCirculation)
29
+ has_many :checked_items, :dependent => :destroy
30
+ has_many :items, :through => :checked_items
31
+ has_many :checkouts
32
+ has_many :checkins
33
+
34
+ def basket_checkout(librarian)
35
+ return nil if checked_items.size == 0
36
+ Item.transaction do
37
+ checked_items.each do |checked_item|
38
+ checkout = user.checkouts.new
39
+ checkout.librarian = librarian
40
+ checkout.item = checked_item.item
41
+ checkout.basket = self
42
+ checkout.due_date = checked_item.due_date
43
+ checked_item.item.checkout!(user)
44
+ checkout.save!
45
+ end
46
+ CheckedItem.destroy_all(:basket_id => id)
47
+ end
48
+ end
49
+ end
50
+ end
51
+
52
+ # == Schema Information
53
+ #
54
+ # Table name: baskets
55
+ #
56
+ # id :integer not null, primary key
57
+ # user_id :integer
58
+ # note :text
59
+ # lock_version :integer default(0), not null
60
+ # created_at :datetime not null
61
+ # updated_at :datetime not null
62
+ #
63
+
@@ -29,8 +29,8 @@ class Library < ActiveRecord::Base
29
29
  validates_uniqueness_of :short_display_name, :case_sensitive => false
30
30
  validates_uniqueness_of :isil, :allow_blank => true
31
31
  validates :display_name, :uniqueness => true
32
- validates :name, :format => {:with => /^[a-z][0-9a-z\-_]{1,254}$/}
33
- validates :isil, :format => {:with => /^[A-Za-z]{1,4}-[A-Za-z0-9\/:\-]{2,11}$/}, :allow_blank => true
32
+ validates :name, :format => {:with => /\A[a-z][0-9a-z\-_]{1,254}\z/}
33
+ validates :isil, :format => {:with => /\A[A-Za-z]{1,4}-[A-Za-z0-9\/:\-]{2,11}\z/}, :allow_blank => true
34
34
  after_validation :geocode, :if => :address_changed?
35
35
  after_create :create_shelf
36
36
  after_save :clear_all_cache
@@ -4,7 +4,6 @@ class LibraryGroup < ActiveRecord::Base
4
4
  :login_banner, :note, :country_id, :admin_networks, :url
5
5
 
6
6
  #include Singleton
7
- #include Configurator
8
7
  include MasterModel
9
8
 
10
9
  has_many :libraries
data/app/models/shelf.rb CHANGED
@@ -9,7 +9,7 @@ class Shelf < ActiveRecord::Base
9
9
  validates_associated :library
10
10
  validates_presence_of :library
11
11
  validates_uniqueness_of :display_name, :scope => :library_id
12
- validates :name, :format => {:with => /^[a-z][0-9a-z\-_]{1,254}$/}
12
+ validates :name, :format => {:with => /\A[a-z][0-9a-z\-_]{1,254}\z/}
13
13
 
14
14
  acts_as_list :scope => :library
15
15
 
@@ -0,0 +1,11 @@
1
+ <%= simple_form_for(@accept) do |f| %>
2
+ <%= f.error_notification %>
3
+
4
+ <div class="form-inputs">
5
+ <%= f.input :item_id %>
6
+ </div>
7
+
8
+ <div class="form-actions">
9
+ <%= f.button :submit %>
10
+ </div>
11
+ <% end %>
@@ -0,0 +1,31 @@
1
+ <div style="color: red"><%= flash[:message] -%></div>
2
+
3
+ <div class="search_form">
4
+ <%= form_for(@accept, :url => basket_accepts_path(@basket), :remote => true) do |f| %>
5
+ <%= f.error_messages %>
6
+ <p>
7
+ <%= label_tag :item_identifier, t('activerecord.attributes.item.item_identifier') -%>:
8
+ <%= f.search_field :item_identifier, :class => 'resource_item_identifier', :value => nil -%>
9
+ <%= f.submit t('accept.accept'), 'data-disable-with' => t('page.saving') -%>
10
+ </p>
11
+ <%- end -%>
12
+ </div>
13
+
14
+ <table class="index">
15
+ <tr>
16
+ <th><%= t('activerecord.models.item') -%></th>
17
+ </tr>
18
+ <%- @accepts.each_with_index do |accept, i| -%>
19
+ <tr class="line<%= cycle("0", "1") -%>">
20
+ <td>
21
+ <%= render 'manifestations/show_index', :manifestation => accept.item.manifestation %>
22
+ <%= link_to accept.item.item_identifier, accept.item -%> / <%= accept.item.call_number %>
23
+ (<%= link_to accept.item.shelf.library.display_name.localize, accept.item.shelf.library %> /
24
+ <%= link_to accept.item.shelf.display_name.localize, accept.item.shelf %>)<br />
25
+ <%=l accept.created_at %>
26
+ </td>
27
+ </tr>
28
+ <%- end -%>
29
+ </table>
30
+
31
+ <%= javascript_tag("$('#accept_item_identifier').focus()") -%>
@@ -0,0 +1,13 @@
1
+ <div id="content_detail" class="ui-corner-all">
2
+ <h1 class="title"><%= t('page.editing', :model => t('activerecord.models.accept')) -%></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'), @accept -%></li>
11
+ <li><%= link_to t('page.back'), accepts_path -%></li>
12
+ </ul>
13
+ </div>
@@ -0,0 +1,4 @@
1
+ item_identifier basket_id accepted_at
2
+ <% @accepts.each do |accept| %>
3
+ <%= accept.item.item_identifier %> <%= accept.basket_id %> <%= accept.created_at %>
4
+ <% end %>
@@ -0,0 +1,49 @@
1
+ <div id="content_detail" class="ui-corner-all">
2
+ <h1 class="title"><%= t('page.listing', :model => t('activerecord.models.accept')) -%></h1>
3
+ <div id="content_list">
4
+
5
+ <div class="search_form">
6
+ <%= form_for(:accept, :html => {:method => :get}) do |f| %>
7
+ <p>
8
+ <%= label_tag :item_identifier, t('activerecord.attributes.item.item_identifier') -%>:
9
+ <%= f.search_field :item_identifier, :value => @query, :class => 'resource_item_identifier' -%>
10
+ <%= f.submit t('page.search') -%>
11
+ </p>
12
+ <%- end -%>
13
+ </div>
14
+
15
+ <table class="table table-striped index">
16
+ <tr>
17
+ <th><%= t('activerecord.models.item') -%></th>
18
+ <th></th>
19
+ </tr>
20
+ <%- @accepts.each_with_index do |accept, i| -%>
21
+ <tr class="line<%= cycle("0", "1") -%>">
22
+ <td>
23
+ <% if accept.item %>
24
+ <%= render 'manifestations/show_index', :manifestation => accept.item.manifestation %>
25
+ <%= link_to accept.item.item_identifier, accept.item -%> / <%= accept.item.call_number %>
26
+ (<%= link_to accept.item.shelf.library.display_name.localize, accept.item.shelf.library %> /
27
+ <%= link_to accept.item.shelf.display_name.localize, accept.item.shelf %>)<br />
28
+ <%=l accept.created_at %>
29
+ <% end %>
30
+ </td>
31
+ <td>
32
+ <%- if can? :destroy, accept -%>
33
+ <%= link_to t('page.destroy'), accept, :data => {:confirm => t('page.are_you_sure')}, :method => :delete -%>
34
+ <%- end -%>
35
+ </td>
36
+ </tr>
37
+ <%- end -%>
38
+ </table>
39
+ <%= javascript_tag("$('#accept_item_identifier').focus()") -%>
40
+
41
+ <%= paginate(@accepts) %>
42
+ </div>
43
+ </div>
44
+
45
+ <div id="submenu" class="ui-corner-all">
46
+ <ul>
47
+ <li><%= link_to t('page.new', :model => t('activerecord.models.accept')), new_accept_path -%></li>
48
+ </ul>
49
+ </div>
@@ -0,0 +1 @@
1
+ $("#accept_list").html("<%= escape_javascript(render('accepts/list')) %>");
@@ -0,0 +1,14 @@
1
+ <div id="content_detail" class="ui-corner-all">
2
+ <h1 class="title"><%= t('page.new', :model => t('activerecord.models.accept')) -%></h1>
3
+ <div id="content_list">
4
+ <div id="accept_list">
5
+ <%= render 'list' -%>
6
+ </div>
7
+ </div>
8
+ </div>
9
+
10
+ <div id="submenu" class="ui-corner-all">
11
+ <ul>
12
+ <li><%= link_to t('page.back'), accepts_path -%></li>
13
+ </ul>
14
+ </div>
@@ -0,0 +1,31 @@
1
+ <div id="content_detail" class="ui-corner-all">
2
+ <h1 class="title"><%= t('page.showing', :model => t('activerecord.models.accept')) -%></h1>
3
+ <div id="content_list">
4
+ <p id="notice"><%= notice %></p>
5
+
6
+ <p>
7
+ <strong><%= t('activerecord.models.item') -%>:</strong>
8
+ <% if @accept.item %>
9
+ <%= link_to @accept.item.item_identifier, @accept.item -%>
10
+ (<%= link_to @accept.item.manifestation.original_title, @accept.item.manifestation %>)
11
+ <% end %>
12
+ </p>
13
+
14
+ <p>
15
+ <strong><%= t('activerecord.models.user') -%>:</strong>
16
+ <%= link_to @accept.librarian.username, @accept.librarian if @accept.librarian -%>
17
+ </p>
18
+
19
+ <p>
20
+ <strong><%= t('page.created_at') -%>:</strong>
21
+ <%=l @accept.created_at %>
22
+ </p>
23
+
24
+ </div>
25
+ </div>
26
+
27
+ <div id="submenu" class="ui-corner-all">
28
+ <ul>
29
+ <li><%= back_to_index(flash[:page_info]) -%></li>
30
+ </ul>
31
+ </div>
@@ -0,0 +1,86 @@
1
+ en:
2
+ activerecord:
3
+ models:
4
+ library: Library
5
+ library_group: Library Group
6
+ shelf: Shelf
7
+ accept: Accept
8
+ budget_type: Budget type
9
+ bookstore: Bookstore
10
+ subscribe: Subscribe
11
+ subscription: Subscription
12
+ request_status_type: Request status type
13
+ request_type: Request type
14
+
15
+ attributes:
16
+ library:
17
+ name: Name
18
+ display_name: Display name
19
+ short_display_name: Short display name
20
+ zip_code: Zip code
21
+ region: Region
22
+ locality: Locality
23
+ street: Street
24
+ telephone_number_1: Telephone number 1
25
+ telephone_number_2: Telephone number 2
26
+ fax_number: Fax number
27
+ lat: Lat
28
+ lng: Lng
29
+ note: Note
30
+ call_number_rows: Call number rows
31
+ call_number_delimiter: Call number delimiter
32
+ position: Position
33
+ deleted_at: Deleted at
34
+ opening_hour: Opening hour
35
+ isil: ISIL
36
+ shelf:
37
+ name: Name
38
+ display_name: Display name
39
+ note: Note
40
+ position: Position
41
+ deleted_at: Deleted at
42
+ closed: Closed
43
+ library_group:
44
+ name: Name
45
+ display_name: Display name
46
+ short_name: Short name
47
+ email: Email
48
+ my_networks: My networks
49
+ admin_networks: Admin networks
50
+ note: Note
51
+ login_banner: Login banner
52
+ post_to_union_catalog: Post to union catalog
53
+ bookstore:
54
+ name: Name
55
+ zip_code: Zip code
56
+ address: Address
57
+ note: Note
58
+ telephone_number: Telephone number
59
+ fax_number: Fax number
60
+ url: URL
61
+ position: Position
62
+ deleted_at: Deleted at
63
+ budget_type:
64
+ name: Name
65
+ display_name: Display name
66
+ note: Note
67
+ accept:
68
+ item_id: Item
69
+ subscribe:
70
+ started_on: Start on
71
+ ended_on: End on
72
+ subscription:
73
+ title: Title
74
+ note: Note
75
+ deleted_at: Deleted at
76
+ subscribes_count: Count
77
+ request_status_type:
78
+ name: Name
79
+ display_name: Display name
80
+ note: Note
81
+ position: Position
82
+ request_type:
83
+ name: Name
84
+ display_name: Display name
85
+ note: Note
86
+ position: Position
@@ -0,0 +1,86 @@
1
+ ja:
2
+ activerecord:
3
+ models:
4
+ library: 図書館
5
+ library_group: 図書館全体の設定
6
+ shelf: 本棚
7
+ accept: 検収
8
+ budget_type: 予算種別
9
+ bookstore: 書店
10
+ subscribe: 購読
11
+ subscription: 購読
12
+ request_status_type: 依頼の状態の種類
13
+ request_type: 依頼の種類
14
+
15
+ attributes:
16
+ library:
17
+ name: 名前
18
+ display_name: 表示名
19
+ short_display_name: 短縮表示名
20
+ zip_code: 郵便番号
21
+ region: 都道府県
22
+ locality: 市区町村
23
+ street: 番地
24
+ telephone_number_1: 電話番号1
25
+ telephone_number_2: 電話番号2
26
+ fax_number: ファックス番号
27
+ lat: 緯度
28
+ lng: 経度
29
+ note: 注記
30
+ call_number_rows: 請求記号の列数
31
+ call_number_delimiter: 請求番号の区切り文字
32
+ position: 位置
33
+ deleted_at: 削除時刻
34
+ opening_hour: 開館時間
35
+ isil: ISIL
36
+ shelf:
37
+ name: 名前
38
+ display_name: 表示名
39
+ note: 注記
40
+ position: 位置
41
+ deleted_at: 削除時刻
42
+ closed: 閉架
43
+ library_group:
44
+ name: 名前
45
+ display_name: 表示名
46
+ short_name: 短縮名
47
+ email: メール
48
+ my_networks: LANとして扱うネットワーク
49
+ admin_networks: 管理用として扱うネットワーク
50
+ note: 注記
51
+ login_banner: ログイン画面でのメッセージ
52
+ post_to_union_catalog: 総合目録に登録する
53
+ bookstore:
54
+ name: 名前
55
+ zip_code: 郵便番号
56
+ address: 住所
57
+ note: 注記
58
+ telephone_number: 電話番号
59
+ fax_number: ファックス番号
60
+ url: URL
61
+ position: 位置
62
+ deleted_at: 削除時刻
63
+ budget_type:
64
+ name: 名称
65
+ display_name: 表示名
66
+ note: 注記
67
+ accept:
68
+ item_id: 個別資料
69
+ subscribe:
70
+ started_on: 開始日
71
+ ended_on: 終了日
72
+ subscription:
73
+ title: タイトル
74
+ note: 注記
75
+ deleted_at: 削除時刻
76
+ subscribes_count: 購読数
77
+ request_status_type:
78
+ name: 名前
79
+ display_name: 表示名
80
+ note: 注記
81
+ position: 位置
82
+ request_type:
83
+ name: 名前
84
+ display_name: 表示名
85
+ note: 注記
86
+ position: 位置
data/config/routes.rb CHANGED
@@ -6,6 +6,11 @@ Rails.application.routes.draw do
6
6
  resources :picture_files
7
7
  end
8
8
 
9
+ resources :baskets do
10
+ resources :accepts, :except => [:edit, :update]
11
+ end
12
+ resources :accepts, :except => [:edit, :update]
13
+
9
14
  resources :bookstores
10
15
  resources :library_groups, :except => [:new, :create, :destroy]
11
16
  resources :subscriptions
@@ -8,7 +8,6 @@ class CreateLibraryGroups < ActiveRecord::Migration
8
8
  t.text :my_networks
9
9
  t.text :login_banner
10
10
  t.text :note
11
- t.integer :valid_period_for_new_user, :default => 365, :null => false
12
11
  t.integer :country_id
13
12
  t.integer :position
14
13
 
@@ -0,0 +1,12 @@
1
+ class CreateBaskets < ActiveRecord::Migration
2
+ def change
3
+ create_table :baskets do |t|
4
+ t.integer :user_id
5
+ t.text :note
6
+ t.integer :lock_version, :default => 0, :null => false
7
+
8
+ t.timestamps
9
+ end
10
+ add_index :baskets, :user_id
11
+ end
12
+ end
@@ -0,0 +1,14 @@
1
+ class CreateAccepts < ActiveRecord::Migration
2
+ def change
3
+ create_table :accepts do |t|
4
+ t.integer :basket_id
5
+ t.integer :item_id
6
+ t.integer :librarian_id
7
+
8
+ t.timestamps
9
+ end
10
+
11
+ add_index :accepts, :basket_id
12
+ add_index :accepts, :item_id
13
+ end
14
+ end
@@ -1,6 +1,8 @@
1
1
  require 'enju_core'
2
2
  require 'inherited_resources'
3
+ require 'mobylette'
3
4
  require 'geocoder'
5
+ require 'ipaddr'
4
6
 
5
7
  module EnjuLibrary
6
8
  class Engine < ::Rails::Engine
@@ -1,3 +1,3 @@
1
1
  module EnjuLibrary
2
- VERSION = "0.1.0.pre6"
2
+ VERSION = "0.1.0.pre7"
3
3
  end