Sha256: 4e1d372b87d3807d6dc84a586208a393b879a73b833df450fe29037693adfb48
Contents?: true
Size: 1.19 KB
Versions: 6
Compression:
Stored size: 1.19 KB
Contents
# frozen_string_literal: true class FixUserNames < ActiveRecord::Migration[5.2] def change # Comes from Decidim::User specs weird_characters = ["<", ">", "?", "\\%", "&", "^", "*", "#", "@", "(", ")", "[", "]", "=", "+", ":", ";", "\"", "{", "}", "\\", "|", "/"] characters_to_remove = "<>?%&^*\#@()[]=+:;\"{}\\|/" weird_characters.each do |character| Decidim::UserBaseEntity.where(deleted_at: nil).where("name like '%#{character}%' escape '\' OR nickname like '%#{character}%' escape '\'").find_each do |entity| Rails.logger.debug { "detected character: #{character}" } Rails.logger.debug { "UserBaseEntity ID: #{entity.id}" } Rails.logger.debug { "#{entity.name} => #{entity.name.delete(characters_to_remove).strip}" } Rails.logger.debug { "#{entity.nickname} => #{entity.nickname.delete(characters_to_remove).strip}" } entity.name = entity.name.delete(characters_to_remove).strip sanitized_nickname = entity.nickname.delete(characters_to_remove).strip entity.nickname = Decidim::UserBaseEntity.nicknamize(sanitized_nickname, organization: entity.organization) entity.save(validate: false) end end end end
Version data entries
6 entries across 6 versions & 1 rubygems