enju_library 0.1.0.pre6 → 0.1.0.pre7
Sign up to get free protection for your applications and to get access to all the features.
- data/app/controllers/accepts_controller.rb +83 -0
- data/app/models/accept.rb +37 -0
- data/app/models/basket.rb +63 -0
- data/app/models/library.rb +2 -2
- data/app/models/library_group.rb +0 -1
- data/app/models/shelf.rb +1 -1
- data/app/views/accepts/_form.html.erb +11 -0
- data/app/views/accepts/_list.html.erb +31 -0
- data/app/views/accepts/edit.html.erb +13 -0
- data/app/views/accepts/index.csv.erb +4 -0
- data/app/views/accepts/index.html.erb +49 -0
- data/app/views/accepts/index.js.erb +1 -0
- data/app/views/accepts/new.html.erb +14 -0
- data/app/views/accepts/show.html.erb +31 -0
- data/config/locales/en.yml +86 -0
- data/config/locales/ja.yml +86 -0
- data/config/routes.rb +5 -0
- data/db/migrate/080_create_library_groups.rb +0 -1
- data/db/migrate/120_create_baskets.rb +12 -0
- data/db/migrate/20120319173203_create_accepts.rb +14 -0
- data/lib/enju_library/engine.rb +2 -0
- data/lib/enju_library/version.rb +1 -1
- data/spec/controllers/accepts_controller_spec.rb +304 -0
- data/spec/dummy/app/helpers/application_helper.rb +2 -0
- data/spec/dummy/app/models/ability.rb +2 -0
- data/spec/dummy/config/application.rb +4 -2
- data/spec/dummy/db/migrate/033_create_checkouts.rb +25 -0
- data/spec/dummy/db/migrate/132_create_circulation_statuses.rb +16 -0
- data/spec/dummy/db/migrate/20081030023412_create_checkout_types.rb +17 -0
- data/spec/dummy/db/migrate/20081030023518_create_user_group_has_checkout_types.rb +25 -0
- data/spec/dummy/db/migrate/20110328130826_add_current_checkout_count_to_user_group_has_checkout_type.rb +9 -0
- data/spec/dummy/db/migrate/20121119153944_add_manifestation_id_to_item.rb +5 -0
- data/spec/dummy/db/schema.rb +83 -1
- data/spec/dummy/db/test.sqlite3 +0 -0
- data/spec/dummy/tmp/cache/4AD/470/country_all +0 -0
- data/spec/factories/accepts.rb +9 -0
- data/spec/factories/basket.rb +5 -0
- data/spec/factories/item.rb +7 -0
- data/spec/fixtures/baskets.yml +80 -0
- data/spec/fixtures/checkout_types.yml +34 -0
- data/spec/fixtures/checkouts.yml +163 -0
- data/spec/fixtures/circulation_statuses.yml +106 -0
- data/spec/fixtures/exemplifies.yml +160 -0
- data/spec/fixtures/items.yml +259 -0
- data/spec/models/accept_spec.rb +23 -0
- data/spec/models/basket_spec.rb +25 -0
- data/spec/models/library_group_spec.rb +6 -0
- data/spec/routing/accepts_routing_spec.rb +27 -0
- data/spec/spec_helper.rb +3 -0
- data/spec/views/accepts/edit.html.erb_spec.rb +18 -0
- data/spec/views/accepts/index.html.erb_spec.rb +27 -0
- data/spec/views/accepts/new.html.erb_spec.rb +31 -0
- data/spec/views/accepts/show.html.erb_spec.rb +17 -0
- metadata +140 -55
- data/spec/dummy/db/development.sqlite3 +0 -0
- data/spec/dummy/solr/data/test/index/_38.fdt +0 -0
- data/spec/dummy/solr/data/test/index/_38.fdx +0 -0
- data/spec/dummy/solr/data/test/index/_38.fnm +0 -3
- data/spec/dummy/solr/data/test/index/_38.frq +0 -1
- data/spec/dummy/solr/data/test/index/_38.nrm +0 -1
- data/spec/dummy/solr/data/test/index/_38.prx +0 -0
- data/spec/dummy/solr/data/test/index/_38.tii +0 -0
- data/spec/dummy/solr/data/test/index/_38.tis +0 -0
- data/spec/dummy/solr/data/test/index/segments.gen +0 -0
- data/spec/dummy/solr/data/test/index/segments_7f +0 -0
- data/spec/dummy/solr/data/test/spellchecker/segments.gen +0 -0
- 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
|
+
|
data/app/models/library.rb
CHANGED
@@ -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 =>
|
33
|
-
validates :isil, :format => {:with =>
|
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
|
data/app/models/library_group.rb
CHANGED
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 =>
|
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,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,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
|
@@ -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
|
data/lib/enju_library/engine.rb
CHANGED
data/lib/enju_library/version.rb
CHANGED