diff --git a/app/controllers/schoolings_controller.rb b/app/controllers/schoolings_controller.rb index 29897b2c0..ee9e0ee17 100644 --- a/app/controllers/schoolings_controller.rb +++ b/app/controllers/schoolings_controller.rb @@ -36,7 +36,7 @@ def confirm_removal; end def confirm_removal_cancellation; end def remove - @schooling.update!(removed_at: params[:removed_at]) + @schooling.remove redirect_to school_year_class_path(selected_school_year, @classe), notice: t("flash.schooling.#{params[:notice]}", name: @schooling.student, diff --git a/app/jobs/generate/cancellation_decision_job.rb b/app/jobs/generate/cancellation_decision_job.rb index ab4ad7d39..4b9c114df 100644 --- a/app/jobs/generate/cancellation_decision_job.rb +++ b/app/jobs/generate/cancellation_decision_job.rb @@ -20,9 +20,12 @@ class MissingAttributiveDecisionError < StandardError def perform(schooling) raise MissingAttributiveDecisionError if schooling.attributive_decision.blank? + Sync::StudentJob.new.perform(schooling) + Schooling.transaction do generate_document(schooling) rectify_pfmp_if_necessary(schooling) + schooling.remove schooling.save! end end diff --git a/app/models/schooling.rb b/app/models/schooling.rb index cd4db93ec..efdc58e79 100644 --- a/app/models/schooling.rb +++ b/app/models/schooling.rb @@ -105,6 +105,10 @@ def excluded? Exclusion.excluded?(establishment.uai, mef.code) end + def remove(date = Date.current) + self.update_attribute(:removed_at, date) + end + def removed? removed_at.present? end