diff --git a/config/locales/server.en.yml b/config/locales/server.en.yml index 18b9e5b..2883409 100644 --- a/config/locales/server.en.yml +++ b/config/locales/server.en.yml @@ -26,10 +26,10 @@ en: others: "No accepted solutions." badges: - helpdesk: + solved_1: name: "Helpdesk" description: "First Accepted Answer on a Topic" - tech_support: + solved_2: name: "Tech Support" description: "10 Accepted answers" diff --git a/db/fixtures/001_badges.rb b/db/fixtures/001_badges.rb index d205629..2c6a885 100644 --- a/db/fixtures/001_badges.rb +++ b/db/fixtures/001_badges.rb @@ -2,7 +2,7 @@ return unless badge_grouping = BadgeGrouping.find_by(name: "Community") -helpdesk_query = <<-SQL +first_solution_query = <<-SQL SELECT post_id, user_id, created_at AS granted_at FROM ( SELECT p.id AS post_id, p.user_id, pcf.created_at, @@ -18,12 +18,11 @@ helpdesk_query = <<-SQL SQL Badge.seed(:name) do |badge| - badge.name = I18n.t("badges.helpdesk.name") + badge.name = "Solved 1" badge.icon = "check-square" badge.badge_type_id = 3 badge.badge_grouping = badge_grouping - badge.description = I18n.t("badges.helpdesk.description") - badge.query = helpdesk_query + badge.query = first_solution_query badge.listable = true badge.target_posts = true badge.enabled = false @@ -33,7 +32,7 @@ Badge.seed(:name) do |badge| badge.system = true end -tech_support_query = <<-SQL +solved_10_query = <<-SQL SELECT p.user_id, MAX(pcf.created_at) AS granted_at FROM post_custom_fields pcf JOIN badge_posts p ON pcf.post_id = p.id @@ -46,12 +45,11 @@ tech_support_query = <<-SQL SQL Badge.seed(:name) do |badge| - badge.name = I18n.t("badges.tech_support.name") + badge.name = "Solved 2" badge.icon = "check-square" badge.badge_type_id = 2 badge.badge_grouping = badge_grouping - badge.description = I18n.t("badges.tech_support.description") - badge.query = tech_support_query + badge.query = solved_10_query badge.listable = true badge.allow_title = true badge.target_posts = false diff --git a/db/migrate/20221121223417_rename_badges.rb b/db/migrate/20221121223417_rename_badges.rb new file mode 100644 index 0000000..fceadaf --- /dev/null +++ b/db/migrate/20221121223417_rename_badges.rb @@ -0,0 +1,70 @@ +# frozen_string_literal: true + +class RenameBadges < ActiveRecord::Migration[6.1] + HELPDESK_TRANSLATIONS = { + "ar" => "مكتب المساعدة", + "el" => "Γραφείο βοήθειας", + "es" => "Servicio de ayuda", + "fi" => "Neuvonta", + "fr" => "Service d'assistance", + "he" => "דלפק עזרה", + "hu" => "Ügyfélszolgálat", + "ja" => "ヘルプデスク", + "ko" => "안내 데스크", + "pl_PL" => "Dział pomocy technicznej", + "ro" => "Ajutor", + "ru" => "Служба поддержки", + "sl" => "Služba za pomoč", + "sv" => "Kundtjänst", + "tr_TR" => "Yardım masası", + "zh_CN" => "帮助台", + "zh_TW" => "服務台" + } + + TECH_SUPPORT_TRANSLATIONS = { + "ar" => "الدعم الفني", + "de" => "Technischer Support", + "el" => "Τεχνική υποστήριξη", + "es" => "Asistencia técnica", + "fi" => "Tukipalvelu", + "fr" => "Assistance technique", + "he" => "תמיכה טכנית", + "hu" => "Műszaki támogatás", + "id" => "Dukungan Teknis", + "it" => "Supporto Tecnico", + "ja" => "技術サポート", + "ko" => "기술 지원", + "nl" => "Technische ondersteuning", + "pl_PL" => "Wsparcie techniczne", + "pt_BR" => "Suporte Técnico", + "ro" => "Asistenţă tehnică", + "ru" => "Техническая поддержка", + "sl" => "Tehnična podpora", + "sv" => "Teknisk support", + "tr_TR" => "Teknik Destek", + "zh_CN" => "技术支持", + "zh_TW" => "技術支援" + } + + def up + default_locale = DB.query_single("SELECT value FROM site_settings WHERE name = 'default_locale'").first || "en" + + sql = <<~SQL + UPDATE badges + SET name = :new_name, + description = NULL, + long_description = NULL + WHERE name = :old_name + SQL + + badge_name = HELPDESK_TRANSLATIONS.fetch(default_locale, "Helpdesk") + DB.exec(sql, old_name: badge_name, new_name: "Solved 1") + + badge_name = TECH_SUPPORT_TRANSLATIONS.fetch(default_locale, "Tech Support") + DB.exec(sql, old_name: badge_name, new_name: "Solved 2") + end + + def down + raise ActiveRecord::IrreversibleMigration + end +end