1
0

Measurement index improvements

This commit is contained in:
cryptogopher
2019-12-21 18:01:46 +01:00
parent d6b3fe3f60
commit b6dbf369d1
5 changed files with 16 additions and 10 deletions

View File

@@ -2,7 +2,7 @@ class ColumnView < ActiveRecord::Base
enum domain: Quantity.domains
belongs_to :project, required: true
has_and_belongs_to_many :quantities
has_and_belongs_to_many :quantities, -> { order "lft" }
validates :name, presence: true, uniqueness: {scope: :domain}
validates :domain, inclusion: {in: domains.keys}
@@ -10,9 +10,10 @@ class ColumnView < ActiveRecord::Base
# TODO: enforce column_view - quantity 'domain' identity
def toggle_column!(q)
column = self.quantities.find(q.id)
self.quantites.destroy(column)
self.quantities.destroy(column)
rescue ActiveRecord::RecordNotFound
# Cannot 'create' association, as ColumnView (parent) may not be saved yet
self.quantities.append(q).save!
self.quantities.append(q)
self.save!
end
end

View File

@@ -69,7 +69,8 @@ class Measurement < ActiveRecord::Base
return unless old_column_view
if self.project.measurements.exists?(name: self.name_was)
self.column_view.quantities.append(old_column_view.quantities).save!
self.column_view.quantities.append(old_column_view.quantities)
self.save!
else
old_column_view.update!(name: self.name)
end