21 lines
727 B
Ruby
21 lines
727 B
Ruby
|
module Public
|
||
|
class VolunteerConfirmationsController < Public::ApplicationController
|
||
|
def create
|
||
|
@volunteer = Volunteer.find_by!(unique_id: params[:id])
|
||
|
|
||
|
if ActiveSupport::SecurityUtils.secure_compare(@volunteer.confirmation_token, params[:confirmation_token])
|
||
|
@volunteer.transaction do
|
||
|
@volunteer.touch(:confirmed_at)
|
||
|
@volunteer.update(confirmation_token: nil)
|
||
|
end
|
||
|
|
||
|
@volunteer.send_notification_to_volunteer
|
||
|
|
||
|
redirect_to edit_volunteer_path(@volunteer.unique_id), notice: I18n.t("views.volunteers.email_confirmed_successfully")
|
||
|
else
|
||
|
redirect_to root_path, alert: I18n.t("views.volunteers.email_confirmation_error")
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
end
|