From ba634eb516ae72de15f85826760071a9a556f081 Mon Sep 17 00:00:00 2001 From: cryptogopher Date: Fri, 29 May 2020 00:10:05 +0200 Subject: [PATCH] Fixed deletion of quantity formula --- app/controllers/quantities_controller.rb | 4 +++- app/models/quantity.rb | 5 ++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/app/controllers/quantities_controller.rb b/app/controllers/quantities_controller.rb index e9c98b1..96c55ce 100644 --- a/app/controllers/quantities_controller.rb +++ b/app/controllers/quantities_controller.rb @@ -113,9 +113,11 @@ class QuantitiesController < ApplicationController :description, formula_attributes: [ + :id, :code, :zero_nil, - :unit_id + :unit_id, + :_destroy ] ) end diff --git a/app/models/quantity.rb b/app/models/quantity.rb index 36c3ce1..7a71cf9 100644 --- a/app/models/quantity.rb +++ b/app/models/quantity.rb @@ -14,7 +14,10 @@ class Quantity < ActiveRecord::Base has_one :formula, inverse_of: :quantity, dependent: :destroy, validate: true accepts_nested_attributes_for :formula, allow_destroy: true, - reject_if: proc { |attrs| attrs['code'].blank? } + reject_if: proc { |attrs| attrs['id'].blank? && attrs['code'].blank? } + before_validation do + formula.mark_for_destruction if formula.present? && formula.code.blank? + end validates :name, presence: true # Quantity :name uniqueness relaxed to formulas unambiguity