1
0

Parametrize Target routes with :date

This commit is contained in:
cryptogopher 2021-04-25 15:25:41 +02:00
parent d4398e5b75
commit bbc1467965
6 changed files with 19 additions and 17 deletions

View File

@ -5,9 +5,9 @@ class TargetsController < ApplicationController
include Concerns::Finders
before_action :find_goal_by_goal_id,
only: [:index, :new, :create, :edit, :update, :toggle_exposure]
before_action :find_quantity_by_quantity_id, only: [:toggle_exposure, :subthresholds]
before_action :find_goal_by_goal_id, only: [:index, :new, :create, :edit, :update]
before_action :find_goal, only: [:toggle_exposure]
before_action :authorize
#before_action :set_view_params

View File

@ -1,9 +1,9 @@
module TargetsHelper
def action_links(date)
link_to(l(:button_reapply), reapply_goal_targets_path(@goal, date, @view_params),
link_to(l(:button_reapply), reapply_goal_target_path(@goal, date, @view_params),
{remote: true, class: "icon icon-reload"}) +
link_to(l(:button_edit), edit_goal_targets_path(@goal, date, @view_params),
link_to(l(:button_edit), edit_goal_target_path(@goal, date, @view_params),
{remote: true, class: "icon icon-edit"}) +
delete_link(target_path(date), {remote: true, data: {}})
delete_link(goal_target_path(@goal, date), {remote: true, data: {}})
end
end

View File

@ -37,7 +37,7 @@
<% else %>
<% button_classes += ' icon-bullet-closed' %>
<% end %>
<%= link_to '', toggle_exposure_goal_path(@goal, quantity_id: q.id),
<%= link_to '', goal_toggle_exposure_path(@goal, quantity_id: q.id),
{class: button_classes, method: :post, remote: true} %>
</div>
<%= q.name %>

View File

@ -1,7 +1,7 @@
<fieldset id="options" class="collapsible">
<legend onclick="toggleFieldset(this);"><%= l(:label_options) %></legend>
<div>
<%= form_tag toggle_exposure_goal_path(@goal, @view_params),
<%= form_tag goal_toggle_exposure_path(@goal, @view_params),
id: 'toggle-exposure-form', name: 'toggle-exposure-form',
method: :post, remote: true do %>

View File

@ -8,16 +8,6 @@ resources :projects, shallow: true do
end
end
resources :goals, except: [:show] do
member do
post 'toggle_exposure', controller: :targets
end
resources :targets, except: [:show, :edit, :update] do
collection do
get 'edit/:date', action: :edit, as: :edit
patch '', action: :update
post 'reapply/:date', action: :reapply, as: :reapply
end
end
end
resources :ingredients, only: [] do
member do
@ -75,4 +65,13 @@ resources :projects, shallow: true do
resources :units, only: [:index, :create, :destroy]
end
resources :goals, only: [] do
resources :targets, param: :date, except: [:update] do
member do
post 'reapply'
end
end
resource :targets, only: [:update]
post 'toggle_exposure', controller: :targets
end
get 'subthresholds', controller: :targets, action: :subthresholds, as: :subthresholds

View File

@ -186,14 +186,17 @@ class TargetsTest < BodyTrackingSystemTestCase
assert_no_difference 'Target.count' do
visit goal_targets_path(source.goal)
click_link t('targets.contextual.link_new_target')
within 'form#new-target-form' do
fill_in t(:field_effective_from), with: source.effective_from
within 'p.target' do
select source.quantity.name
select @project.quantities.target.roots.sample.name
fill_in with: rand(-2000.0..2000.0).to_d(4)
select @project.units.sample.shortname
end
click_on t(:button_create)
assert_selector :xpath, '//p[@class="target"]//preceding-sibling::div', text: msg
end