kete_trackable_items 0.0.1
Sign up to get free protection for your applications and to get access to all the features.
- data/.document +5 -0
- data/.gitignore +21 -0
- data/.specification +146 -0
- data/Gemfile +1 -0
- data/Gemfile.lock +27 -0
- data/LICENSE +20 -0
- data/README.rdoc +24 -0
- data/Rakefile +53 -0
- data/VERSION +1 -0
- data/app/controllers/repositories_controller.rb +70 -0
- data/app/controllers/shelf_locations_controller.rb +98 -0
- data/app/controllers/trackable_item_shelf_locations_controller.rb +64 -0
- data/app/controllers/tracked_items_controller.rb +44 -0
- data/app/controllers/tracking_lists_controller.rb +88 -0
- data/app/helpers/trackable_item_shelf_locations_helper.rb +17 -0
- data/app/helpers/trackable_items_helper.rb +52 -0
- data/app/models/on_loan_organization.rb +8 -0
- data/app/models/repository.rb +11 -0
- data/app/models/shelf_location.rb +69 -0
- data/app/models/trackable_item_shelf_location.rb +58 -0
- data/app/models/tracked_item.rb +18 -0
- data/app/models/tracking_list.rb +50 -0
- data/app/views/repositories/_form.html.erb +14 -0
- data/app/views/repositories/edit.html.erb +9 -0
- data/app/views/repositories/index.html.erb +22 -0
- data/app/views/repositories/new.html.erb +9 -0
- data/app/views/repositories/show.html.erb +30 -0
- data/app/views/shelf_locations/_event_button.html.erb +1 -0
- data/app/views/shelf_locations/_form.html.erb +34 -0
- data/app/views/shelf_locations/_shelf_location.html.erb +17 -0
- data/app/views/shelf_locations/_shelf_locations.html.erb +14 -0
- data/app/views/shelf_locations/_trackable_item.html.erb +12 -0
- data/app/views/shelf_locations/edit.html.erb +9 -0
- data/app/views/shelf_locations/index.html.erb +7 -0
- data/app/views/shelf_locations/new.html.erb +9 -0
- data/app/views/shelf_locations/show.html.erb +48 -0
- data/app/views/trackable_item_shelf_locations/new.html.erb +70 -0
- data/app/views/tracked_items/_tracked_item.html.erb +18 -0
- data/app/views/tracking_lists/_event_button.html.erb +1 -0
- data/app/views/tracking_lists/_form.html.erb +27 -0
- data/app/views/tracking_lists/_trackable_item_search_form.html.erb +28 -0
- data/app/views/tracking_lists/_tracking_list.html.erb +11 -0
- data/app/views/tracking_lists/_tracking_lists.html.erb +14 -0
- data/app/views/tracking_lists/edit.html.erb +9 -0
- data/app/views/tracking_lists/index.html.erb +11 -0
- data/app/views/tracking_lists/show.html.erb +45 -0
- data/app/views/tracking_lists/show.xls.builder +48 -0
- data/config/locales/en.yml +151 -0
- data/config/routes.rb +6 -0
- data/generators/kete_trackable_items_migrations/USAGE +2 -0
- data/generators/kete_trackable_items_migrations/kete_trackable_items_migrations_generator.rb +19 -0
- data/generators/kete_trackable_items_migrations/templates/add_trackable_item_columns_to_topics.rb +15 -0
- data/generators/kete_trackable_items_migrations/templates/create_on_loan_organizations.rb +14 -0
- data/generators/kete_trackable_items_migrations/templates/create_repositories.rb +14 -0
- data/generators/kete_trackable_items_migrations/templates/create_shelf_locations.rb +15 -0
- data/generators/kete_trackable_items_migrations/templates/create_trackable_item_shelf_locations.rb +16 -0
- data/generators/kete_trackable_items_migrations/templates/create_tracked_items.rb +15 -0
- data/generators/kete_trackable_items_migrations/templates/create_tracking_lists.rb +15 -0
- data/kete_trackable_items.gemspec +25 -0
- data/lib/kete_trackable_items.rb +0 -0
- data/lib/kete_trackable_items/controller_helpers.rb +7 -0
- data/lib/kete_trackable_items/extensions/helpers/application_helper.rb +29 -0
- data/lib/kete_trackable_items/extensions/models/basket.rb +4 -0
- data/lib/kete_trackable_items/extensions/models/topic.rb +6 -0
- data/lib/kete_trackable_items/matching_trackable_items_controller_helpers.rb +42 -0
- data/lib/kete_trackable_items/trackable_item.rb +80 -0
- data/lib/kete_trackable_items/version.rb +3 -0
- data/lib/kete_trackable_items/workflow_utilities.rb +91 -0
- data/rails/init.rb +68 -0
- metadata +166 -0
@@ -0,0 +1,14 @@
|
|
1
|
+
<% @submit_text = @repository.new_record? ? t('.create') : t('.save') -%>
|
2
|
+
|
3
|
+
<%= f.error_messages %>
|
4
|
+
|
5
|
+
<fieldset>
|
6
|
+
<div class="form-element">
|
7
|
+
<%= f.label :name %>
|
8
|
+
<%= f.text_field :name, { :tabindex => '1', :label => t('.name_field'), :required => true } %>
|
9
|
+
</div>
|
10
|
+
</fieldset>
|
11
|
+
|
12
|
+
<div class="wrap">
|
13
|
+
<%= f.submit @submit_text, { :class => "save-button", :tabindex => '1' } -%>
|
14
|
+
</div>
|
@@ -0,0 +1,9 @@
|
|
1
|
+
<% @title = t('.edit_repository') -%>
|
2
|
+
|
3
|
+
<h2><%= @title -%></h2>
|
4
|
+
|
5
|
+
<% form_for @repository, :url => repository_url(:id => @repository, :method => :put) do |f| %>
|
6
|
+
<%= render :partial => 'form', :locals=> { :f => f } %>
|
7
|
+
<% end %>
|
8
|
+
|
9
|
+
<%= link_to t('.back_to_repositories'), repositories_path %>
|
@@ -0,0 +1,22 @@
|
|
1
|
+
<% @title = t('.title') -%>
|
2
|
+
|
3
|
+
<h2><%= @title -%></h2>
|
4
|
+
|
5
|
+
<table>
|
6
|
+
<tr>
|
7
|
+
<th><%= t('.name') -%></th>
|
8
|
+
<th></th>
|
9
|
+
<th></th>
|
10
|
+
</tr>
|
11
|
+
|
12
|
+
<% @repositories.each do |repository| %>
|
13
|
+
<tr>
|
14
|
+
<td><%= repository.name %></td>
|
15
|
+
<td><%= link_to (t('.show'), repository_url(:id => repository)) %></td>
|
16
|
+
<td><%= link_to (t('.edit'), edit_repository_url(:id => repository)) %></td>
|
17
|
+
</tr>
|
18
|
+
<% end %>
|
19
|
+
</table>
|
20
|
+
|
21
|
+
<br />
|
22
|
+
<%= link_to t('.new') , new_repository_url %>
|
@@ -0,0 +1,9 @@
|
|
1
|
+
<% @title = t('.title') -%>
|
2
|
+
|
3
|
+
<h2><%= @title -%></h2>
|
4
|
+
|
5
|
+
<% form_for @repository, :url => repositories_url(:method => :post) do |f| %>
|
6
|
+
<%= render :partial => 'form', :locals=> { :f => f } %>
|
7
|
+
<% end %>
|
8
|
+
|
9
|
+
<%= link_to t('.back_to_repositories'), repositories_path %>
|
@@ -0,0 +1,30 @@
|
|
1
|
+
<% @title = t('.title', :name => h(@repository.name)) -%>
|
2
|
+
|
3
|
+
<h2><%= @title -%></h2>
|
4
|
+
|
5
|
+
<h3><%= t '.shelf_locations' -%></h3>
|
6
|
+
|
7
|
+
<%= render :partial => 'shelf_locations/shelf_locations', :locals => { :repository => @repository } -%>
|
8
|
+
|
9
|
+
<p>
|
10
|
+
<%= link_to t('.add_shelf_location'), new_repository_shelf_location_url(:repository_id => @repository) %>
|
11
|
+
</p>
|
12
|
+
|
13
|
+
<h3><%= t '.tracking_lists' -%></h3>
|
14
|
+
|
15
|
+
<%= render :partial => 'tracking_lists/tracking_lists', :locals => { :repository => @repository } -%>
|
16
|
+
|
17
|
+
<p>
|
18
|
+
<%= button_to t('.add_tracking_list'),
|
19
|
+
repository_tracking_lists_url(:repository_id => @repository, :method => :post) %>
|
20
|
+
</p>
|
21
|
+
|
22
|
+
<p>
|
23
|
+
<%= link_to t('.edit'), edit_repository_url(:id => @repository) %>
|
24
|
+
|
|
25
|
+
<%= link_to t('.delete'), repository_url(:id => @repository),
|
26
|
+
:confirm => t('.are_you_sureg'),
|
27
|
+
:method => :delete %>
|
28
|
+
<br/>
|
29
|
+
<%= link_to t('.back_to_repositories'), repositories_url %>
|
30
|
+
</p>
|
@@ -0,0 +1 @@
|
|
1
|
+
<%= button_to(event_button.humanize, repository_shelf_location_url(:id => shelf_location, :repository_id => shelf_location.repository, :event => event_button), :method => :put ) %>
|
@@ -0,0 +1,34 @@
|
|
1
|
+
<% @submit_text = @shelf_location.new_record? ? t('.create') : t('.save') -%>
|
2
|
+
|
3
|
+
<%= f.error_messages %>
|
4
|
+
|
5
|
+
<fieldset>
|
6
|
+
<div class="form-element">
|
7
|
+
<%= f.label :code %>
|
8
|
+
<%= f.text_field :code, { :tabindex => '1', :label => t('.code'), :required => true } %>
|
9
|
+
</div>
|
10
|
+
|
11
|
+
<% unless @shelf_location.new_record? -%>
|
12
|
+
<h3><%= t '.allocate_to' -%></h3>
|
13
|
+
<% if @matching_trackable_items.present? -%>
|
14
|
+
|
15
|
+
<% f.fields_for :trackable_item_shelf_locations do |trackable_item_form| %>
|
16
|
+
<% Rails.logger.debug("what is trackable_item_form: " + trackable_item_form.inspect) -%>
|
17
|
+
<% Rails.logger.debug("what is trackable_item_form.object.trackable_item: " + trackable_item_form.object.trackable_item.inspect) -%>
|
18
|
+
<%= link_to(h(trackable_item_form.object.description_for_tracked_item),
|
19
|
+
url_for_dc_identifier(trackable_item_form.object.trackable_item)) %>
|
20
|
+
<%= trackable_item_form.hidden_field :trackable_item_type %>
|
21
|
+
<%= trackable_item_form.hidden_field :trackable_item_id %>
|
22
|
+
<%= trackable_item_form.label :_destroy, t('.do_not_add') %>
|
23
|
+
<%= trackable_item_form.check_box :_destroy %>
|
24
|
+
<% end %>
|
25
|
+
|
26
|
+
<% else %>
|
27
|
+
<p><%= t '.no_matches' -%></p>
|
28
|
+
<% end %>
|
29
|
+
<% end %>
|
30
|
+
</fieldset>
|
31
|
+
|
32
|
+
<div class="wrap">
|
33
|
+
<%= f.submit @submit_text, { :class => "save-button", :tabindex => '1' } -%>
|
34
|
+
</div>
|
@@ -0,0 +1,17 @@
|
|
1
|
+
<tr>
|
2
|
+
<td>
|
3
|
+
<%= link_to shelf_location.code ,
|
4
|
+
repository_shelf_location_url(:id => shelf_location, :repository_id => shelf_location.repository) %>
|
5
|
+
</td>
|
6
|
+
<td>
|
7
|
+
<%= shelf_location.current_state_humanized -%>
|
8
|
+
</td>
|
9
|
+
<td>
|
10
|
+
<%= link_to t('.edit') , edit_repository_shelf_location_url(:id => shelf_location, :repository_id => shelf_location.repository) %>
|
11
|
+
|
|
12
|
+
<%= link_to t('.delete') ,
|
13
|
+
repository_shelf_location_url(:id => shelf_location, :repository_id => shelf_location.repository),
|
14
|
+
:confirm => t('.are_you_sure'),
|
15
|
+
:method => :delete %>
|
16
|
+
</td>
|
17
|
+
</tr>
|
@@ -0,0 +1,14 @@
|
|
1
|
+
<% shelf_locations = repository.shelf_locations if shelf_locations.blank? -%>
|
2
|
+
<table>
|
3
|
+
<thead>
|
4
|
+
<tr>
|
5
|
+
<th><%= t('.code') -%></th>
|
6
|
+
<th><%= t('.status') -%></th>
|
7
|
+
<th><%= t('.action') -%></th>
|
8
|
+
</tr>
|
9
|
+
</thead>
|
10
|
+
<tbody>
|
11
|
+
<%= render shelf_locations %>
|
12
|
+
</tbody>
|
13
|
+
|
14
|
+
</table>
|
@@ -0,0 +1,12 @@
|
|
1
|
+
<% trackable_item_shelf_location = shelf_location.trackable_item_shelf_locations.find(:first, :conditions => { :trackable_item_type => trackable_item.class.name, :trackable_item_id => trackable_item }) -%>
|
2
|
+
<tr>
|
3
|
+
<td>
|
4
|
+
<% if trackable_item_shelf_location.trackable_item.on_shelf? -%>
|
5
|
+
<%= button_to t('.deallocate'), { :controller => :trackable_item_shelf_locations,
|
6
|
+
:action => :update,
|
7
|
+
:id => trackable_item_shelf_location,
|
8
|
+
:event => :deactivate }, :method => :put %>
|
9
|
+
<% end -%>
|
10
|
+
</td>
|
11
|
+
<td><%= link_to trackable_item.description_for_tracked_item, url_for_dc_identifier(trackable_item) %></td>
|
12
|
+
</tr>
|
@@ -0,0 +1,9 @@
|
|
1
|
+
<% @title = t('.title', :name => h(@repository.name)) -%>
|
2
|
+
|
3
|
+
<h2><%= @title -%></h2>
|
4
|
+
|
5
|
+
<% form_for(@shelf_location, :url => repository_shelf_location_url(:id => @shelf_location, :repository_id => @repository), :method => :put ) do |f| %>
|
6
|
+
<%= render :partial => "form", :locals => { :f => f, :repository => @repository } %>
|
7
|
+
<% end %>
|
8
|
+
|
9
|
+
<%= link_to t('.back_to', :name => h(@repository.name)), repository_url(:id => @repository) %>
|
@@ -0,0 +1,7 @@
|
|
1
|
+
<% @title = t('.title', :name => h(@repository.name))
|
2
|
+
@title += t('.for_code_pattern', :code_pattern=> h(@code_pattern)) if @code_pattern
|
3
|
+
-%>
|
4
|
+
|
5
|
+
<h2><%= @title -%></h2>
|
6
|
+
|
7
|
+
<%= render :partial => 'shelf_locations', :locals => { :repository => @repository, :shelf_locations => @shelf_locations } -%>
|
@@ -0,0 +1,9 @@
|
|
1
|
+
<% @title = t('.title', :name => h(@repository.name)) -%>
|
2
|
+
|
3
|
+
<h2><%= @title -%></h2>
|
4
|
+
|
5
|
+
<% form_for @shelf_location, :url => repository_shelf_locations_url(:repository_id => @repository, :method => :post) do |f| %>
|
6
|
+
<%= render :partial => "form", :locals => { :f => f, :repository => @repository } %>
|
7
|
+
<% end %>
|
8
|
+
|
9
|
+
<%= link_to t('.back_to', :name => h(@repository.name)), repository_url(:id => @repository) %>
|
@@ -0,0 +1,48 @@
|
|
1
|
+
<% @title = t('.title', :code => h(@shelf_location.code), :name => h(@repository.name)) -%>
|
2
|
+
|
3
|
+
<h2><%= @title -%></h2>
|
4
|
+
|
5
|
+
<fieldset class="tracking_list">
|
6
|
+
<h3><%= t('.status') -%>: <%= @shelf_location.current_state_humanized -%></h3>
|
7
|
+
|
8
|
+
<h3><%= t '.allocated_for' -%></h3>
|
9
|
+
|
10
|
+
<table class="order">
|
11
|
+
<tr>
|
12
|
+
<th abbr="Actions for Item"><%= t '.item_actions' %></th>
|
13
|
+
<th abbr="Item"><%= t '.item_description' -%></th>
|
14
|
+
</tr>
|
15
|
+
|
16
|
+
<% if @shelf_location.trackable_items.size > 0 -%>
|
17
|
+
<%= render :partial => 'trackable_item', :collection => @shelf_location.trackable_items, :locals => { :shelf_location => @shelf_location }-%>
|
18
|
+
<% else -%>
|
19
|
+
<tr><td><%= t '.not_currently_allocated' -%></td></tr>
|
20
|
+
<% end -%>
|
21
|
+
|
22
|
+
<tr class="order-buttons">
|
23
|
+
<td><%= t '.shelf_location_controls_preface' -%></td>
|
24
|
+
|
25
|
+
<td>
|
26
|
+
<%= add_trackable_items_links -%>
|
27
|
+
|
28
|
+
<%= render :partial => 'event_button', :collection => @possible_events, :locals => { :shelf_location => @shelf_location } %>
|
29
|
+
|
30
|
+
<%= button_to t('.edit') , edit_repository_shelf_location_url(:id => @shelf_location, :repository_id => @repository), :method => :get %>
|
31
|
+
|
32
|
+
<%= button_to(t('.delete'), repository_shelf_location_url(:id => @shelf_location, :repository_id => @repository),
|
33
|
+
:confirm => t('.are_you_sure'),
|
34
|
+
:method => :delete) %>
|
35
|
+
</td>
|
36
|
+
|
37
|
+
</tr>
|
38
|
+
</table>
|
39
|
+
|
40
|
+
<div id="trackable_item_search_form" style="display: none;">
|
41
|
+
<%= render :partial => 'tracking_lists/trackable_item_search_form', :locals => { :target => @shelf_location } -%>
|
42
|
+
</div>
|
43
|
+
|
44
|
+
</fieldset>
|
45
|
+
|
46
|
+
<p>
|
47
|
+
<%= link_to t('.back_to', :name => h(@repository.name)), repository_url(:id => @repository) %>
|
48
|
+
</p>
|
@@ -0,0 +1,70 @@
|
|
1
|
+
<% if @trackable_item
|
2
|
+
@reference = h(@trackable_item.description_for_tracked_item)
|
3
|
+
@title = t('.title', :reference => @reference)
|
4
|
+
else
|
5
|
+
@reference = h(@shelf_location.code)
|
6
|
+
@title = t('.title_with_shelf_location', :code => @reference)
|
7
|
+
end
|
8
|
+
-%>
|
9
|
+
|
10
|
+
|
11
|
+
<h2><%= @title -%></h2>
|
12
|
+
|
13
|
+
<% form_for @trackable_item_shelf_location, :url => trackable_item_shelf_locations_url(:method => :post) do |f| %>
|
14
|
+
|
15
|
+
<%= f.error_messages %>
|
16
|
+
|
17
|
+
<fieldset>
|
18
|
+
<% if @trackable_item -%>
|
19
|
+
<%= f.hidden_field :trackable_item_id -%>
|
20
|
+
<%= f.hidden_field :trackable_item_type -%>
|
21
|
+
<% else -%>
|
22
|
+
<%# TODO: set up choice of trackable_item through autocomplete based search -%>
|
23
|
+
<% end -%>
|
24
|
+
|
25
|
+
<div class="form-element">
|
26
|
+
<% if @repositories.size == 1 -%>
|
27
|
+
<label><%= t('.repository_label') + ' ' + h(@repositories.first.name) -%></label>
|
28
|
+
<%= f.hidden_field :repository_id, :value => @repositories.first.id -%>
|
29
|
+
<% else -%>
|
30
|
+
<label><%=t '.repository_label' %></label>
|
31
|
+
<%= collection_select :trackable_item_shelf_location, :repository_id, @repositories,
|
32
|
+
:id, :name, { :tabindex => '1', :label => t('.repository'),
|
33
|
+
:required => true } -%>
|
34
|
+
|
35
|
+
<%# TODO: set up observer on repository_id that clears shelf_location_id and code when changed -%>
|
36
|
+
<% end -%>
|
37
|
+
</div>
|
38
|
+
|
39
|
+
|
40
|
+
<div class="form-element">
|
41
|
+
<label for="code"><%=t '.shelf_location_code' %></label>
|
42
|
+
<%= text_field_with_auto_complete(:trackable_item_shelf_location,
|
43
|
+
:code,
|
44
|
+
{ :tabindex => '1' },
|
45
|
+
{ :param_name => 'code_pattern', :url =>
|
46
|
+
formatted_repository_shelf_locations_path(:format => :js,
|
47
|
+
:repository_id => @repositories.first.id), :method => :get,
|
48
|
+
:indicator => 'data_spinner_shelf_location_codes' }) -%>
|
49
|
+
<span id="data_spinner_shelf_location_codes" style="display: none;">
|
50
|
+
<img src='/images/indicator.gif' width='16' height='16'
|
51
|
+
alt='<%=t '.getting_shelf_locations_codes' -%>' />
|
52
|
+
<%= t '.looking_up_shelf_locations_codes' -%>
|
53
|
+
</span>
|
54
|
+
</div>
|
55
|
+
|
56
|
+
<%# TODO: set up choice of shelf location, autocomplete based on repository chosen -%>
|
57
|
+
|
58
|
+
<%# TODO: set up observer on shelf_location.code that sets shelf_location_id when only 1 shelf_location matches value -%>
|
59
|
+
<%= javascript_repository_id_observer_and_adjust_code_autocomplete(@current_basket.urlified_name) -%>
|
60
|
+
</fieldset>
|
61
|
+
|
62
|
+
<div class="wrap">
|
63
|
+
<%= f.submit t('.create'), { :class => "save-button", :tabindex => '1' } -%>
|
64
|
+
</div>
|
65
|
+
|
66
|
+
<% end -%>
|
67
|
+
|
68
|
+
<% if @trackable_item.present? -%>
|
69
|
+
<%= link_to t('.back_to', :name => @reference), url_for_dc_identifier(@trackable_item) -%>
|
70
|
+
<% end %>
|
@@ -0,0 +1,18 @@
|
|
1
|
+
<%# HACK: using archivescentral knowledge of what tracked_item.trackable_item is -%>
|
2
|
+
<%# TODO: replace hack with configuration -%>
|
3
|
+
<% topic = Topic.find(tracked_item.trackable_item) -%>
|
4
|
+
<% shelf_location = tracked_item.trackable_item.shelf_locations.first -%>
|
5
|
+
<tr>
|
6
|
+
<td>
|
7
|
+
<%= button_to t('.delete'), { :controller => :tracked_items,
|
8
|
+
:action => :destroy,
|
9
|
+
:id => tracked_item,
|
10
|
+
:tracking_list_id => tracking_list,
|
11
|
+
:confirm => t('.are_you_sure') }, :method => :delete %>
|
12
|
+
</td>
|
13
|
+
<td><%= topic.series_no-%></td>
|
14
|
+
<td><%= topic.box_no-%></td>
|
15
|
+
<td><%= topic.item_no-%></td>
|
16
|
+
<td><%= link_to shelf_location.code, repository_shelf_location_url(:id => shelf_location, :repository_id => shelf_location.repository) -%></td>
|
17
|
+
<td><%= link_to topic.title, url_for_dc_identifier(tracked_item.trackable_item) -%><%# link_to tracked_item.description_for_tracked_item, url_for_dc_identifier(tracked_item.trackable_item) -%></td>
|
18
|
+
</tr>
|
@@ -0,0 +1 @@
|
|
1
|
+
<%= button_to(event_button.humanize, repository_tracking_list_url(:id => tracking_list, :repository_id => tracking_list.repository, :event => event_button), :method => :put ) %>
|
@@ -0,0 +1,27 @@
|
|
1
|
+
<%= f.error_messages %>
|
2
|
+
|
3
|
+
<% if @matching_trackable_items.size > 0 -%>
|
4
|
+
<fieldset>
|
5
|
+
|
6
|
+
<% f.fields_for :tracked_items do |tracked_item_form| %>
|
7
|
+
<%= link_to(h(tracked_item_form.object.description_for_tracked_item),
|
8
|
+
url_for_dc_identifier(tracked_item_form.object.trackable_item)) %>
|
9
|
+
<%= tracked_item_form.hidden_field :trackable_item_type %>
|
10
|
+
<%= tracked_item_form.hidden_field :trackable_item_id %>
|
11
|
+
<%= tracked_item_form.label :_destroy, t('.do_not_add') %>
|
12
|
+
<%= tracked_item_form.check_box :_destroy %>
|
13
|
+
<% end %>
|
14
|
+
</fieldset>
|
15
|
+
|
16
|
+
<div class="wrap">
|
17
|
+
<%= f.submit t('.add'), { :class => "save-button", :tabindex => '1' } -%>
|
18
|
+
</div>
|
19
|
+
<% else %>
|
20
|
+
<h3><%= t '.no_matches' -%></h3>
|
21
|
+
<% end %>
|
22
|
+
|
23
|
+
|
24
|
+
|
25
|
+
|
26
|
+
|
27
|
+
|
@@ -0,0 +1,28 @@
|
|
1
|
+
<h3><%= t '.search_for_trackable_items_for_target' %></h3>
|
2
|
+
|
3
|
+
<table>
|
4
|
+
|
5
|
+
<% Kete.trackable_item_scopes.keys.each do |trackable_type| -%>
|
6
|
+
<% trackable_type_param_key = trackable_type.tableize -%>
|
7
|
+
<% form_tag ({ :id => target, :repository_id => target.repository, :action => :edit }, :method => :get) do %>
|
8
|
+
<tr>
|
9
|
+
<td>
|
10
|
+
<%= t('.' + trackable_type + '_search') %>:
|
11
|
+
<%= hidden_field_tag 'trackable_type_param_key', trackable_type_param_key -%>
|
12
|
+
</td>
|
13
|
+
<% Kete.trackable_item_scopes[trackable_type]['search_scopes']['text_searches'].each do |search_specs| -%>
|
14
|
+
<% search_specs.keys.each do |text_field_key| -%>
|
15
|
+
<% trackable_type_field_key_param_key = trackable_type_param_key + '[' + text_field_key + ']' -%>
|
16
|
+
<td class="label"><label for="<%= trackable_type_field_key_param_key.sub('[', '_').sub(']', '')-%>"><%= text_field_key.humanize %></label></td>
|
17
|
+
<td class="fields">
|
18
|
+
<%= text_field_tag trackable_type_field_key_param_key, nil, :size => 10, :tabindex => '2' %>
|
19
|
+
</td>
|
20
|
+
<% end -%>
|
21
|
+
<% end -%>
|
22
|
+
<td>
|
23
|
+
<%= submit_tag t('.search_button'), { :class => "save-button", :tabindex => '2' } -%>
|
24
|
+
</td>
|
25
|
+
</tr>
|
26
|
+
<% end -%>
|
27
|
+
<% end -%>
|
28
|
+
</table>
|
@@ -0,0 +1,11 @@
|
|
1
|
+
<tr>
|
2
|
+
<td>
|
3
|
+
<%= link_to tracking_list.id, repository_tracking_list_url(:id => tracking_list.id, :repository_id => tracking_list.repository) %>
|
4
|
+
</td>
|
5
|
+
<td>
|
6
|
+
<%= tracking_list.current_state_humanized -%>
|
7
|
+
</td>
|
8
|
+
<td>
|
9
|
+
<%= tracking_list.tracked_items.count -%>
|
10
|
+
</td>
|
11
|
+
</tr>
|
@@ -0,0 +1,14 @@
|
|
1
|
+
<% tracking_lists = repository.tracking_lists if tracking_lists.blank? -%>
|
2
|
+
<table>
|
3
|
+
<thead>
|
4
|
+
<tr>
|
5
|
+
<th><%= t('.id') -%></th>
|
6
|
+
<th><%= t('.status') -%></th>
|
7
|
+
<th><%= t('.number_of_tracked_items') -%></th>
|
8
|
+
</tr>
|
9
|
+
</thead>
|
10
|
+
<tbody>
|
11
|
+
<%= render tracking_lists %>
|
12
|
+
</tbody>
|
13
|
+
|
14
|
+
</table>
|
@@ -0,0 +1,9 @@
|
|
1
|
+
<% @title = t('.title', :name => h(@repository.name)) -%>
|
2
|
+
|
3
|
+
<h2><%= @title -%></h2>
|
4
|
+
|
5
|
+
<% form_for(@tracking_list, :url => repository_tracking_list_url(:id => @tracking_list, :repository_id => @repository), :method => :put ) do |f| %>
|
6
|
+
<%= render :partial => "form", :locals => { :f => f, :repository => @repository } %>
|
7
|
+
<% end %>
|
8
|
+
|
9
|
+
<%= link_to t('.back_to'), repository_tracking_list_url(:id => @tracking_list, :repository_id => @repository) %>
|