|
|
|
@ -26,16 +26,18 @@ class SchemesController < ApplicationController
|
|
|
|
|
|
|
|
|
|
if @scheme.errors.present? |
|
|
|
|
render "toggle_active", locals: { action: "deactivate" }, status: :unprocessable_entity |
|
|
|
|
elsif deactivation_date_value.blank? |
|
|
|
|
else |
|
|
|
|
if deactivation_date_value.blank? |
|
|
|
|
render "toggle_active", locals: { action: "deactivate" } |
|
|
|
|
elsif params[:scheme][:confirm].present? |
|
|
|
|
elsif (params[:scheme][:confirm].present?) |
|
|
|
|
if @scheme.update(deactivation_date: deactivation_date_value) |
|
|
|
|
# update the logs |
|
|
|
|
flash[:notice] = "#{@scheme.service_name} has been deactivated" |
|
|
|
|
end |
|
|
|
|
redirect_to scheme_details_path(@scheme) |
|
|
|
|
else |
|
|
|
|
render "toggle_active_confirm", locals: { action: "deactivate", deactivation_date: deactivation_date_value } |
|
|
|
|
render "toggle_active_confirm", locals: {action: "deactivate", deactivation_date: deactivation_date_value} |
|
|
|
|
end |
|
|
|
|
end |
|
|
|
|
end |
|
|
|
|
|
|
|
|
@ -146,24 +148,18 @@ class SchemesController < ApplicationController
|
|
|
|
|
end |
|
|
|
|
|
|
|
|
|
def deactivation_date |
|
|
|
|
return if params[:scheme].blank? |
|
|
|
|
return @scheme.errors.add(:deactivation_date, message: I18n.t("validations.scheme.deactivation_date.not_selected")) if params[:scheme][:deactivation_date].blank? |
|
|
|
|
return unless params[:scheme].present? |
|
|
|
|
return @scheme.errors.add(:deactivation_date, message: I18n.t("validations.scheme.deactivation_date.not_selected")) unless params[:scheme][:deactivation_date].present? |
|
|
|
|
return params[:scheme][:deactivation_date] unless params[:scheme][:deactivation_date] == "other" |
|
|
|
|
|
|
|
|
|
day = params[:scheme]["deactivation_date(3i)"] |
|
|
|
|
month = params[:scheme]["deactivation_date(2i)"] |
|
|
|
|
year = params[:scheme]["deactivation_date(1i)"] |
|
|
|
|
|
|
|
|
|
if [day, month, year].any?(&:blank?) |
|
|
|
|
{ day:, month:, year: }.each do |period, value| |
|
|
|
|
@scheme.errors.add(:deactivation_date, message: I18n.t("validations.scheme.deactivation_date.not_entered", period: period.to_s)) if value.blank? |
|
|
|
|
end |
|
|
|
|
elsif !Date.valid_date?(year.to_i, month.to_i, day.to_i) |
|
|
|
|
@scheme.errors.add(:deactivation_date, message: I18n.t("validations.scheme.deactivation_date.invalid")) |
|
|
|
|
elsif !year.to_i.between?(2000, 2200) |
|
|
|
|
@scheme.errors.add(:deactivation_date, message: I18n.t("validations.scheme.deactivation_date.invalid")) |
|
|
|
|
else |
|
|
|
|
if [day, month, year].all?(&:present?) && Date.valid_date?(year.to_i, month.to_i, day.to_i) && year.to_i.between?(2000, 2200) |
|
|
|
|
Date.new(year.to_i, month.to_i, day.to_i) |
|
|
|
|
else |
|
|
|
|
@scheme.errors.add(:deactivation_date, message: I18n.t("validations.scheme.deactivation_date.not_entered")) |
|
|
|
|
end |
|
|
|
|
end |
|
|
|
|
|
|
|
|
|