From 9f53c459c8d05309007c0b76ad9e7bd030cac90e Mon Sep 17 00:00:00 2001 From: evazion Date: Thu, 16 Jul 2020 11:42:59 -0500 Subject: [PATCH] wiki: fix titles with invalid space characters. Fix wiki pages that have titles containing space characters. --- .../fixes/065_fix_invalid_wiki_page_titles.rb | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100755 script/fixes/065_fix_invalid_wiki_page_titles.rb diff --git a/script/fixes/065_fix_invalid_wiki_page_titles.rb b/script/fixes/065_fix_invalid_wiki_page_titles.rb new file mode 100755 index 000000000..a33c04e80 --- /dev/null +++ b/script/fixes/065_fix_invalid_wiki_page_titles.rb @@ -0,0 +1,21 @@ +#!/usr/bin/env ruby + +require_relative "../../config/environment" + +CurrentUser.user = User.system +CurrentUser.ip_addr = "127.0.0.1" + +# Fix wiki page titles containing invalid space characters. +WikiPage.transaction do + WikiPage.where("title ~ '\\s'").find_each do |wiki_page| + wiki_page.normalize_title + wiki_page.save! + # handle name conflicts + rescue ActiveRecord::RecordInvalid + wiki_page.normalize_title + wiki_page.title = "#{wiki_page.title}_#{wiki_page.id}" + wiki_page.save! + ensure + puts "wiki id=#{wiki_page.id} title=#{wiki_page.title}" + end +end