diff --git a/app/controllers/measurements_controller.rb b/app/controllers/measurements_controller.rb index 6996eea..a2903b8 100644 --- a/app/controllers/measurements_controller.rb +++ b/app/controllers/measurements_controller.rb @@ -2,7 +2,7 @@ class MeasurementsController < ApplicationController menu_item :body_trackers before_action :find_project_by_project_id, only: [:index, :create] - before_action :find_measurement, only: [:destroy, :toggle] + before_action :find_measurement, only: [:destroy, :retake] before_action :authorize def index @@ -31,11 +31,10 @@ class MeasurementsController < ApplicationController flash[:notice] = 'Deleted measurement' end prepare_measurements - render :toggle + render :index end - def toggle - @measurement.toggle_hidden! + def retake prepare_measurements end diff --git a/app/models/measurement.rb b/app/models/measurement.rb index cfc33a1..21d27ac 100644 --- a/app/models/measurement.rb +++ b/app/models/measurement.rb @@ -16,14 +16,30 @@ class Measurement < ActiveRecord::Base end validates :name, presence: true + validates :taken_at, presence: true after_initialize do if new_record? self.hidden = false if self.hidden.nil? + self.taken_at = Time.now end end def toggle_hidden! self.toggle!(:hidden) end + + def taken_at_date + self.taken_at + end + def taken_at_date=(value) + self.taken_at = Time.parse(value, self.taken_at) + end + + def taken_at_time + self.taken_at + end + def taken_at_time=(value) + self.taken_at = Time.parse(value, self.taken_at) + end end diff --git a/app/views/measurements/_form.html.erb b/app/views/measurements/_form.html.erb index 47d6bfa..80bdef1 100644 --- a/app/views/measurements/_form.html.erb +++ b/app/views/measurements/_form.html.erb @@ -4,11 +4,16 @@
<%= f.select :source_id, source_options, {required: false, include_blank: t('.null_source')} %>
<%= f.text_field :name, size: 40, required: true %>
++ <%= f.date_field :taken_at_date, required: true %> + <%= f.time_field :taken_at_time, value: @measurement.taken_at.strftime("%H:%M"), + required: true, label: '' %> +
<% @measurement.readouts.each_with_index do |r, index| %> <%= f.fields_for 'readouts_attributes', r, index: '' do |ff| %>
<%= ff.select :quantity_id, quantity_options,
- {include_blank: true, label: (index > 0 ? '' : :field_readouts)} %>
+ {include_blank: true, required: true, label: (index > 0 ? '' : :field_readouts)} %>
<%= ff.number_field :value, {size: 8, step: :any, label: ''} %>
<%= ff.select :unit_id, unit_options, {label: ''} %>
<%= ff.check_box :_destroy, {style: "display:none", label: ''} %>
diff --git a/app/views/measurements/_index.html.erb b/app/views/measurements/_index.html.erb
index 2f3d649..5021bee 100644
--- a/app/views/measurements/_index.html.erb
+++ b/app/views/measurements/_index.html.erb
@@ -3,6 +3,7 @@
@@ -11,18 +12,14 @@
<% @measurements.each do |m| %>
<% next if m.new_record? %>
<%= l(:field_name) %>
+ <%= l(:field_taken_at_date) %>
<%= l(:field_source) %>
<%= l(:field_action) %>
-
diff --git a/app/views/measurements/index.js.erb b/app/views/measurements/index.js.erb
new file mode 100644
index 0000000..caed350
--- /dev/null
+++ b/app/views/measurements/index.js.erb
@@ -0,0 +1,3 @@
+$('div[id^=flash_]').remove();
+$('#content').prepend('<%= escape_javascript(render_flash_messages) %>');
+$('#measurements').html('<%= escape_javascript(render partial: 'measurements/index') %>');
diff --git a/app/views/quantities/_index.html.erb b/app/views/quantities/_index.html.erb
index 13d7a21..99707a3 100644
--- a/app/views/quantities/_index.html.erb
+++ b/app/views/quantities/_index.html.erb
@@ -10,7 +10,7 @@
- <%= link_to '', toggle_measurement_path(m), {
- remote: true,
- method: :post,
- class: "icon icon-eye"
- } %>
- <%= m.name %>
-
-
- <%= m.source.name if m.source.present? %>
-
+ <%= m.name %>
+ <%= m.taken_at.strftime("%F %R") %>
+ <%= m.source.name if m.source.present? %>
+ <%= link_to l(:button_retake), retake_measurement_path(m), {
+ remote: true,
+ class: "icon icon-reload"
+ } %>
<%= delete_link measurement_path(m), {remote: true, data: {}} %>
<%= l(:field_domain) %>
<%= l(:field_description) %>
<%= l(:field_formula) %>
- <%= l(:field_action) %>
+ <%= l(:field_action) %>