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' %>');