From 970b53d4ef8ca493317f4a01dcae95f607d7f400 Mon Sep 17 00:00:00 2001 From: Bilal Date: Fri, 24 Jul 2020 10:24:20 +0200 Subject: [PATCH] fix MR comments --- .../public/amendments_controller.rb | 21 ++++++++----------- app/models/concerns/amendmenable.rb | 11 +++++----- 2 files changed, 15 insertions(+), 17 deletions(-) diff --git a/app/controllers/public/amendments_controller.rb b/app/controllers/public/amendments_controller.rb index 2c7dd34..4182aa7 100644 --- a/app/controllers/public/amendments_controller.rb +++ b/app/controllers/public/amendments_controller.rb @@ -14,26 +14,23 @@ class Public::AmendmentsController < Public::BaseController return end - @release.amendment_signer_name = release_params[:amendment_signer_name] - @release.amendment_signature_base64 = release_params[:amendment_signature_base64] + @release.attributes = amendment_params - render :new unless @release.save + render :new unless @release.save(context: :amendment) end private - def release_params - release_type = @contract_template.release_type - param_name = "#{release_type}_release".to_s - params.require(param_name).permit(:amendment_signer_name, :amendment_signature_base64) + def amendment_params + params.require(releasable_param.name).permit(:amendment_signer_name, :amendment_signature_base64) + end + + def releasable_param + @releasable_param ||= ReleasableParam.new(params.to_unsafe_h) end def set_release - release_type = @contract_template.release_type - param_name = "#{release_type}_release_id".to_s - release_id = params[param_name] - - @release = @contract_template.releases.find(release_id) + @release = @contract_template.releases.find(releasable_param.id) end def set_contract_template diff --git a/app/models/concerns/amendmenable.rb b/app/models/concerns/amendmenable.rb index cdd223a..3004c7d 100644 --- a/app/models/concerns/amendmenable.rb +++ b/app/models/concerns/amendmenable.rb @@ -5,14 +5,15 @@ module Amendmenable include ActiveStorageSupport::SupportForBase64 has_one_base64_attached :amendment_signature + + with_options on: :amendment do + validates :amendment_signer_name, presence: true + validates :amendment_signature, attached: true + end end def amendment_signable? - if contract_template.present? - contract_template.amendment_clause.present? - else - false - end + contract_template.present? && contract_template.amendment_clause.present? end def amendment_signed?