enju_library 0.1.0.pre11 → 0.1.0.pre12

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 3a14805fe9f166bc06831076d834b814084db7cb
4
- data.tar.gz: 397e3beb9db4446d1edb6ee0f3fdbf2ca1884cf5
3
+ metadata.gz: 6a3ef9da22975202b557d2becaaf3147de2d76d9
4
+ data.tar.gz: ee7bb96dc1bf7c80cafdc9d4ef7b8041c3b551f9
5
5
  SHA512:
6
- metadata.gz: b4e089e4db9c8df37e920cb667d9e465eef31ba1980c4ae03bc966d3e74cc60ea220b11763ef32ade4b3ae1a3358db99884890438c116e1e91e39d26d2665fac
7
- data.tar.gz: c4f9095346acce0566622ae31104e61ad9dded0abbc8bafec948aae0549543967a64b6d557e8cd4458e922c39df585d6f66c4f5ace11b77b1987b334af2f1134
6
+ metadata.gz: 7e9357bf1c2be74b050661ec02725aff65f8573d85eedc69bb24c1b66a536930ab22d36ce5f9aecf67010a355d12a80c232611f3cfa9bd525c02742e7d18f0e5
7
+ data.tar.gz: 69f69e69b573b95f119011a35f57ddf720ee758826d695616f72e8e45ead8bd4948fcb50dd68f260f04e8fb1bc988f43e8a49999cc9a6a2ed6402542259d7773
@@ -0,0 +1,68 @@
1
+ module EnjuLibrary
2
+ class Ability
3
+ include CanCan::Ability
4
+
5
+ def initialize(user, ip_address = nil)
6
+ case user.try(:role).try(:name)
7
+ when 'Administrator'
8
+ can [:read, :create, :update], Bookstore
9
+ can :destroy, Bookstore do |bookstore|
10
+ bookstore.items.empty?
11
+ end
12
+ can [:read, :create, :update], Library
13
+ can :destroy, Library do |library|
14
+ library.shelves.empty? and !library.web?
15
+ end
16
+ can [:read, :create, :update], Shelf
17
+ can :destroy, Shelf do |shelf|
18
+ shelf.items.empty?
19
+ end
20
+ can :manage, [
21
+ Accept,
22
+ BudgetType,
23
+ SearchEngine,
24
+ Subscribe,
25
+ Subscription
26
+ ]
27
+ can :update, [
28
+ LibraryGroup,
29
+ RequestStatusType,
30
+ RequestType
31
+ ] if LibraryGroup.site_config.network_access_allowed?(ip_address)
32
+ can :read, [
33
+ LibraryGroup,
34
+ RequestStatusType,
35
+ RequestType
36
+ ]
37
+ when 'Librarian'
38
+ can :manage, [
39
+ Accept,
40
+ Subscribe,
41
+ Subscription
42
+ ]
43
+ can :read, [
44
+ Bookstore,
45
+ BudgetType,
46
+ Library,
47
+ LibraryGroup,
48
+ RequestStatusType,
49
+ RequestType,
50
+ SearchEngine,
51
+ Shelf
52
+ ]
53
+ when 'User'
54
+ can :read, [
55
+ Library,
56
+ LibraryGroup,
57
+ Shelf
58
+ ]
59
+ else
60
+ can :read, [
61
+ Library,
62
+ LibraryGroup,
63
+ Shelf
64
+ ]
65
+ end
66
+ end
67
+ end
68
+ end
@@ -1,5 +1,5 @@
1
1
  <%= simple_form_for(@library_group, :validate => true) do |f| -%>
2
- <%= f.error_notification -%>
2
+ <%= f.error_messages -%>
3
3
 
4
4
  <div class="field">
5
5
  <%= f.label :name -%><br />
@@ -18,6 +18,11 @@
18
18
  <%= @library_group.email -%>
19
19
  </p>
20
20
 
21
+ <p>
22
+ <strong><%= t('activerecord.attributes.library_group.url') -%>:</strong>
23
+ <%= @library_group.url -%>
24
+ </p>
25
+
21
26
  <div>
22
27
  <strong><%= t('activerecord.attributes.library_group.login_banner') -%>:</strong>
23
28
  <%= markdown_helper(@library_group.login_banner) -%>
@@ -51,6 +51,7 @@ en:
51
51
  note: Note
52
52
  login_banner: Login banner
53
53
  post_to_union_catalog: Post to union catalog
54
+ url: URL
54
55
  bookstore:
55
56
  name: Name
56
57
  zip_code: Zip code
@@ -51,6 +51,7 @@ ja:
51
51
  note: 注記
52
52
  login_banner: ログイン画面でのメッセージ
53
53
  post_to_union_catalog: 総合目録に登録する
54
+ url: URL
54
55
  bookstore:
55
56
  name: 名前
56
57
  zip_code: 郵便番号
@@ -0,0 +1,39 @@
1
+ module EnjuLibrary
2
+ module LibraryItem
3
+ def self.included(base)
4
+ base.extend ClassMethods
5
+ end
6
+
7
+ module ClassMethods
8
+ def enju_library_item_model
9
+ include InstanceMethods
10
+ has_one :accept
11
+ scope :accepted_between, lambda{|from, to| includes(:accept).where('items.created_at BETWEEN ? AND ?', Time.zone.parse(from).beginning_of_day, Time.zone.parse(to).end_of_day)}
12
+
13
+ belongs_to :shelf, :counter_cache => true, :validate => true
14
+ validates_associated :shelf
15
+
16
+ searchable do
17
+ string :library do
18
+ shelf.library.name if shelf
19
+ end
20
+ end
21
+ end
22
+ end
23
+
24
+ module InstanceMethods
25
+ def shelf_name
26
+ shelf.name
27
+ end
28
+
29
+ def hold?(library)
30
+ return true if self.shelf.library == library
31
+ false
32
+ end
33
+
34
+ def library_url
35
+ "#{LibraryGroup.site_config.url}libraries/#{self.shelf.library.name}"
36
+ end
37
+ end
38
+ end
39
+ end
@@ -1,3 +1,3 @@
1
1
  module EnjuLibrary
2
- VERSION = "0.1.0.pre11"
2
+ VERSION = "0.1.0.pre12"
3
3
  end
data/lib/enju_library.rb CHANGED
@@ -1,4 +1,5 @@
1
1
  require "enju_library/engine"
2
+ require "enju_library/item"
2
3
 
3
4
  module EnjuLibrary
4
5
  def self.included(base)
@@ -44,4 +45,5 @@ module EnjuLibrary
44
45
  end
45
46
  end
46
47
 
48
+ ActiveRecord::Base.send :include, EnjuLibrary::LibraryItem
47
49
  ActionController::Base.send(:include, EnjuLibrary)
Binary file
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: enju_library
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0.pre11
4
+ version: 0.1.0.pre12
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kosuke Tanabe
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-03-06 00:00:00.000000000 Z
11
+ date: 2013-03-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -184,14 +184,14 @@ dependencies:
184
184
  requirements:
185
185
  - - ~>
186
186
  - !ruby/object:Gem::Version
187
- version: 0.1.0.pre21
187
+ version: 0.1.0.pre22
188
188
  type: :development
189
189
  prerelease: false
190
190
  version_requirements: !ruby/object:Gem::Requirement
191
191
  requirements:
192
192
  - - ~>
193
193
  - !ruby/object:Gem::Version
194
- version: 0.1.0.pre21
194
+ version: 0.1.0.pre22
195
195
  - !ruby/object:Gem::Dependency
196
196
  name: enju_event
197
197
  requirement: !ruby/object:Gem::Requirement
@@ -212,14 +212,14 @@ dependencies:
212
212
  requirements:
213
213
  - - ~>
214
214
  - !ruby/object:Gem::Version
215
- version: 0.1.0.pre12
215
+ version: 0.1.0.pre13
216
216
  type: :development
217
217
  prerelease: false
218
218
  version_requirements: !ruby/object:Gem::Requirement
219
219
  requirements:
220
220
  - - ~>
221
221
  - !ruby/object:Gem::Version
222
- version: 0.1.0.pre12
222
+ version: 0.1.0.pre13
223
223
  - !ruby/object:Gem::Dependency
224
224
  name: enju_inter_library_loan
225
225
  requirement: !ruby/object:Gem::Requirement
@@ -313,6 +313,7 @@ files:
313
313
  - app/models/basket.rb
314
314
  - app/models/bookstore.rb
315
315
  - app/models/budget_type.rb
316
+ - app/models/enju_library/ability.rb
316
317
  - app/models/library.rb
317
318
  - app/models/library_group.rb
318
319
  - app/models/library_group_sweeper.rb
@@ -385,8 +386,8 @@ files:
385
386
  - app/views/subscriptions/index.html.erb
386
387
  - app/views/subscriptions/new.html.erb
387
388
  - app/views/subscriptions/show.html.erb
388
- - config/locales/en.yml
389
- - config/locales/ja.yml
389
+ - config/locales/translation_en.yml
390
+ - config/locales/translation_ja.yml
390
391
  - config/routes.rb
391
392
  - db/migrate/059_create_libraries.rb
392
393
  - db/migrate/069_create_shelves.rb
@@ -406,6 +407,7 @@ files:
406
407
  - db/migrate/20120319173203_create_accepts.rb
407
408
  - db/migrate/20120510140958_add_closed_to_shelf.rb
408
409
  - lib/enju_library/engine.rb
410
+ - lib/enju_library/item.rb
409
411
  - lib/enju_library/version.rb
410
412
  - lib/enju_library.rb
411
413
  - lib/generators/enju_library/views_generator.rb
@@ -538,16 +540,16 @@ files:
538
540
  - spec/dummy/solr/conf/spellings.txt
539
541
  - spec/dummy/solr/conf/stopwords.txt
540
542
  - spec/dummy/solr/conf/synonyms.txt
541
- - spec/dummy/solr/data/test/index/_1n.fdt
542
- - spec/dummy/solr/data/test/index/_1n.fdx
543
- - spec/dummy/solr/data/test/index/_1n.fnm
544
- - spec/dummy/solr/data/test/index/_1n.frq
545
- - spec/dummy/solr/data/test/index/_1n.nrm
546
- - spec/dummy/solr/data/test/index/_1n.prx
547
- - spec/dummy/solr/data/test/index/_1n.tii
548
- - spec/dummy/solr/data/test/index/_1n.tis
543
+ - spec/dummy/solr/data/test/index/_3b.fdt
544
+ - spec/dummy/solr/data/test/index/_3b.fdx
545
+ - spec/dummy/solr/data/test/index/_3b.fnm
546
+ - spec/dummy/solr/data/test/index/_3b.frq
547
+ - spec/dummy/solr/data/test/index/_3b.nrm
548
+ - spec/dummy/solr/data/test/index/_3b.prx
549
+ - spec/dummy/solr/data/test/index/_3b.tii
550
+ - spec/dummy/solr/data/test/index/_3b.tis
549
551
  - spec/dummy/solr/data/test/index/segments.gen
550
- - spec/dummy/solr/data/test/index/segments_3x
552
+ - spec/dummy/solr/data/test/index/segments_7t
551
553
  - spec/dummy/solr/data/test/spellchecker/segments.gen
552
554
  - spec/dummy/solr/data/test/spellchecker/segments_1
553
555
  - spec/dummy/tmp/cache/4AD/470/country_all
@@ -767,16 +769,16 @@ test_files:
767
769
  - spec/dummy/solr/conf/spellings.txt
768
770
  - spec/dummy/solr/conf/stopwords.txt
769
771
  - spec/dummy/solr/conf/synonyms.txt
770
- - spec/dummy/solr/data/test/index/_1n.fdt
771
- - spec/dummy/solr/data/test/index/_1n.fdx
772
- - spec/dummy/solr/data/test/index/_1n.fnm
773
- - spec/dummy/solr/data/test/index/_1n.frq
774
- - spec/dummy/solr/data/test/index/_1n.nrm
775
- - spec/dummy/solr/data/test/index/_1n.prx
776
- - spec/dummy/solr/data/test/index/_1n.tii
777
- - spec/dummy/solr/data/test/index/_1n.tis
772
+ - spec/dummy/solr/data/test/index/_3b.fdt
773
+ - spec/dummy/solr/data/test/index/_3b.fdx
774
+ - spec/dummy/solr/data/test/index/_3b.fnm
775
+ - spec/dummy/solr/data/test/index/_3b.frq
776
+ - spec/dummy/solr/data/test/index/_3b.nrm
777
+ - spec/dummy/solr/data/test/index/_3b.prx
778
+ - spec/dummy/solr/data/test/index/_3b.tii
779
+ - spec/dummy/solr/data/test/index/_3b.tis
778
780
  - spec/dummy/solr/data/test/index/segments.gen
779
- - spec/dummy/solr/data/test/index/segments_3x
781
+ - spec/dummy/solr/data/test/index/segments_7t
780
782
  - spec/dummy/solr/data/test/spellchecker/segments.gen
781
783
  - spec/dummy/solr/data/test/spellchecker/segments_1
782
784
  - spec/dummy/tmp/cache/4AD/470/country_all