From 718a4c73eea9dd6edf09662e909c86fb6aac7822 Mon Sep 17 00:00:00 2001 From: Felix Eckhofer <felix@eckhofer.com> Date: Mon, 23 Dec 2024 00:44:16 +0100 Subject: [PATCH] Make language input more forgiving --- app/models/user.rb | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/app/models/user.rb b/app/models/user.rb index 29a0fb2..a3d5efa 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -7,6 +7,7 @@ class User < ApplicationRecord validates :name, uniqueness: { case_sensitive: false, message: "already in use" }, allow_nil: false validates :email, uniqueness: { case_sensitive: false, message: "already in use" }, allow_nil: true, allow_blank: true + before_validation :cleanup_languages validates :languages_from, format: { with: /\A([a-z][a-z])(,[a-z][a-z])*\z/, message: "please use comma-separated two-letter codes"}, allow_blank: true validates :languages_from, length: { maximum: 14 } @@ -60,4 +61,9 @@ class User < ApplicationRecord valid_tokens = ["gargamel"] errors.add(:invitation_token, "is invalid") unless valid_tokens.include?(invitation_token) end + + def cleanup_languages + self.languages_from = self.languages_from.gsub(/\s+/, '').downcase + self.languages_to = self.languages_to.gsub(/\s+/, '').downcase + end end -- GitLab