enju_purchase_request 0.0.3

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 (131) hide show
  1. data/MIT-LICENSE +20 -0
  2. data/README.rdoc +3 -0
  3. data/Rakefile +45 -0
  4. data/app/controllers/order_lists_controller.rb +94 -0
  5. data/app/controllers/orders_controller.rb +129 -0
  6. data/app/controllers/purchase_requests_controller.rb +139 -0
  7. data/app/models/order.rb +35 -0
  8. data/app/models/order_list.rb +53 -0
  9. data/app/models/purchase_request.rb +89 -0
  10. data/app/views/order_lists/edit.html.erb +37 -0
  11. data/app/views/order_lists/index.atom.builder +11 -0
  12. data/app/views/order_lists/index.html.erb +34 -0
  13. data/app/views/order_lists/index.rss.builder +31 -0
  14. data/app/views/order_lists/new.html.erb +32 -0
  15. data/app/views/order_lists/show.html.erb +40 -0
  16. data/app/views/orders/edit.html.erb +30 -0
  17. data/app/views/orders/index.atom.builder +11 -0
  18. data/app/views/orders/index.html.erb +40 -0
  19. data/app/views/orders/index.rss.builder +38 -0
  20. data/app/views/orders/new.html.erb +34 -0
  21. data/app/views/orders/show.html.erb +23 -0
  22. data/app/views/purchase_requests/_index.html.erb +85 -0
  23. data/app/views/purchase_requests/_index_order_list.html.erb +76 -0
  24. data/app/views/purchase_requests/_new.html.erb +76 -0
  25. data/app/views/purchase_requests/_new_order_list.html.erb +74 -0
  26. data/app/views/purchase_requests/edit.html.erb +66 -0
  27. data/app/views/purchase_requests/index.atom.builder +15 -0
  28. data/app/views/purchase_requests/index.csv.erb +4 -0
  29. data/app/views/purchase_requests/index.html.erb +5 -0
  30. data/app/views/purchase_requests/index.rss.builder +38 -0
  31. data/app/views/purchase_requests/new.html.erb +5 -0
  32. data/app/views/purchase_requests/show.html.erb +94 -0
  33. data/config/routes.rb +18 -0
  34. data/db/migrate/123_create_purchase_requests.rb +30 -0
  35. data/db/migrate/126_create_orders.rb +18 -0
  36. data/db/migrate/20081009062129_create_order_lists.rb +21 -0
  37. data/lib/enju_purchase_request/bookmark_url.rb +45 -0
  38. data/lib/enju_purchase_request/bookstore.rb +3 -0
  39. data/lib/enju_purchase_request/engine.rb +14 -0
  40. data/lib/enju_purchase_request/url_validator.rb +10 -0
  41. data/lib/enju_purchase_request/version.rb +3 -0
  42. data/lib/enju_purchase_request.rb +7 -0
  43. data/lib/tasks/enju_purchase_request_tasks.rake +4 -0
  44. data/spec/controllers/order_lists_controller_spec.rb +476 -0
  45. data/spec/controllers/orders_controller_spec.rb +481 -0
  46. data/spec/controllers/purchase_requests_controller_spec.rb +537 -0
  47. data/spec/dummy/Rakefile +7 -0
  48. data/spec/dummy/app/assets/javascripts/application.js +9 -0
  49. data/spec/dummy/app/assets/stylesheets/application.css +7 -0
  50. data/spec/dummy/app/controllers/application_controller.rb +104 -0
  51. data/spec/dummy/app/helpers/application_helper.rb +2 -0
  52. data/spec/dummy/app/models/ability.rb +25 -0
  53. data/spec/dummy/app/models/bookmark.rb +29 -0
  54. data/spec/dummy/app/models/bookstore.rb +31 -0
  55. data/spec/dummy/app/models/role.rb +5 -0
  56. data/spec/dummy/app/models/user.rb +29 -0
  57. data/spec/dummy/app/models/user_group.rb +2 -0
  58. data/spec/dummy/app/models/user_has_role.rb +4 -0
  59. data/spec/dummy/app/views/layouts/application.html.erb +14 -0
  60. data/spec/dummy/app/views/page/403.html.erb +9 -0
  61. data/spec/dummy/app/views/page/403.mobile.erb +5 -0
  62. data/spec/dummy/app/views/page/403.xml.erb +4 -0
  63. data/spec/dummy/app/views/page/404.html.erb +9 -0
  64. data/spec/dummy/app/views/page/404.mobile.erb +5 -0
  65. data/spec/dummy/app/views/page/404.xml.erb +4 -0
  66. data/spec/dummy/config/application.rb +45 -0
  67. data/spec/dummy/config/boot.rb +10 -0
  68. data/spec/dummy/config/database.yml +25 -0
  69. data/spec/dummy/config/environment.rb +5 -0
  70. data/spec/dummy/config/environments/development.rb +30 -0
  71. data/spec/dummy/config/environments/production.rb +60 -0
  72. data/spec/dummy/config/environments/test.rb +39 -0
  73. data/spec/dummy/config/initializers/backtrace_silencers.rb +7 -0
  74. data/spec/dummy/config/initializers/devise.rb +209 -0
  75. data/spec/dummy/config/initializers/inflections.rb +10 -0
  76. data/spec/dummy/config/initializers/mime_types.rb +6 -0
  77. data/spec/dummy/config/initializers/secret_token.rb +7 -0
  78. data/spec/dummy/config/initializers/session_store.rb +8 -0
  79. data/spec/dummy/config/initializers/wrap_parameters.rb +14 -0
  80. data/spec/dummy/config/locales/en.yml +5 -0
  81. data/spec/dummy/config/routes.rb +60 -0
  82. data/spec/dummy/config.ru +4 -0
  83. data/spec/dummy/db/migrate/006_create_items.rb +36 -0
  84. data/spec/dummy/db/migrate/124_create_bookstores.rb +21 -0
  85. data/spec/dummy/db/migrate/20111201121844_create_roles.rb +12 -0
  86. data/spec/dummy/db/migrate/20111201155456_create_users.rb +13 -0
  87. data/spec/dummy/db/migrate/20111201155513_add_devise_to_users.rb +31 -0
  88. data/spec/dummy/db/migrate/20111201163342_create_user_groups.rb +12 -0
  89. data/spec/dummy/db/migrate/20111201163718_create_user_has_roles.rb +10 -0
  90. data/spec/dummy/db/schema.rb +156 -0
  91. data/spec/dummy/db/test.sqlite3 +0 -0
  92. data/spec/dummy/log/development.log +0 -0
  93. data/spec/dummy/log/sunspot-solr-test.log +222 -0
  94. data/spec/dummy/log/test.log +137771 -0
  95. data/spec/dummy/public/404.html +26 -0
  96. data/spec/dummy/public/422.html +26 -0
  97. data/spec/dummy/public/500.html +26 -0
  98. data/spec/dummy/public/favicon.ico +0 -0
  99. data/spec/dummy/script/rails +6 -0
  100. data/spec/dummy/solr/conf/admin-extra.html +31 -0
  101. data/spec/dummy/solr/conf/elevate.xml +36 -0
  102. data/spec/dummy/solr/conf/mapping-ISOLatin1Accent.txt +246 -0
  103. data/spec/dummy/solr/conf/protwords.txt +21 -0
  104. data/spec/dummy/solr/conf/schema.xml +238 -0
  105. data/spec/dummy/solr/conf/scripts.conf +24 -0
  106. data/spec/dummy/solr/conf/solrconfig.xml +934 -0
  107. data/spec/dummy/solr/conf/spellings.txt +2 -0
  108. data/spec/dummy/solr/conf/stopwords.txt +58 -0
  109. data/spec/dummy/solr/conf/synonyms.txt +31 -0
  110. data/spec/dummy/solr/data/test/index/segments.gen +0 -0
  111. data/spec/dummy/solr/data/test/index/segments_1 +0 -0
  112. data/spec/dummy/solr/data/test/spellchecker/segments.gen +0 -0
  113. data/spec/dummy/solr/data/test/spellchecker/segments_1 +0 -0
  114. data/spec/factories/bookstore.rb +5 -0
  115. data/spec/factories/order.rb +6 -0
  116. data/spec/factories/order_list.rb +7 -0
  117. data/spec/factories/purchase_request.rb +6 -0
  118. data/spec/factories/user.rb +34 -0
  119. data/spec/fixtures/order_lists.yml +40 -0
  120. data/spec/fixtures/orders.yml +50 -0
  121. data/spec/fixtures/purchase_requests.yml +129 -0
  122. data/spec/fixtures/roles.yml +21 -0
  123. data/spec/fixtures/user_has_roles.yml +41 -0
  124. data/spec/fixtures/users.yml +69 -0
  125. data/spec/models/order_list_spec.rb +24 -0
  126. data/spec/models/order_spec.rb +21 -0
  127. data/spec/models/purchase_request_spec.rb +31 -0
  128. data/spec/spec_helper.rb +44 -0
  129. data/spec/support/controller_macros.rb +48 -0
  130. data/spec/support/devise.rb +4 -0
  131. metadata +394 -0
@@ -0,0 +1,31 @@
1
+ xml.instruct! :xml, :version=>"1.0"
2
+ xml.rss('version' => "2.0",
3
+ 'xmlns:opensearch' => "http://a9.com/-/spec/opensearch/1.1/",
4
+ 'xmlns:atom' => "http://www.w3.org/2005/Atom"){
5
+ xml.channel{
6
+ xml.title t('order_list.library_group_order_list', :library_group_name => @library_group.display_name.localize)
7
+ xml.link order_lists_url
8
+ xml.description "Next-L Enju, an open source integrated library system developed by Project Next-L"
9
+ xml.language @locale.to_s
10
+ xml.ttl "60"
11
+ xml.tag! "atom:link", :rel => 'self', :href => order_lists_url(:format => :rss)
12
+ xml.tag! "atom:link", :rel => 'alternate', :href => order_lists_url
13
+ #xml.tag! "atom:link", :rel => 'search', :type => 'application/opensearchdescription+xml', :href => "http://#{request.host_with_port}/page/opensearch"
14
+ unless params[:query].blank?
15
+ xml.tag! "opensearch:totalResults", @count[:query_result]
16
+ xml.tag! "opensearch:startIndex", @order_lists.offset + 1
17
+ xml.tag! "opensearch:itemsPerPage", @order_lists.per_page
18
+ #xml.tag! "opensearch:Query", :role => 'request', :searchTerms => params[:query], :startPage => (params[:page] || 1)
19
+ end
20
+ @order_lists.each do |order_list|
21
+ xml.item do
22
+ xml.title order_list.title
23
+ #xml.description(order_list.title)
24
+ # rfc822
25
+ xml.pubDate order_list.created_at.utc.rfc822
26
+ xml.link order_list_url(order_list)
27
+ xml.guid order_list_url(order_list), :isPermaLink => "true"
28
+ end
29
+ end
30
+ }
31
+ }
@@ -0,0 +1,32 @@
1
+ <div id="content_detail" class="ui-corner-all">
2
+ <h1 class="title"><%= t('page.new', :model => t('activerecord.models.order_list')) -%></h1>
3
+ <div id="content_list">
4
+
5
+ <%= form_for(@order_list) do |f| -%>
6
+ <%= f.error_messages -%>
7
+
8
+ <div class="field">
9
+ <%= f.label :title -%><br />
10
+ <%= f.text_field :title, :class => 'resource_title' -%>
11
+ </div>
12
+ <div class="field">
13
+ <%= f.label t('activerecord.models.bookstore') -%><br />
14
+ <%= f.select(:bookstore_id, @bookstores.collect{|b| [b.name, b.id]}) -%>
15
+ </div>
16
+ <div class="field">
17
+ <%= f.label :note -%><br />
18
+ <%= f.text_area :note, :class => 'resource_textarea' -%>
19
+ </div>
20
+ <div class="actions">
21
+ <%= f.submit %>
22
+ </div>
23
+ <%- end -%>
24
+
25
+ </div>
26
+ </div>
27
+
28
+ <div id="submenu" class="ui-corner-all">
29
+ <ul>
30
+ <li><%= link_to t('page.back'), order_lists_path -%></li>
31
+ </ul>
32
+ </div>
@@ -0,0 +1,40 @@
1
+ <div id="content_detail" class="ui-corner-all">
2
+ <h1 class="title"><%= t('page.showing', :model => t('activerecord.models.order_list')) -%></h1>
3
+ <div id="content_list">
4
+ <p id="notice"><%= notice %></p>
5
+
6
+ <p>
7
+ <strong><%= t('activerecord.models.user') -%>:</strong>
8
+ <%= link_to @order_list.user.username, @order_list.user -%>
9
+ </p>
10
+
11
+ <p>
12
+ <strong><%= t('activerecord.attributes.order_list.title') -%>:</strong>
13
+ <%= @order_list.title -%>
14
+ </p>
15
+
16
+ <p>
17
+ <strong><%= t('activerecord.models.bookstore') -%>:</strong>
18
+ <%= link_to @order_list.bookstore.name, @order_list.bookstore -%>
19
+ </p>
20
+
21
+ <p>
22
+ <strong><%= t('activerecord.attributes.order_list.ordered_at') -%>:</strong>
23
+ <%= l(@order_list.ordered_at) if @order_list.ordered_at -%>
24
+ </p>
25
+
26
+ <p>
27
+ <strong><%= t('activerecord.attributes.order_list.note') -%>:</strong>
28
+ <%= @order_list.note -%>
29
+ </p>
30
+
31
+ </div>
32
+ </div>
33
+
34
+ <div id="submenu" class="ui-corner-all">
35
+ <ul>
36
+ <li><%= link_to t('activerecord.models.purchase_request'), order_list_purchase_requests_path(@order_list) -%></li>
37
+ <li><%= link_to t('page.edit'), edit_order_list_path(@order_list) -%></li>
38
+ <li><%= back_to_index(flash[:page_info]) -%></li>
39
+ </ul>
40
+ </div>
@@ -0,0 +1,30 @@
1
+ <div id="content_detail" class="ui-corner-all">
2
+ <h1 class="title"><%= t('page.editing', :model => t('activerecord.models.order')) -%></h1>
3
+ <div id="content_list">
4
+
5
+ <%= form_for(@order) do |f| -%>
6
+ <%= f.error_messages -%>
7
+ <div class="field">
8
+ <%= f.label t('activerecord.models.order_list') -%><br />
9
+ <%= f.text_field :order_list_id -%>
10
+ </div>
11
+
12
+ <div class="field">
13
+ <%= f.label t('activerecord.models.purchase_request') -%><br />
14
+ <%= f.text_field :purchase_request_id -%>
15
+ </div>
16
+
17
+ <div class="actions">
18
+ <%= f.submit %>
19
+ </div>
20
+ <%- end -%>
21
+
22
+ </div>
23
+ </div>
24
+
25
+ <div id="submenu" class="ui-corner-all">
26
+ <ul>
27
+ <li><%= link_to t('page.show'), order_path(@order) -%></li>
28
+ <li><%= link_to t('page.back'), orders_path -%></li>
29
+ </ul>
30
+ </div>
@@ -0,0 +1,11 @@
1
+ atom_feed(:url => orders_url(:format => :atom)) do |feed|
2
+ feed.title "Orders at #{@library_group.display_name.localize}"
3
+ feed.updated(@orders.first ? @orders.first.created_at : Time.zone.now)
4
+
5
+ @orders.each do |order|
6
+ feed.entry(order) do |entry|
7
+ entry.title order.order_list.title
8
+ entry.author(@library_group.display_name.localize)
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,40 @@
1
+ <div id="content_detail" class="ui-corner-all">
2
+ <h1 class="title"><%= t('page.listing', :model => t('activerecord.models.order')) -%></h1>
3
+ <div id="content_list">
4
+
5
+ <table>
6
+ <tr>
7
+ <th><%= t('activerecord.models.order_list') -%></th>
8
+ <th><%= t('activerecord.models.purchase_request') -%></th>
9
+ <th><%= t('page.updated_at') -%></th>
10
+ <th></th>
11
+ </tr>
12
+
13
+ <%- @orders.each do |order| -%>
14
+ <tr class="line<%= cycle("0", "1") -%>">
15
+ <td><%= link_to order.order_list.title, order.order_list -%></td>
16
+ <td><%= link_to order.purchase_request.title, purchase_request_path(order.purchase_request) -%></td>
17
+ <td><%= l(order.updated_at) -%></td>
18
+ <td>
19
+ <%- if can? :destroy, order -%>
20
+ <%= link_to t('page.show'), order_path(order) -%>
21
+ <%= link_to t('page.edit'), edit_order_path(order) -%>
22
+ <%= link_to t('page.destroy'), order_path(order), :confirm => t('page.are_you_sure'), :method => :delete -%>
23
+ <%- end -%>
24
+ </td>
25
+ </tr>
26
+ <%- end -%>
27
+ </table>
28
+
29
+ <%= will_paginate(@orders) -%>
30
+
31
+ </div>
32
+ </div>
33
+
34
+ <div id="submenu" class="ui-corner-all">
35
+ <ul>
36
+ <%- if can? :create, Order -%>
37
+ <li><%= link_to t('page.new', :model => t('activerecord.models.order')), new_order_path -%></li>
38
+ <%- end -%>
39
+ </ul>
40
+ </div>
@@ -0,0 +1,38 @@
1
+ xml.instruct! :xml, :version=>"1.0"
2
+ xml.rss('version' => "2.0",
3
+ 'xmlns:opensearch' => "http://a9.com/-/spec/opensearch/1.1/",
4
+ 'xmlns:atom' => "http://www.w3.org/2005/Atom"){
5
+ xml.channel{
6
+ if @user
7
+ xml.title "#{@user.username}'s orders at #{@library_group.display_name.localize}"
8
+ xml.link user_orders_url(@user)
9
+ xml.tag! "atom:link", :rel => 'self', :href => user_orders_url(@user, :format => :rss)
10
+ xml.tag! "atom:link", :rel => 'alternate', :href => user_orders_url(@user)
11
+ else
12
+ xml.title "Orders at #{@library_group.display_name.localize}"
13
+ xml.link orders_url
14
+ xml.tag! "atom:link", :rel => 'self', :href => orders_url(:format => :rss)
15
+ xml.tag! "atom:link", :rel => 'alternate', :href => orders_url
16
+ end
17
+ xml.description "Next-L Enju, an open source integrated library system developed by Project Next-L"
18
+ xml.language @locale.to_s
19
+ xml.ttl "60"
20
+ #xml.tag! "atom:link", :rel => 'search', :type => 'application/opensearchdescription+xml', :href => "http://#{request.host_with_port}/page/opensearch"
21
+ unless params[:query].blank?
22
+ xml.tag! "opensearch:totalResults", @count[:query_result]
23
+ xml.tag! "opensearch:startIndex", @orders.offset + 1
24
+ xml.tag! "opensearch:itemsPerPage", @orders.per_page
25
+ #xml.tag! "opensearch:Query", :role => 'request', :searchTerms => params[:query], :startPage => (params[:page] || 1)
26
+ end
27
+ @orders.each do |order|
28
+ xml.item do
29
+ xml.title order.order_list.title
30
+ #xml.description(order.title)
31
+ # rfc822
32
+ xml.pubDate order.created_at.utc.rfc822
33
+ xml.link order_url(order)
34
+ xml.guid order_url(order), :isPermaLink => "true"
35
+ end
36
+ end
37
+ }
38
+ }
@@ -0,0 +1,34 @@
1
+ <div id="content_detail" class="ui-corner-all">
2
+ <h1 class="title"><%= t('page.new', :model => t('activerecord.models.order')) -%></h1>
3
+ <div id="content_list">
4
+
5
+ <%= form_for(@order) do |f| -%>
6
+ <%= f.error_messages -%>
7
+ <div class="field">
8
+ <%= f.label t('activerecord.models.order_list') -%><br />
9
+ <%= f.select(:order_list_id, @order_lists.collect{|l| [l.title, l.id]}) -%>
10
+ </div>
11
+
12
+ <div class="field">
13
+ <%= f.label t('activerecord.models.purchase_request') -%><br />
14
+ <%- if @purchase_request -%>
15
+ <%= link_to @purchase_request.title, @purchase_request -%>
16
+ <%= f.hidden_field :purchase_request_id, :value => @purchase_request.id -%>
17
+ <%- else -%>
18
+ <%= f.text_field :purchase_request_id -%>
19
+ <%- end -%>
20
+ </div>
21
+
22
+ <div class="actions">
23
+ <%= f.submit %>
24
+ </div>
25
+ <%- end -%>
26
+
27
+ </div>
28
+ </div>
29
+
30
+ <div id="submenu" class="ui-corner-all">
31
+ <ul>
32
+ <li><%= link_to t('page.back'), orders_path -%></li>
33
+ </ul>
34
+ </div>
@@ -0,0 +1,23 @@
1
+ <div id="content_detail" class="ui-corner-all">
2
+ <h1 class="title"><%= t('page.showing', :model => t('activerecord.models.order')) -%></h1>
3
+ <div id="content_list">
4
+ <p id="notice"><%= notice %></p>
5
+
6
+ <p>
7
+ <strong><%= t('activerecord.models.order_list') -%>:</strong>
8
+ <%= link_to @order.order_list.title, order_list_purchase_requests_path(@order.order_list) -%>
9
+ </p>
10
+
11
+ <p>
12
+ <strong><%= t('activerecord.models.purchase_request') -%>:</strong>
13
+ <%= link_to @order.purchase_request.title, purchase_request_path(@order.purchase_request) -%>
14
+ </p>
15
+
16
+ </div>
17
+ </div>
18
+
19
+ <div id="submenu" class="ui-corner-all">
20
+ <ul>
21
+ <li><%= link_to t('page.back_to', :model => t('activerecord.models.purchase_request')), order_list_purchase_requests_path(@order.order_list) -%></li>
22
+ </ul>
23
+ </div>
@@ -0,0 +1,85 @@
1
+ <div id="content_detail" class="ui-corner-all">
2
+ <h1 class="title"><%= t('page.listing', :model => t('activerecord.models.purchase_request')) -%></h1>
3
+ <div id="content_list">
4
+
5
+ <div class="search_form">
6
+ <%= form_for :purchase_requests, :url => purchase_requests_path, :html => {:method => 'get'} do -%>
7
+ <p>
8
+ <%= t('page.search_term') -%>: <%= search_field_tag 'query', h(@query), {:id => 'search_form_top', :class => 'search_form', :placeholder => t('page.search_term')} -%>
9
+ <%= submit_tag t('page.search') -%>
10
+ </p>
11
+ <%- end -%>
12
+ </div>
13
+
14
+ <table class="index">
15
+ <tr>
16
+ <th><%= t('activerecord.attributes.purchase_request.title') -%></th>
17
+ <th><%= t('activerecord.attributes.purchase_request.price') -%></th>
18
+ <th><%= t('activerecord.models.order_list') -%></th>
19
+ <th id="edit_icons"></th>
20
+ </tr>
21
+
22
+ <%- @purchase_requests.each_with_index do |purchase_request, i| -%>
23
+ <tr class="line<%= cycle("0", "1") -%>">
24
+ <td>
25
+ <%= link_to purchase_request.title, purchase_request -%>
26
+ <br />
27
+ <%= purchase_request.author -%>
28
+ <%= purchase_request.publisher -%>
29
+ <%= purchase_request.pub_date -%>
30
+ </td>
31
+ <td><%= purchase_request.price -%></td>
32
+ <td>
33
+ <%= link_to purchase_request.order_list.title, order_list_purchase_requests_path(purchase_request.order_list) if purchase_request.order_list -%>
34
+ </td>
35
+ <td>
36
+ <%= link_to image_tag('icons/page_white_edit.png', :size => '16x16', :alt => t('page.edit')), edit_purchase_request_path(purchase_request) -%>
37
+ <%- if can? :destroy, purchase_request %>
38
+ <%= link_to image_tag('icons/delete.png', :size => '16x16', :alt => t('page.destroy')), purchase_request, :confirm => t('page.are_you_sure'), :method => :delete -%>
39
+ <%- end -%>
40
+ </td>
41
+ </tr>
42
+ <%- end -%>
43
+ </table>
44
+
45
+ <%= will_paginate(@purchase_requests) -%>
46
+
47
+ </div>
48
+ </div>
49
+
50
+ <div id="submenu" class="ui-corner-all">
51
+ <ul>
52
+ <li><%= link_to t('page.new', :model => t('activerecord.models.purchase_request')), new_purchase_request_path %></li>
53
+ <% if current_user.try(:has_role?, 'Librarian') %>
54
+ <%- case params[:mode] when 'not_ordered' -%>
55
+ <li><%= link_to t('purchase_request.ordered'), purchase_requests_path(:mode => 'ordered') -%></li>
56
+ <li><%= link_to t('purchase_request.all_request'), purchase_requests_path -%></li>
57
+ <%- when 'ordered' -%>
58
+ <li><%= link_to t('purchase_request.not_ordered'), purchase_requests_path(:mode => 'not_ordered') -%></li>
59
+ <li><%= link_to t('purchase_request.all_request'), purchase_requests_path -%></li>
60
+ <%- else -%>
61
+ <li><%= link_to t('purchase_request.all_request'), purchase_requests_path -%></li>
62
+ <li><%= link_to t('purchase_request.ordered'), purchase_requests_path(:mode => 'ordered') -%></li>
63
+ <li><%= link_to t('purchase_request.not_ordered'), purchase_requests_path(:mode => 'not_ordered') -%></li>
64
+ <%- end -%>
65
+ <%- end -%>
66
+ </ul>
67
+ <p>
68
+ <%- if @user -%>
69
+ <%= link_to (image_tag 'icons/feed.png', :size => '16x16', :alt => t('page.feed'), :class => 'icon'), :user_id => @user.username, :format => :rss -%>
70
+ (<%= link_to 'RSS', user_purchase_requests_path(@user, :format => :rss) -%>)
71
+ <%= link_to (image_tag 'icons/page_white_excel.png', :size => '16x16', :alt => 'CSV', :class => 'icon'), user_purchase_requests_path(@user, :format => :csv, :locale => @locale.to_s) -%>
72
+ (<%= link_to 'CSV', user_purchase_requests_path(@user, :format => :csv, :locale => @locale.to_s) -%>)
73
+ <%- else -%>
74
+ <%= link_to (image_tag 'icons/feed.png', :size => '16x16', :alt => t('page.feed'), :class => 'icon'), :format => :rss -%>
75
+ (<%= link_to 'RSS', purchase_requests_path(:format => :rss) -%>)
76
+ <%= link_to (image_tag 'icons/page_white_excel.png', :size => '16x16', :alt => 'CSV', :class => 'icon'), purchase_requests_path(:format => :csv, :locale => @locale.to_s) -%>
77
+ (<%= link_to 'CSV', purchase_requests_path(:format => :csv, :locale => @locale.to_s) -%>)
78
+ <%- end -%>
79
+ </p>
80
+
81
+ <h4><%= t('page.bookmarklet') -%></h4>
82
+ <ul>
83
+ <li><a href="javascript:window.location.href='<%= new_purchase_request_url -%>?purchase_request[url]='+encodeURIComponent(location.href)+'&purchase_request[title]='+encodeURIComponent(document.title);"><%= t('purchase_request.add_to_purchase_request') -%></a></li>
84
+ </ul>
85
+ </div>
@@ -0,0 +1,76 @@
1
+ <div id="content_detail" class="ui-corner-all">
2
+ <h1 class="title"><%= t('page.listing', :model => t('activerecord.models.purchase_request')) -%></h1>
3
+ <div id="content_list">
4
+ <h2 class="resource_title"><%= link_to @order_list.title, @order_list -%></h2>
5
+ <p>
6
+ <% if @order_list.ordered_at -%>
7
+ <%= t('activerecord.attributes.order_list.ordered_at') -%>: <%= l(@order_list.ordered_at) if @order_list.ordered_at -%>
8
+ (<%= link_to @order_list.bookstore.name, @order_list.bookstore %>)
9
+ <% end %>
10
+ <%= t('order_list.total_price') -%>: <%= @order_list.total_price -%>
11
+ </p>
12
+
13
+ <div class="search_form">
14
+ <%= form_for :purchase_requests, :url => order_list_purchase_requests_path(@order_list), :html => {:method => 'get'} do -%>
15
+ <p>
16
+ <%= t('page.search_term') -%>: <%= search_field_tag 'query', h(@query), {:id => 'search_form_top', :class => 'search_form', :placeholder => t('page.search_term')} -%>
17
+ <%= submit_tag t('page.search') -%>
18
+ </p>
19
+ <%- end -%>
20
+ </div>
21
+
22
+ <table class="index">
23
+ <tr>
24
+ <th><%= t('activerecord.attributes.purchase_request.title') -%></th>
25
+ <th><%= t('activerecord.attributes.purchase_request.price') -%></th>
26
+ <th id="edit_icons"></th>
27
+ </tr>
28
+
29
+ <%- @purchase_requests.each_with_index do |purchase_request, i| -%>
30
+ <tr class="line<%= cycle("0", "1") -%>">
31
+ <td>
32
+ <%= link_to purchase_request.title, purchase_request -%>
33
+ <br />
34
+ <%= purchase_request.author -%>
35
+ <%= purchase_request.publisher -%>
36
+ <%= purchase_request.pub_date -%>
37
+ </td>
38
+ <td><%= purchase_request.price -%></td>
39
+ <td>
40
+ <%= link_to image_tag('icons/page_white_edit.png', :size => '16x16', :alt => t('page.edit')), edit_purchase_request_path(purchase_request) -%>
41
+ <%- if can? :destroy, purchase_request -%>
42
+ <%- if params[:mode] == "add" -%>
43
+ <%= link_to t('page.add'), new_order_list_purchase_request_path(@order_list, :purchase_request_id => purchase_request.id, :mode => 'add') -%>
44
+ <%- else -%>
45
+ <%- order = @order_list.orders.find_by_purchase_request_id(purchase_request.id) -%>
46
+ <%= link_to t('page.destroy'), order_list_order_path(@order_list, order), :confirm => t('page.are_you_sure'), :method => :delete -%>
47
+ <%- end -%>
48
+ <%- end -%>
49
+ </td>
50
+ </tr>
51
+ <%- end -%>
52
+ </table>
53
+
54
+ <%= will_paginate(@purchase_requests) -%>
55
+
56
+ </div>
57
+ </div>
58
+
59
+ <div id="submenu" class="ui-corner-all">
60
+ <ul>
61
+ <%- unless @order_list.ordered? -%>
62
+ <li><%= link_to t('activerecord.models.order'), edit_order_list_path(@order_list, :mode => 'order') -%></li>
63
+ <%- end -%>
64
+ <li><%= link_to t('purchase_request.all_request'), purchase_requests_path -%></li>
65
+ </ul>
66
+ <p>
67
+ <%= link_to (image_tag 'icons/feed.png', :size => '16x16', :alt => t('page.feed'), :class => 'icon'), purchase_requests_path(:format => :rss) -%>
68
+ (<%= link_to 'RSS', purchase_requests_path(:format => :rss) -%>)
69
+ <%= link_to (image_tag 'icons/page_white_excel.png', :size => '16x16', :alt => 'CSV', :class => 'icon'), purchase_requests_path(:format => :csv, :locale => @locale.to_s) -%>
70
+ (<%= link_to 'CSV', purchase_requests_path(:format => :csv, :locale => @locale.to_s) -%>)
71
+ </p>
72
+ <h4><%= t('page.bookmarklet') -%></h4>
73
+ <ul>
74
+ <li><a href="javascript:window.location.href='<%= new_purchase_request_url -%>?purchase_request[url]='+encodeURIComponent(location.href)+'&purchase_request[title]='+encodeURIComponent(document.title);"><%= t('purchase_request.add_to_purchase_request') -%></a></li>
75
+ </ul>
76
+ </div>
@@ -0,0 +1,76 @@
1
+ <div id="content_detail" class="ui-corner-all">
2
+ <h1 class="title"><%= t('page.new', :model => t('activerecord.models.purchase_request')) -%></h1>
3
+ <div id="content_list">
4
+
5
+ <%= form_for(@purchase_request) do |f| -%>
6
+ <%= f.error_messages -%>
7
+
8
+ <div class="field">
9
+ <%= f.label t('activerecord.models.user') -%><br />
10
+ <%- if @user -%>
11
+ <%= link_to @user.username, @user -%>
12
+ <%- else -%>
13
+ <%= link_to current_user.username, current_user -%>
14
+ <%- end -%>
15
+ </div>
16
+
17
+ <div class="field">
18
+ <%= f.label :title -%><br />
19
+ <%= f.text_area :title, :class => 'resource_textarea' -%>
20
+ </div>
21
+
22
+ <div class="field">
23
+ <%= f.label :author -%><br />
24
+ <%= f.text_area :author, :class => 'resource_textarea' -%>
25
+ </div>
26
+
27
+ <div class="field">
28
+ <%= f.label :publisher -%><br />
29
+ <%= f.text_area :publisher, :class => 'resource_textarea' -%>
30
+ </div>
31
+
32
+ <div class="field">
33
+ <%= f.label :isbn -%><br />
34
+ <%= f.text_field :isbn, :class => 'resource_isbn_issn' -%>
35
+ </div>
36
+
37
+ <div class="field">
38
+ <%= f.label :pub_date -%><br />
39
+ <%= f.text_field :pub_date -%>
40
+ </div>
41
+
42
+ <div class="field">
43
+ <%= f.label :price -%><br />
44
+ <%= f.text_field :price, :class => 'resource_integer' -%>
45
+ </div>
46
+
47
+ <div class="field">
48
+ <%= f.label :url -%><br />
49
+ <%= f.url_field :url, :class => 'resource_url' -%>
50
+ </div>
51
+
52
+ <div class="field">
53
+ <%= f.label :note -%><br />
54
+ <%= f.text_area :note, :class => 'resource_textarea' -%>
55
+ </div>
56
+
57
+ <div class="actions">
58
+ <%= f.submit %>
59
+ </div>
60
+ <%- end -%>
61
+
62
+ </div>
63
+ </div>
64
+
65
+ <div id="submenu" class="ui-corner-all">
66
+ <ul>
67
+ <%- if @user -%>
68
+ <% if params[:url].try(:bookmarkable?) %>
69
+ <li><%= link_to t('page.back'), :back %></li>
70
+ <% end %>
71
+ <li><%= link_to t('page.listing', :model => t('activerecord.models.purchase_request')), user_purchase_requests_path(@user) -%></li>
72
+ <%- else -%>
73
+ <li><%= link_to t('page.listing', :model => t('activerecord.models.purchase_request')), purchase_requests_path -%></li>
74
+ <%- end -%>
75
+ </ul>
76
+ </div>
@@ -0,0 +1,74 @@
1
+ <div id="content_detail" class="ui-corner-all">
2
+ <h1 class="title"><%= t('page.new', :model => t('activerecord.models.purchase_request')) -%></h1>
3
+ <div id="content_list">
4
+
5
+ <%= form_for(@purchase_request, :url => order_list_purchase_requests_path(@order_list)) do |f| -%>
6
+ <%= f.error_messages -%>
7
+
8
+ <div class="field">
9
+ <%= f.label t('activerecord.models.user') -%><br />
10
+ <%- if @user -%>
11
+ <%= link_to @user.username, @user -%>
12
+ <%- else -%>
13
+ <%= link_to current_user.username, current_user -%>
14
+ <%- end -%>
15
+ </div>
16
+
17
+ <div class="field">
18
+ <%= f.label :title -%><br />
19
+ <%= f.text_area :title, :class => 'resource_textarea' -%>
20
+ </div>
21
+
22
+ <div class="field">
23
+ <%= f.label :author -%><br />
24
+ <%= f.text_area :author, :class => 'resource_textarea' -%>
25
+ </div>
26
+
27
+ <div class="field">
28
+ <%= f.label :publisher -%><br />
29
+ <%= f.text_area :publisher, :class => 'resource_textarea' -%>
30
+ </div>
31
+
32
+ <div class="field">
33
+ <%= f.label :isbn -%><br />
34
+ <%= f.text_field :isbn, :class => 'resource_isbn_issn' -%>
35
+ </div>
36
+
37
+ <div class="field">
38
+ <%= f.label :pub_date -%><br />
39
+ <%= f.text_field :pub_date -%>
40
+ </div>
41
+
42
+ <div class="field">
43
+ <%= f.label :price -%><br />
44
+ <%= f.text_field :price, :class => 'resource_integer' -%>
45
+ </div>
46
+
47
+ <div class="field">
48
+ <%= f.label :url -%><br />
49
+ <%= f.url_field :url, :class => 'resource_url' -%>
50
+ </div>
51
+
52
+ <div class="field">
53
+ <%= f.label :note -%><br />
54
+ <%= f.text_area :note, :class => 'resource_textarea' -%>
55
+ </div>
56
+
57
+ <div class="actions">
58
+ <%= f.submit %>
59
+ </div>
60
+
61
+ <%- end -%>
62
+
63
+ </div>
64
+ </div>
65
+
66
+ <div id="submenu" class="ui-corner-all">
67
+ <ul>
68
+ <%- if @user -%>
69
+ <li><%= link_to t('page.back'), user_purchase_requests_path(@user) -%></li>
70
+ <%- else -%>
71
+ <li><%= link_to t('page.back'), purchase_requests_path -%></li>
72
+ <%- end -%>
73
+ </ul>
74
+ </div>