enju_library 0.1.0.pre11 → 0.1.0.pre12

Sign up to get free protection for your applications and to get access to all the features.
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