kete_trackable_items 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (70) hide show
  1. data/.document +5 -0
  2. data/.gitignore +21 -0
  3. data/.specification +146 -0
  4. data/Gemfile +1 -0
  5. data/Gemfile.lock +27 -0
  6. data/LICENSE +20 -0
  7. data/README.rdoc +24 -0
  8. data/Rakefile +53 -0
  9. data/VERSION +1 -0
  10. data/app/controllers/repositories_controller.rb +70 -0
  11. data/app/controllers/shelf_locations_controller.rb +98 -0
  12. data/app/controllers/trackable_item_shelf_locations_controller.rb +64 -0
  13. data/app/controllers/tracked_items_controller.rb +44 -0
  14. data/app/controllers/tracking_lists_controller.rb +88 -0
  15. data/app/helpers/trackable_item_shelf_locations_helper.rb +17 -0
  16. data/app/helpers/trackable_items_helper.rb +52 -0
  17. data/app/models/on_loan_organization.rb +8 -0
  18. data/app/models/repository.rb +11 -0
  19. data/app/models/shelf_location.rb +69 -0
  20. data/app/models/trackable_item_shelf_location.rb +58 -0
  21. data/app/models/tracked_item.rb +18 -0
  22. data/app/models/tracking_list.rb +50 -0
  23. data/app/views/repositories/_form.html.erb +14 -0
  24. data/app/views/repositories/edit.html.erb +9 -0
  25. data/app/views/repositories/index.html.erb +22 -0
  26. data/app/views/repositories/new.html.erb +9 -0
  27. data/app/views/repositories/show.html.erb +30 -0
  28. data/app/views/shelf_locations/_event_button.html.erb +1 -0
  29. data/app/views/shelf_locations/_form.html.erb +34 -0
  30. data/app/views/shelf_locations/_shelf_location.html.erb +17 -0
  31. data/app/views/shelf_locations/_shelf_locations.html.erb +14 -0
  32. data/app/views/shelf_locations/_trackable_item.html.erb +12 -0
  33. data/app/views/shelf_locations/edit.html.erb +9 -0
  34. data/app/views/shelf_locations/index.html.erb +7 -0
  35. data/app/views/shelf_locations/new.html.erb +9 -0
  36. data/app/views/shelf_locations/show.html.erb +48 -0
  37. data/app/views/trackable_item_shelf_locations/new.html.erb +70 -0
  38. data/app/views/tracked_items/_tracked_item.html.erb +18 -0
  39. data/app/views/tracking_lists/_event_button.html.erb +1 -0
  40. data/app/views/tracking_lists/_form.html.erb +27 -0
  41. data/app/views/tracking_lists/_trackable_item_search_form.html.erb +28 -0
  42. data/app/views/tracking_lists/_tracking_list.html.erb +11 -0
  43. data/app/views/tracking_lists/_tracking_lists.html.erb +14 -0
  44. data/app/views/tracking_lists/edit.html.erb +9 -0
  45. data/app/views/tracking_lists/index.html.erb +11 -0
  46. data/app/views/tracking_lists/show.html.erb +45 -0
  47. data/app/views/tracking_lists/show.xls.builder +48 -0
  48. data/config/locales/en.yml +151 -0
  49. data/config/routes.rb +6 -0
  50. data/generators/kete_trackable_items_migrations/USAGE +2 -0
  51. data/generators/kete_trackable_items_migrations/kete_trackable_items_migrations_generator.rb +19 -0
  52. data/generators/kete_trackable_items_migrations/templates/add_trackable_item_columns_to_topics.rb +15 -0
  53. data/generators/kete_trackable_items_migrations/templates/create_on_loan_organizations.rb +14 -0
  54. data/generators/kete_trackable_items_migrations/templates/create_repositories.rb +14 -0
  55. data/generators/kete_trackable_items_migrations/templates/create_shelf_locations.rb +15 -0
  56. data/generators/kete_trackable_items_migrations/templates/create_trackable_item_shelf_locations.rb +16 -0
  57. data/generators/kete_trackable_items_migrations/templates/create_tracked_items.rb +15 -0
  58. data/generators/kete_trackable_items_migrations/templates/create_tracking_lists.rb +15 -0
  59. data/kete_trackable_items.gemspec +25 -0
  60. data/lib/kete_trackable_items.rb +0 -0
  61. data/lib/kete_trackable_items/controller_helpers.rb +7 -0
  62. data/lib/kete_trackable_items/extensions/helpers/application_helper.rb +29 -0
  63. data/lib/kete_trackable_items/extensions/models/basket.rb +4 -0
  64. data/lib/kete_trackable_items/extensions/models/topic.rb +6 -0
  65. data/lib/kete_trackable_items/matching_trackable_items_controller_helpers.rb +42 -0
  66. data/lib/kete_trackable_items/trackable_item.rb +80 -0
  67. data/lib/kete_trackable_items/version.rb +3 -0
  68. data/lib/kete_trackable_items/workflow_utilities.rb +91 -0
  69. data/rails/init.rb +68 -0
  70. 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) %>