diff --git a/app/controllers/measurements_controller.rb b/app/controllers/measurements_controller.rb index 65ef520..ed20b2c 100644 --- a/app/controllers/measurements_controller.rb +++ b/app/controllers/measurements_controller.rb @@ -13,7 +13,6 @@ class MeasurementsController < ApplicationController before_action :authorize def index - session[:m_filters][:scope] = {} prepare_measurements end @@ -32,7 +31,7 @@ class MeasurementsController < ApplicationController end flash[:notice] = 'Created new measurement' - readouts_view? ? prepare_readouts : prepare_measurements + prepare_items else @measurement.readouts.new if @measurement.readouts.empty? render :new @@ -45,7 +44,7 @@ class MeasurementsController < ApplicationController def update if @measurement.update(measurement_params) flash[:notice] = 'Updated measurement' - readouts_view? ? prepare_readouts : prepare_measurements + prepare_items render :index else render :edit @@ -68,19 +67,17 @@ class MeasurementsController < ApplicationController end def readouts - #session[:m_filters][:scope] = {routine: @routine} prepare_readouts end def toggle_column @routine.columns.toggle!(@quantity) prepare_readouts - render :index end def filter session[:m_filters] = params.permit(:name, formula: [:code, :zero_nil]) - readouts_view? ? prepare_readouts : prepare_measurements + prepare_items render :index end @@ -110,6 +107,10 @@ class MeasurementsController < ApplicationController ) end + def prepare_items + params[:view] == 'index' ? prepare_measurements : prepare_readouts + end + def prepare_measurements @measurements, @formula_q = @project.measurements .includes(:routine, :source, :readouts) @@ -117,13 +118,9 @@ class MeasurementsController < ApplicationController end def prepare_readouts - @quantities = @routine.quantities.includes(:formula) + @quantities = @measurement.routine.quantities.includes(:formula) @measurements, @requested_r, @extra_r, @formula_q = @routine.measurements .includes(:routine, :source) .filter(session[:m_filters], @quantities) end - - def readouts_view? - session[:m_filters][:scope].present? - end end diff --git a/app/views/measurements/_contextual.html.erb b/app/views/measurements/_contextual.html.erb index fc10feb..821567a 100644 --- a/app/views/measurements/_contextual.html.erb +++ b/app/views/measurements/_contextual.html.erb @@ -1,4 +1,4 @@ <% if User.current.allowed_to?(:manage_common, @project) %> - <%= link_to t(".link_new_measurement"), new_project_measurement_path(@project), + <%= link_to t(".link_new_measurement"), new_project_measurement_path(@project, view: view), {remote: true, class: 'icon icon-add'} %> <% end %> diff --git a/app/views/measurements/_edit_form.html.erb b/app/views/measurements/_edit_form.html.erb index 392e8bb..9f51e7b 100644 --- a/app/views/measurements/_edit_form.html.erb +++ b/app/views/measurements/_edit_form.html.erb @@ -1,5 +1,5 @@ <%= labelled_form_for @measurement, - url: measurement_path(@measurement), + url: measurement_path(@measurement, view: view), method: :patch, remote: true, html: {id: 'measurement-edit-form', name: 'measurement-edit-form'} do |f| %> diff --git a/app/views/measurements/_index.html.erb b/app/views/measurements/_index.html.erb index b87c246..a404dc6 100644 --- a/app/views/measurements/_index.html.erb +++ b/app/views/measurements/_index.html.erb @@ -1,5 +1,5 @@ <%= render partial: 'measurements/filters', - locals: {url: filter_project_measurements_path(@project)} %> + locals: {url: filter_project_measurements_path(@project, view: :index)} %> <% if @measurements.any? { |m| m.persisted? } %> <%= error_messages_for @formula_q.formula if @formula_q %> diff --git a/app/views/measurements/_new_form.html.erb b/app/views/measurements/_new_form.html.erb index b698d03..d140316 100644 --- a/app/views/measurements/_new_form.html.erb +++ b/app/views/measurements/_new_form.html.erb @@ -1,7 +1,7 @@

<%= t ".heading_new_measurement" %>

<%= labelled_form_for @measurement, - url: project_measurements_path(@project), + url: project_measurements_path(@project, view: view), remote: true, html: {id: 'new-measurement-form', name: 'new-measurement-form'} do |f| %> diff --git a/app/views/measurements/_readouts.html.erb b/app/views/measurements/_readouts.html.erb index 32a8746..4e9b38e 100644 --- a/app/views/measurements/_readouts.html.erb +++ b/app/views/measurements/_readouts.html.erb @@ -1,5 +1,5 @@ <%= render partial: 'measurements/filters', - locals: {url: filter_project_measurements_path(@project)} %> + locals: {url: filter_project_measurements_path(@project, view: :readouts)} %> <% if @measurements.any? %> <%= render partial: 'measurements/options' %> diff --git a/app/views/measurements/create.js.erb b/app/views/measurements/create.js.erb index 749210b..5e4f942 100644 --- a/app/views/measurements/create.js.erb +++ b/app/views/measurements/create.js.erb @@ -1,6 +1,6 @@ $('#new-measurement').empty(); -<% if defined? @quantities %> - $('#readouts').html('<%= j render partial: 'measurements/readouts' %>'); -<% else %> +<% if params[:view] == 'index' %> $('#measurements').html('<%= j render partial: 'measurements/index' %>'); +<% else %> + $('#readouts').html('<%= j render partial: 'measurements/readouts' %>'); <% end %> diff --git a/app/views/measurements/edit.js.erb b/app/views/measurements/edit.js.erb index 650403f..9dec107 100644 --- a/app/views/measurements/edit.js.erb +++ b/app/views/measurements/edit.js.erb @@ -2,7 +2,7 @@ $('tr[id=measurement-<%= @measurement.id %>]').nextUntil('tr.primary', ':not(.me .remove(); var columns = $('table > thead > tr > th').length; $('tr[id=measurement-<%= @measurement.id %>]').nextUntil('tr.primary').addBack().after( - '' + - '
<%= j render partial: "measurements/edit_form" %>
' + - '' + '
' + + '<%= j render partial: 'measurements/edit_form', locals: {view: params[:view]} %>' + + '
' ); diff --git a/app/views/measurements/index.html.erb b/app/views/measurements/index.html.erb index 195e06c..3d5911f 100644 --- a/app/views/measurements/index.html.erb +++ b/app/views/measurements/index.html.erb @@ -1,5 +1,5 @@
- <%= render partial: 'measurements/contextual' %> + <%= render partial: 'measurements/contextual', locals: {view: :index} %>
diff --git a/app/views/measurements/index.js.erb b/app/views/measurements/index.js.erb index dd08504..7fd847d 100644 --- a/app/views/measurements/index.js.erb +++ b/app/views/measurements/index.js.erb @@ -1,5 +1,5 @@ -<% if defined? @quantities %> - $('#readouts').html('<%= j render partial: 'measurements/readouts' %>'); -<% else %> +<% if params[:view] == 'index' %> $('#measurements').html('<%= j render partial: 'measurements/index' %>'); +<% else %> + $('#readouts').html('<%= j render partial: 'measurements/readouts' %>'); <% end %> diff --git a/app/views/measurements/new.js.erb b/app/views/measurements/new.js.erb index daac126..480adbb 100644 --- a/app/views/measurements/new.js.erb +++ b/app/views/measurements/new.js.erb @@ -1 +1,2 @@ -$('#new-measurement').html('<%= j render partial: 'measurements/new_form' %>'); +$('#new-measurement') + .html('<%= j render partial: 'measurements/new_form', locals: {view: params[:view]} %>'); diff --git a/app/views/measurements/readouts.html.erb b/app/views/measurements/readouts.html.erb index 4660bee..e44a9e4 100644 --- a/app/views/measurements/readouts.html.erb +++ b/app/views/measurements/readouts.html.erb @@ -1,5 +1,5 @@
- <%= render partial: 'measurements/contextual' %> + <%= render partial: 'measurements/contextual', locals: {view: :readouts} %>
diff --git a/app/views/measurements/toggle_column.js.erb b/app/views/measurements/toggle_column.js.erb new file mode 100644 index 0000000..19375ef --- /dev/null +++ b/app/views/measurements/toggle_column.js.erb @@ -0,0 +1 @@ +$('#readouts').html('<%= j render partial: 'measurements/readouts' %>');