From 58e24ef75883a23acaab8f4de062e355c2bc562d Mon Sep 17 00:00:00 2001 From: Pete Matsyburka Date: Thu, 8 Oct 2026 09:25:33 +0300 Subject: [PATCH] update submitter slug --- app/controllers/submitters_controller.rb | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/app/controllers/submitters_controller.rb b/app/controllers/submitters_controller.rb index 48610854b..ed5a63c29 100644 --- a/app/controllers/submitters_controller.rb +++ b/app/controllers/submitters_controller.rb @@ -81,9 +81,26 @@ class SubmittersController < ApplicationController submitter.name = attrs[:name] if attrs.key?(:name) + if submitter_changed?(submitter) + submitter.submitter_versions.new(slug: submitter.slug, email: submitter.email_was, + name: submitter.name_was, phone: submitter.phone_was) + + submitter.slug = SecureRandom.base58(14) + submitter.values = Submitters.fetch_values_for_delegate(submitter) + end + submitter end + def submitter_changed?(submitter) + if submitter.email_was.blank? && submitter.phone_was.blank? + submitter.name_was.present? && submitter.name_changed? + else + (submitter.email_was.present? && submitter.email_changed?) || + (submitter.phone_was.present? && submitter.phone_changed?) + end + end + def submitter_params params.require(:submitter).permit(:email, :name, :phone).transform_values(&:strip) end