From d6166fa017bfe86a677c3249cc845d5c39a864de Mon Sep 17 00:00:00 2001 From: Etheryte Date: Thu, 20 Feb 2025 19:13:05 +0100 Subject: [PATCH 01/12] Initial work on product rename UI changes --- .github/PULL_REQUEST_TEMPLATE.md | 2 +- .../frontend/strings/java/StringResource_en_US.xml | 4 ++-- .../src/manager/admin/config/monitoring-admin.tsx | 7 +++++-- .../src/manager/admin/setup/products/products.tsx | 2 +- .../subscription-matching-matcher-run-panel.tsx | 2 +- web/html/src/manager/images/image-profile-edit.tsx | 4 ++-- web/html/src/manager/images/image-view-overview.tsx | 4 ++-- web/html/src/manager/images/image-view-runtime.tsx | 10 ++++++++-- web/html/src/manager/images/image-view.tsx | 2 +- web/html/src/manager/login/login.tsx | 12 ++++++------ web/html/src/manager/login/susemanager/login.tsx | 2 +- web/html/src/manager/login/uyuni/login.tsx | 2 +- 12 files changed, 31 insertions(+), 22 deletions(-) diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index 02fc0791554f..f6a8c534325d 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -15,7 +15,7 @@ After: ## Documentation - No documentation needed: **add explanation. This can't be used if there is a GUI diff** - No documentation needed: only internal and user invisible changes -- Documentation issue was created: [Link for SUSE Manager contributors](https://github.com/SUSE/spacewalk/issues/new?template=ISSUE_TEMPLATE_DOCUMENTATION.md&labels=documentation&projects=SUSE/spacewalk/31), [Link for community contributors](https://github.com/uyuni-project/uyuni-docs/issues/new). +- Documentation issue was created: [Link for SUSE Multi-Linux Manager contributors](https://github.com/SUSE/spacewalk/issues/new?template=ISSUE_TEMPLATE_DOCUMENTATION.md&labels=documentation&projects=SUSE/spacewalk/31), [Link for community contributors](https://github.com/uyuni-project/uyuni-docs/issues/new). - API documentation added: please review the Wiki page [Writing Documentation for the API](https://github.com/uyuni-project/uyuni/wiki/Writing-documentation-for-the-API) if you have any changes to API documentation. - (OPTIONAL) [Documentation PR](https://github.com/uyuni-project/uyuni-docs/pulls) diff --git a/java/code/src/com/redhat/rhn/frontend/strings/java/StringResource_en_US.xml b/java/code/src/com/redhat/rhn/frontend/strings/java/StringResource_en_US.xml index 1d6ea5f441e0..9fe3f869ab01 100644 --- a/java/code/src/com/redhat/rhn/frontend/strings/java/StringResource_en_US.xml +++ b/java/code/src/com/redhat/rhn/frontend/strings/java/StringResource_en_US.xml @@ -9681,10 +9681,10 @@ For a detailed analysis, please refer to the log files. Systems with conflicting minion ID and machine ID were found ({0}, {1}). Onboarding aborted. Please remove conflicting systems first ({2}, {3}) - Registration of '{0}' on SUSE Manager Server rejected. \nTo manage Datacenter clients you have to configure SCC Credentials at Admin => Setup Wizard => Organization Credentials. + Registration of '{0}' on SUSE Multi-Linux Manager Server rejected. \nTo manage Datacenter clients you have to configure SCC Credentials at Admin => Setup Wizard => Organization Credentials. - Registration of '{0}' on SUSE Manager Server rejected. \nTo manage BYOS (Bring-your-own-Subscription) clients you have to configure SCC Credentials at Admin => Setup Wizard => Organization Credentials. \n\nIf the instance being onboarded is PAYG, ensure the `python-instance-billing-flavor-check` package is installed and try again. + Registration of '{0}' on SUSE Multi-Linux Manager Server rejected. \nTo manage BYOS (Bring-your-own-Subscription) clients you have to configure SCC Credentials at Admin => Setup Wizard => Organization Credentials. \n\nIf the instance being onboarded is PAYG, ensure the `python-instance-billing-flavor-check` package is installed and try again. None diff --git a/web/html/src/manager/admin/config/monitoring-admin.tsx b/web/html/src/manager/admin/config/monitoring-admin.tsx index 2d52b5bfdd60..96297b2182f6 100644 --- a/web/html/src/manager/admin/config/monitoring-admin.tsx +++ b/web/html/src/manager/admin/config/monitoring-admin.tsx @@ -331,6 +331,7 @@ const MonitoringAdmin = (props: MonitoringAdminProps) => { ); } + const productName = props.isUyuni ? "SUSE Multi-Linux Manager" : "Uyuni"; return (
{messages && } @@ -338,12 +339,14 @@ const MonitoringAdmin = (props: MonitoringAdminProps) => {

- {t("SUSE Manager Configuration - Monitoring")} + {t("{productName} Configuration - Monitoring", { + productName, + })}

-

{t("Setup your SUSE Manager server monitoring.")}

+

{t("Set up monitoring for your server.")}

    diff --git a/web/html/src/manager/admin/setup/products/products.tsx b/web/html/src/manager/admin/setup/products/products.tsx index 3c7c3d06709e..7d4b67e3da31 100644 --- a/web/html/src/manager/admin/setup/products/products.tsx +++ b/web/html/src/manager/admin/setup/products/products.tsx @@ -129,7 +129,7 @@ class ProductsPageWrapper extends React.Component { currentObject.setState({ errors: MessagesUtils.warning( t( - "No SUSE Manager Server Subscription available. Products requiring Client Tools Channel will not be shown." + "No SUSE Multi-Linux Manager Server Subscription available. Products requiring Client Tools Channel will not be shown." ) ), }); diff --git a/web/html/src/manager/audit/subscription-matching/subscription-matching-matcher-run-panel.tsx b/web/html/src/manager/audit/subscription-matching/subscription-matching-matcher-run-panel.tsx index de4f3c27e916..72acf7b41785 100644 --- a/web/html/src/manager/audit/subscription-matching/subscription-matching-matcher-run-panel.tsx +++ b/web/html/src/manager/audit/subscription-matching/subscription-matching-matcher-run-panel.tsx @@ -85,7 +85,7 @@ const MatcherRunDescription = (props: MatcherRunDescriptionProps) => { return (
    {t( - "Could not start a matching run. Please contact your SUSE Manager administrator to make sure the task scheduler is running." + "Could not start a matching run. Please contact your administrator to make sure the task scheduler is running." )}
    ); diff --git a/web/html/src/manager/images/image-profile-edit.tsx b/web/html/src/manager/images/image-profile-edit.tsx index ca00d7c56e78..a6a7aed3301e 100644 --- a/web/html/src/manager/images/image-profile-edit.tsx +++ b/web/html/src/manager/images/image-profile-edit.tsx @@ -309,7 +309,7 @@ class CreateImageProfile extends React.Component {
    See also the{" "} - SUSE Manager templates repository + SUSE Multi-Linux Manager templates repository {" "} for some out-of-the-box working examples. @@ -335,7 +335,7 @@ class CreateImageProfile extends React.Component {
    See also the{" "} - SUSE Manager templates repository + SUSE Multi-Linux Manager templates repository {" "} for some out-of-the-box working examples. diff --git a/web/html/src/manager/images/image-view-overview.tsx b/web/html/src/manager/images/image-view-overview.tsx index 0361696776ba..c0e0db7f66d5 100644 --- a/web/html/src/manager/images/image-view-overview.tsx +++ b/web/html/src/manager/images/image-view-overview.tsx @@ -242,9 +242,9 @@ class ImageInfo extends React.Component { - {t("All instances are consistent with SUSE Manager")} + {t("All instances are consistent with SUSE Multi-Linux Manager")} ); } else if (data.runtimeStatus === 2) { diff --git a/web/html/src/manager/images/image-view-runtime.tsx b/web/html/src/manager/images/image-view-runtime.tsx index 01ed4005c124..fef7c651d6c6 100644 --- a/web/html/src/manager/images/image-view-runtime.tsx +++ b/web/html/src/manager/images/image-view-runtime.tsx @@ -63,7 +63,10 @@ class PodInfo extends React.Component { if (statusId === 1) { icon = ( - + ); } else if (statusId === 2) { icon = ; @@ -100,7 +103,10 @@ class ClusterInfo extends React.Component { if (statusId === 1) { icon = ( - + ); } else if (statusId === 2) { icon = ; diff --git a/web/html/src/manager/images/image-view.tsx b/web/html/src/manager/images/image-view.tsx index c1f5b835f56a..9201d849ba49 100644 --- a/web/html/src/manager/images/image-view.tsx +++ b/web/html/src/manager/images/image-view.tsx @@ -524,7 +524,7 @@ class ImageViewList extends React.Component ); } else if (row.runtimeStatus === 2) { diff --git a/web/html/src/manager/login/login.tsx b/web/html/src/manager/login/login.tsx index 089ec5210de3..a60d56405958 100644 --- a/web/html/src/manager/login/login.tsx +++ b/web/html/src/manager/login/login.tsx @@ -11,26 +11,26 @@ type Theme = "uyuni" | "susemanager-light" | "susemanager-dark"; const products = { suma: { - key: "SUSE Manager", + productName: "SUSE Multi-Linux Manager", headerTitle: ( SUSE - Manager + Multi-Linux Manager ), bodyTitle: ( SUSE
    - {" Manager"} + {" Multi-Linux Manager"}
    ), - url: "http://www.suse.com/products/suse-manager/", - title: "SUSE Manager login page", + url: "https://www.suse.com/products/multi-linux-manager/", + title: "SUSE Multi-Linux Manager login page", }, uyuni: { - key: "Uyuni", + productName: "Uyuni", headerTitle: "Uyuni", bodyTitle: "Uyuni", url: "http://www.uyuni-project.org/", diff --git a/web/html/src/manager/login/susemanager/login.tsx b/web/html/src/manager/login/susemanager/login.tsx index 3d680f3bda18..f0315c568326 100644 --- a/web/html/src/manager/login/susemanager/login.tsx +++ b/web/html/src/manager/login/susemanager/login.tsx @@ -53,7 +53,7 @@ const SusemanagerThemeLogin = (props: ThemeProps) => { {str} ), - productName: product.key, + productName: product.productName, })}

diff --git a/web/html/src/manager/login/uyuni/login.tsx b/web/html/src/manager/login/uyuni/login.tsx index 136940d43fc0..ae5e3d3c2886 100644 --- a/web/html/src/manager/login/uyuni/login.tsx +++ b/web/html/src/manager/login/uyuni/login.tsx @@ -40,7 +40,7 @@ const UyuniThemeLogin = (props: ThemeProps) => {

{t("Discover a new way of managing your servers, packages, patches and more via one interface.")}

{t("Learn more about {productName}:", { - productName: product.key, + productName: product.productName, })} {t("View website")} From 3d603f16df37b7f785369f4289e9daa912193b4e Mon Sep 17 00:00:00 2001 From: Etheryte Date: Mon, 24 Feb 2025 14:33:21 +0100 Subject: [PATCH 02/12] Make product name use more consistent in the frontend --- .../admin/AdminViewsController.java | 2 -- .../admin/templates/monitoring.jade | 2 +- .../controllers/login/templates/login.jade | 3 +-- .../webapp/WEB-INF/decorators/layout_head.jsp | 14 +++++++----- java/code/webapp/WEB-INF/includes/leftnav.jsp | 1 - .../src/components/formulas/EditGroup.tsx | 4 ++-- .../formulas/FormulaComponentGenerator.tsx | 4 +++- web/html/src/core/user-preferences/index.ts | 2 ++ web/html/src/global.d.ts | 2 +- .../manager/admin/config/monitoring-admin.tsx | 22 ++++++------------- .../admin/config/monitoring.renderer.tsx | 4 ++-- web/html/src/manager/login/login.renderer.tsx | 2 -- web/html/src/manager/login/login.tsx | 6 ++--- .../src/manager/login/susemanager/login.tsx | 4 ++-- web/html/src/manager/login/uyuni/login.tsx | 10 ++++++--- web/html/src/manager/shared/menu/menu.tsx | 3 ++- .../src/manager/state/highstate-summary.tsx | 6 ++++- .../systems/bootstrap/bootstrap-minions.tsx | 3 +-- web/html/src/utils/functions.ts | 5 ----- 19 files changed, 47 insertions(+), 52 deletions(-) diff --git a/java/code/src/com/suse/manager/webui/controllers/admin/AdminViewsController.java b/java/code/src/com/suse/manager/webui/controllers/admin/AdminViewsController.java index d9e3b9e06bfc..f88f53658f24 100644 --- a/java/code/src/com/suse/manager/webui/controllers/admin/AdminViewsController.java +++ b/java/code/src/com/suse/manager/webui/controllers/admin/AdminViewsController.java @@ -17,7 +17,6 @@ import static com.suse.manager.webui.utils.SparkApplicationHelper.withUserPreferences; import static spark.Spark.get; -import com.redhat.rhn.common.conf.ConfigDefaults; import com.redhat.rhn.common.util.validation.password.PasswordPolicy; import com.redhat.rhn.domain.cloudpayg.PaygSshData; import com.redhat.rhn.domain.cloudpayg.PaygSshDataFactory; @@ -102,7 +101,6 @@ public static void initRoutes(JadeTemplateEngine jade) { */ public static ModelAndView showMonitoring(Request request, Response response, User user) { Map data = new HashMap<>(); - data.put("isUyuni", ConfigDefaults.get().isUyuni()); return new ModelAndView(data, "controllers/admin/templates/monitoring.jade"); } diff --git a/java/code/src/com/suse/manager/webui/controllers/admin/templates/monitoring.jade b/java/code/src/com/suse/manager/webui/controllers/admin/templates/monitoring.jade index 7f94e131ad75..239fc384bfff 100644 --- a/java/code/src/com/suse/manager/webui/controllers/admin/templates/monitoring.jade +++ b/java/code/src/com/suse/manager/webui/controllers/admin/templates/monitoring.jade @@ -7,4 +7,4 @@ script(type='text/javascript'). script(type='text/javascript'). spaImportReactPage('admin/config/monitoring') - .then(function (module) { module.renderer('monitoring', JSON.parse("#{isUyuni}")) }); + .then(function (module) { module.renderer('monitoring', {}) }); diff --git a/java/code/src/com/suse/manager/webui/controllers/login/templates/login.jade b/java/code/src/com/suse/manager/webui/controllers/login/templates/login.jade index 6a38dd2c2e81..01e51a1d775f 100644 --- a/java/code/src/com/suse/manager/webui/controllers/login/templates/login.jade +++ b/java/code/src/com/suse/manager/webui/controllers/login/templates/login.jade @@ -17,6 +17,7 @@ html(lang=window.preferredLocale.replace("_", "-")) script(type='text/javascript'). window.preferredLocale = "#{preferredLocale}"; window.docsLocale = "#{docsLocale}"; + window.isUyuni = #{isUyuni}; script(src='/javascript/jquery.js?cb=#{webBuildtimestamp}') script(src='/javascript/login.js?cb=#{webBuildtimestamp}') script(src='/javascript/bootstrap.js?cb=#{webBuildtimestamp}') @@ -45,13 +46,11 @@ html(lang=window.preferredLocale.replace("_", "-")) module.renderer( 'login', { - isUyuni: JSON.parse("#{isUyuni}"), theme: '!{webTheme}', urlBounce: document.getElementById('init_data_url_bounce').textContent, validationErrors: JSON.parse('!{validationErrors}'), schemaUpgradeRequired: JSON.parse('!{schemaUpgradeRequired}'), webVersion: '!{webVersion}', - productName: '!{productName}', customHeader: '!{customHeader}', customFooter: '!{customFooter}', legalNote: '!{legalNote}', diff --git a/java/code/webapp/WEB-INF/decorators/layout_head.jsp b/java/code/webapp/WEB-INF/decorators/layout_head.jsp index 0f3657058f35..4ff0d6a164a2 100644 --- a/java/code/webapp/WEB-INF/decorators/layout_head.jsp +++ b/java/code/webapp/WEB-INF/decorators/layout_head.jsp @@ -49,13 +49,15 @@ + diff --git a/java/code/webapp/WEB-INF/includes/leftnav.jsp b/java/code/webapp/WEB-INF/includes/leftnav.jsp index a383654537d6..db398cbeca9d 100644 --- a/java/code/webapp/WEB-INF/includes/leftnav.jsp +++ b/java/code/webapp/WEB-INF/includes/leftnav.jsp @@ -5,6 +5,5 @@

diff --git a/web/html/src/components/formulas/EditGroup.tsx b/web/html/src/components/formulas/EditGroup.tsx index ca6adcede2bc..614efe33f3fa 100644 --- a/web/html/src/components/formulas/EditGroup.tsx +++ b/web/html/src/components/formulas/EditGroup.tsx @@ -2,6 +2,8 @@ import "./formula-form.css"; import * as React from "react"; +import { productName } from "core/user-preferences"; + import { SectionState } from "components/FormulaForm"; import { Highlight } from "components/table/Highlight"; import HelpIcon from "components/utils/HelpIcon"; @@ -21,8 +23,6 @@ const getEditGroupSubtype = Formulas.getEditGroupSubtype; const deepCopy = Utils.deepCopy; // circular dependencies are bad -const productName = Utils.getProductName(); - type EditGroupProps = { id: string; key: any; diff --git a/web/html/src/components/formulas/FormulaComponentGenerator.tsx b/web/html/src/components/formulas/FormulaComponentGenerator.tsx index ea91f6418804..b30cdf7481dc 100644 --- a/web/html/src/components/formulas/FormulaComponentGenerator.tsx +++ b/web/html/src/components/formulas/FormulaComponentGenerator.tsx @@ -2,6 +2,8 @@ import * as React from "react"; import { default as Jexl } from "jexl"; +import { productName } from "core/user-preferences"; + import { SectionState } from "components/FormulaForm"; import HelpIcon from "components/utils/HelpIcon"; @@ -472,7 +474,7 @@ export function text(txt) { } // replace variables if (typeof txt === "string" || txt instanceof String) { - txt = txt.replace(/\${productName}/g, Utils.getProductName()); + txt = txt.replace(/\${productName}/g, productName); } return txt; } diff --git a/web/html/src/core/user-preferences/index.ts b/web/html/src/core/user-preferences/index.ts index f9a397881e70..5ed7ab982d5d 100644 --- a/web/html/src/core/user-preferences/index.ts +++ b/web/html/src/core/user-preferences/index.ts @@ -3,3 +3,5 @@ export const docsLocale: string = window.docsLocale || "en"; export const preferredLocale: string = window.preferredLocale || "en_US"; // Locale strings come with '_' from the backend but many frontend libraries expect them with '-' so we exchange these export const jsFormatPreferredLocale: string = preferredLocale.replace("_", "-"); +export const isUyuni = window.isUyuni ?? true; +export const productName = isUyuni ? "Uyuni" : "SUSE Multi-Linux Manager"; diff --git a/web/html/src/global.d.ts b/web/html/src/global.d.ts index 75a22b593b9c..743e59a1bfe9 100644 --- a/web/html/src/global.d.ts +++ b/web/html/src/global.d.ts @@ -4,7 +4,6 @@ declare global { interface Window { // See java/code/webapp/WEB-INF/includes/leftnav.jsp JSONMenu: any[]; - _IS_UYUNI: boolean; // CSRF loopback csrfToken?: string; @@ -34,6 +33,7 @@ declare global { spaImportReactPage: (pageName: string) => Promise; userPrefPageSize?: number; + isUyuni?: boolean; } // Test env setup, see ./utils/test-utils/setup/index.ts diff --git a/web/html/src/manager/admin/config/monitoring-admin.tsx b/web/html/src/manager/admin/config/monitoring-admin.tsx index 96297b2182f6..795199f36291 100644 --- a/web/html/src/manager/admin/config/monitoring-admin.tsx +++ b/web/html/src/manager/admin/config/monitoring-admin.tsx @@ -3,7 +3,7 @@ import { hot } from "react-hot-loader/root"; import * as React from "react"; import { useEffect } from "react"; -import { docsLocale } from "core/user-preferences"; +import { docsLocale, isUyuni, productName } from "core/user-preferences"; import { AsyncButton, Button } from "components/buttons"; import withPageWrapper from "components/general/with-page-wrapper"; @@ -146,12 +146,8 @@ const ListPlaceholder = (props) => { ); }; -type HelpPanelProps = { - isUyuni: boolean; -}; - -const HelpPanel = (props: HelpPanelProps) => { - const docsDirectory = props.isUyuni ? "/uyuni" : "/suse-manager"; +const HelpPanel = () => { + const docsDirectory = isUyuni ? "/uyuni" : "/suse-manager"; return (

{t("Server Monitoring")}

@@ -202,11 +198,7 @@ const ExportersMessages = (props: { } }; -type MonitoringAdminProps = { - isUyuni: boolean; -}; - -const MonitoringAdmin = (props: MonitoringAdminProps) => { +const MonitoringAdmin = () => { const { action, fetchStatus, @@ -331,7 +323,7 @@ const MonitoringAdmin = (props: MonitoringAdminProps) => { ); } - const productName = props.isUyuni ? "SUSE Multi-Linux Manager" : "Uyuni"; + return (
{messages && } @@ -342,7 +334,7 @@ const MonitoringAdmin = (props: MonitoringAdminProps) => { {t("{productName} Configuration - Monitoring", { productName, })} - +
@@ -416,7 +408,7 @@ const MonitoringAdmin = (props: MonitoringAdminProps) => {
- + diff --git a/web/html/src/manager/admin/config/monitoring.renderer.tsx b/web/html/src/manager/admin/config/monitoring.renderer.tsx index ac272fe116cd..68a200ee5136 100644 --- a/web/html/src/manager/admin/config/monitoring.renderer.tsx +++ b/web/html/src/manager/admin/config/monitoring.renderer.tsx @@ -4,6 +4,6 @@ import SpaRenderer from "core/spa/spa-renderer"; import MonitoringAdmin from "./monitoring-admin"; -export const renderer = (id: string, isUyuni: boolean) => { - SpaRenderer.renderNavigationReact(, document.getElementById(id)); +export const renderer = (id: string, props: {}) => { + SpaRenderer.renderNavigationReact(, document.getElementById(id)); }; diff --git a/web/html/src/manager/login/login.renderer.tsx b/web/html/src/manager/login/login.renderer.tsx index 1b8b64809425..640a33570d9b 100644 --- a/web/html/src/manager/login/login.renderer.tsx +++ b/web/html/src/manager/login/login.renderer.tsx @@ -6,7 +6,6 @@ import Login from "./login"; export const renderer = ( id: string, { - isUyuni, theme, urlBounce, validationErrors, @@ -26,7 +25,6 @@ export const renderer = ( if (elementToRender) { ReactDOM.render( ; schemaUpgradeRequired: boolean; webVersion: string; - productName: string; customHeader: string; customFooter: string; legalNote: string; @@ -60,7 +60,7 @@ export type ThemeProps = Props & { }; const Login = (props: Props) => { - const product = props.isUyuni ? products.uyuni : products.suma; + const product = isUyuni ? products.uyuni : products.suma; if (props.theme === "uyuni") { return ; } diff --git a/web/html/src/manager/login/susemanager/login.tsx b/web/html/src/manager/login/susemanager/login.tsx index f0315c568326..06899177fbc2 100644 --- a/web/html/src/manager/login/susemanager/login.tsx +++ b/web/html/src/manager/login/susemanager/login.tsx @@ -1,7 +1,7 @@ import * as React from "react"; import { useState } from "react"; -import { docsLocale } from "core/user-preferences"; +import { docsLocale, productName } from "core/user-preferences"; import { SubmitButton } from "components/buttons"; import { useInputValue } from "components/hooks/forms/useInputValue"; @@ -119,7 +119,7 @@ const SusemanagerThemeLogin = (props: ThemeProps) => {
{t("Copyright Notice")} {t("{productName} release {versionNumber}", { - productName: props.productName, + productName, versionNumber: ( {props.webVersion} diff --git a/web/html/src/manager/login/uyuni/login.tsx b/web/html/src/manager/login/uyuni/login.tsx index ae5e3d3c2886..9db943a48939 100644 --- a/web/html/src/manager/login/uyuni/login.tsx +++ b/web/html/src/manager/login/uyuni/login.tsx @@ -1,7 +1,7 @@ import * as React from "react"; import { useState } from "react"; -import { docsLocale } from "core/user-preferences"; +import { docsLocale, productName } from "core/user-preferences"; import { SubmitButton } from "components/buttons"; import { useInputValue } from "components/hooks/forms/useInputValue"; @@ -117,8 +117,12 @@ const UyuniThemeLogin = (props: ThemeProps) => { {t("Copyright Notice")}
- {`${props.productName} release `} - {props.webVersion} + {t("{productName} release {versionNumber}", { + productName, + versionNumber: ( + {props.webVersion} + ), + })}
{props.customFooter ?
{props.customFooter}
: null} diff --git a/web/html/src/manager/shared/menu/menu.tsx b/web/html/src/manager/shared/menu/menu.tsx index 450a7791139f..741e8cda0fc3 100644 --- a/web/html/src/manager/shared/menu/menu.tsx +++ b/web/html/src/manager/shared/menu/menu.tsx @@ -1,6 +1,7 @@ import * as React from "react"; import SpaRenderer from "core/spa/spa-renderer"; +import { isUyuni } from "core/user-preferences"; import { MessagesContainer } from "components/toastr/toastr"; @@ -235,7 +236,7 @@ class Breadcrumb extends React.Component { level = level.submenu ? level.submenu.find((l) => l.active) : null; } - const product_name_link = window._IS_UYUNI ? ( + const product_name_link = isUyuni ? ( { />, ]; - const productName = window._IS_UYUNI ? "Uyuni" : "SUSE Manager"; - const authenticationData = ( <> {this.state.authMethod === AuthMethod.Password && ( diff --git a/web/html/src/utils/functions.ts b/web/html/src/utils/functions.ts index 6feb78c6fe39..2cfa2c83b259 100644 --- a/web/html/src/utils/functions.ts +++ b/web/html/src/utils/functions.ts @@ -171,10 +171,6 @@ function deepCopy(e) { return e; } -function getProductName(): string { - return window._IS_UYUNI ? "Uyuni" : "SUSE Manager"; -} - const Utils = { cancelable, sortById, @@ -186,7 +182,6 @@ const Utils = { capitalize, generatePassword, deepCopy, - getProductName, }; const Formulas = { From dc1bc5c909ae28f6e174c7a9969f404e1181907f Mon Sep 17 00:00:00 2001 From: Etheryte Date: Mon, 24 Feb 2025 15:05:43 +0100 Subject: [PATCH 03/12] More renaming --- java/code/webapp/WEB-INF/decorators/layout_error.jsp | 4 ++-- web/html/src/manager/images/image-view-overview.tsx | 6 ++++-- web/html/src/manager/images/image-view-runtime.tsx | 6 ++++-- web/html/src/manager/images/image-view.tsx | 3 ++- web/html/src/manager/login/messages.tsx | 5 ++++- web/html/src/manager/shared/menu/menu.tsx | 4 ++-- .../systems/activation-key/activation-key-channels.tsx | 9 ++++++++- 7 files changed, 26 insertions(+), 11 deletions(-) diff --git a/java/code/webapp/WEB-INF/decorators/layout_error.jsp b/java/code/webapp/WEB-INF/decorators/layout_error.jsp index 3ba21582a82c..7d5e70cf256a 100644 --- a/java/code/webapp/WEB-INF/decorators/layout_error.jsp +++ b/java/code/webapp/WEB-INF/decorators/layout_error.jsp @@ -71,8 +71,8 @@ - - SUSEManager + + SUSEMulti-Linux Manager diff --git a/web/html/src/manager/images/image-view-overview.tsx b/web/html/src/manager/images/image-view-overview.tsx index c0e0db7f66d5..af226dabe0a4 100644 --- a/web/html/src/manager/images/image-view-overview.tsx +++ b/web/html/src/manager/images/image-view-overview.tsx @@ -1,5 +1,7 @@ import * as React from "react"; +import { productName } from "core/user-preferences"; + import { Button, LinkButton } from "components/buttons"; import { FromNow } from "components/datetime"; import { DeleteDialog } from "components/dialog/DeleteDialog"; @@ -242,9 +244,9 @@ class ImageInfo extends React.Component { - {t("All instances are consistent with SUSE Multi-Linux Manager")} + {t("All instances are consistent with {productName}", { productName })} ); } else if (data.runtimeStatus === 2) { diff --git a/web/html/src/manager/images/image-view-runtime.tsx b/web/html/src/manager/images/image-view-runtime.tsx index fef7c651d6c6..36f56abda921 100644 --- a/web/html/src/manager/images/image-view-runtime.tsx +++ b/web/html/src/manager/images/image-view-runtime.tsx @@ -1,5 +1,7 @@ import * as React from "react"; +import { productName } from "core/user-preferences"; + import { BootstrapPanel } from "components/panels/BootstrapPanel"; // See java/code/src/com/suse/manager/webui/templates/content_management/view.jade @@ -65,7 +67,7 @@ class PodInfo extends React.Component { icon = ( ); } else if (statusId === 2) { @@ -105,7 +107,7 @@ class ClusterInfo extends React.Component { icon = ( ); } else if (statusId === 2) { diff --git a/web/html/src/manager/images/image-view.tsx b/web/html/src/manager/images/image-view.tsx index 9201d849ba49..882f5849172c 100644 --- a/web/html/src/manager/images/image-view.tsx +++ b/web/html/src/manager/images/image-view.tsx @@ -1,6 +1,7 @@ import * as React from "react"; import SpaRenderer from "core/spa/spa-renderer"; +import { productName } from "core/user-preferences"; import { AsyncButton, Button } from "components/buttons"; import { FromNow } from "components/datetime"; @@ -524,7 +525,7 @@ class ImageViewList extends React.Component ); } else if (row.runtimeStatus === 2) { diff --git a/web/html/src/manager/login/messages.tsx b/web/html/src/manager/login/messages.tsx index 4456023c2996..a4e37c7bd195 100644 --- a/web/html/src/manager/login/messages.tsx +++ b/web/html/src/manager/login/messages.tsx @@ -1,5 +1,7 @@ import * as React from "react"; +import { productName } from "core/user-preferences"; + import { Messages, MessageType } from "components/messages/messages"; export const getGlobalMessages = (validationErrors, schemaUpgradeRequired, diskspaceSeverity, sccForwardWarning) => { @@ -50,7 +52,8 @@ export const getGlobalMessages = (validationErrors, schemaUpgradeRequired, disks if (sccForwardWarning) { const sccForwardWarningMessage = t( - "SUSE Manager PAYG instances must forward registration data to SCC when credentials are provided. Data will be sent independently of the configuration setting. To hide this warning please set 'forward_registration = 1' in rhn.conf." + "{productName} PAYG instances must forward registration data to SCC when credentials are provided. Data will be sent independently of the configuration setting. To hide this warning please set 'forward_registration = 1' in rhn.conf.", + { productName } ); messages = messages.concat({ severity: "warning", text: sccForwardWarningMessage }); } diff --git a/web/html/src/manager/shared/menu/menu.tsx b/web/html/src/manager/shared/menu/menu.tsx index 741e8cda0fc3..17a5de908223 100644 --- a/web/html/src/manager/shared/menu/menu.tsx +++ b/web/html/src/manager/shared/menu/menu.tsx @@ -254,11 +254,11 @@ class Breadcrumb extends React.Component { {t("SUSE")} - {t("Manager")} + {t("Multi-Linux Manager")} } target="" - title={t("SUSE Manager homepage")} + title={t("SUSE Multi-Linux Manager homepage")} /> ); diff --git a/web/html/src/manager/systems/activation-key/activation-key-channels.tsx b/web/html/src/manager/systems/activation-key/activation-key-channels.tsx index 51d569853f3d..deb0bc5d2621 100644 --- a/web/html/src/manager/systems/activation-key/activation-key-channels.tsx +++ b/web/html/src/manager/systems/activation-key/activation-key-channels.tsx @@ -1,6 +1,7 @@ import * as React from "react"; import MandatoryChannelsApi from "core/channels/api/mandatory-channels-api"; +import { productName } from "core/user-preferences"; import { Messages } from "components/messages/messages"; import { Utils as MessagesUtils } from "components/messages/messages"; @@ -29,7 +30,13 @@ class ActivationKeyChannels extends React.Component): Promise => { From 4f85d72856f30f9d14ae7883fa6d0ae272210f3b Mon Sep 17 00:00:00 2001 From: Etheryte Date: Mon, 24 Feb 2025 18:58:14 +0100 Subject: [PATCH 04/12] Fix build --- java/code/webapp/WEB-INF/decorators/layout_error.jsp | 2 +- web/html/src/manager/login/login.renderer.tsx | 1 - web/html/src/manager/login/login.tsx | 3 +-- web/html/src/manager/shared/menu/menu.tsx | 4 +--- 4 files changed, 3 insertions(+), 7 deletions(-) diff --git a/java/code/webapp/WEB-INF/decorators/layout_error.jsp b/java/code/webapp/WEB-INF/decorators/layout_error.jsp index 7d5e70cf256a..07062fdae18f 100644 --- a/java/code/webapp/WEB-INF/decorators/layout_error.jsp +++ b/java/code/webapp/WEB-INF/decorators/layout_error.jsp @@ -72,7 +72,7 @@ - SUSEMulti-Linux Manager + SUSE Multi-Linux Manager diff --git a/web/html/src/manager/login/login.renderer.tsx b/web/html/src/manager/login/login.renderer.tsx index 640a33570d9b..46cd8b4747c3 100644 --- a/web/html/src/manager/login/login.renderer.tsx +++ b/web/html/src/manager/login/login.renderer.tsx @@ -30,7 +30,6 @@ export const renderer = ( validationErrors={validationErrors} schemaUpgradeRequired={schemaUpgradeRequired} webVersion={webVersion} - productName={productName} customHeader={customHeader} customFooter={customFooter} legalNote={legalNote} diff --git a/web/html/src/manager/login/login.tsx b/web/html/src/manager/login/login.tsx index 640eb55e7d78..c3ebc86f695a 100644 --- a/web/html/src/manager/login/login.tsx +++ b/web/html/src/manager/login/login.tsx @@ -17,8 +17,7 @@ const products = { headerTitle: ( SUSE - - Multi-Linux Manager + Multi-Linux Manager ), bodyTitle: ( diff --git a/web/html/src/manager/shared/menu/menu.tsx b/web/html/src/manager/shared/menu/menu.tsx index 17a5de908223..196b55cc16e7 100644 --- a/web/html/src/manager/shared/menu/menu.tsx +++ b/web/html/src/manager/shared/menu/menu.tsx @@ -252,9 +252,7 @@ class Breadcrumb extends React.Component { url="/" label={ - {t("SUSE")} - - {t("Multi-Linux Manager")} + SUSE Multi-Linux Manager } target="" From fe36f3ceae6c48514e99f6a0104e4f1ff25ecfd8 Mon Sep 17 00:00:00 2001 From: Etheryte Date: Mon, 24 Feb 2025 18:58:43 +0100 Subject: [PATCH 05/12] Add changelogs --- java/spacewalk-java.changes.eth.rename | 1 + web/spacewalk-web.changes.eth.rename | 1 + 2 files changed, 2 insertions(+) create mode 100644 java/spacewalk-java.changes.eth.rename create mode 100644 web/spacewalk-web.changes.eth.rename diff --git a/java/spacewalk-java.changes.eth.rename b/java/spacewalk-java.changes.eth.rename new file mode 100644 index 000000000000..38143f88f3b9 --- /dev/null +++ b/java/spacewalk-java.changes.eth.rename @@ -0,0 +1 @@ +- SUSE Manager is now branded as SUSE Multi-Linux Manager diff --git a/web/spacewalk-web.changes.eth.rename b/web/spacewalk-web.changes.eth.rename new file mode 100644 index 000000000000..38143f88f3b9 --- /dev/null +++ b/web/spacewalk-web.changes.eth.rename @@ -0,0 +1 @@ +- SUSE Manager is now branded as SUSE Multi-Linux Manager From c1f6b3bee23aa17da5aba1a6b3e56ac7b55e01a3 Mon Sep 17 00:00:00 2001 From: Etheryte Date: Mon, 24 Feb 2025 19:31:53 +0100 Subject: [PATCH 06/12] Rename themes --- .../rhn/common/conf/ConfigDefaults.java | 2 +- web/conf/rhn_web.conf | 4 ++-- web/html/src/branding/css/base/mixins.scss | 4 ++-- ...ariables.scss => suse-dark-variables.scss} | 2 +- .../{susemanager-dark.scss => suse-dark.scss} | 4 ++-- ...riables.scss => suse-light-variables.scss} | 0 ...susemanager-light.scss => suse-light.scss} | 4 ++-- web/html/src/build/webpack.config.js | 4 ++-- web/html/src/core/debugUtils/index.ts | 24 +++++++------------ web/html/src/manager/login/login.tsx | 2 +- web/html/src/styleguide/template.js | 2 +- web/spacewalk-web.spec | 2 +- 12 files changed, 24 insertions(+), 30 deletions(-) rename web/html/src/branding/css/{susemanager-dark-variables.scss => suse-dark-variables.scss} (83%) rename web/html/src/branding/css/{susemanager-dark.scss => suse-dark.scss} (88%) rename web/html/src/branding/css/{susemanager-light-variables.scss => suse-light-variables.scss} (100%) rename web/html/src/branding/css/{susemanager-light.scss => suse-light.scss} (88%) diff --git a/java/code/src/com/redhat/rhn/common/conf/ConfigDefaults.java b/java/code/src/com/redhat/rhn/common/conf/ConfigDefaults.java index 58e6e1331707..8afe5abfe8f0 100644 --- a/java/code/src/com/redhat/rhn/common/conf/ConfigDefaults.java +++ b/java/code/src/com/redhat/rhn/common/conf/ConfigDefaults.java @@ -1150,7 +1150,7 @@ public List getWebThemesList() { * @return the name of the theme for the webUI */ public String getDefaultWebTheme() { - return Config.get().getString(WEB_THEME, "susemanager-light"); + return Config.get().getString(WEB_THEME, "suse-light"); } /** diff --git a/web/conf/rhn_web.conf b/web/conf/rhn_web.conf index dc495682e95f..070af4ddd46d 100644 --- a/web/conf/rhn_web.conf +++ b/web/conf/rhn_web.conf @@ -122,8 +122,8 @@ web.locale = en_US web.docs_locale = en # Set the list of possible webUI style themes name in a comma separated name list -# susemanager-light,susemanager-dark,uyuni -web.themes = susemanager-light,susemanager-dark,uyuni +# suse-light,suse-dark,uyuni +web.themes = suse-light,suse-dark,uyuni # Set the default webUI style theme name web.theme_default = uyuni diff --git a/web/html/src/branding/css/base/mixins.scss b/web/html/src/branding/css/base/mixins.scss index b9163ffad553..fde7ed0335d9 100644 --- a/web/html/src/branding/css/base/mixins.scss +++ b/web/html/src/branding/css/base/mixins.scss @@ -1,8 +1,8 @@ @mixin onSuma { - @if $theme == "susemanager-light" { + @if $theme == "suse-light" { @content; } - @if $theme == "susemanager-dark" { + @if $theme == "suse-dark" { @content; } } diff --git a/web/html/src/branding/css/susemanager-dark-variables.scss b/web/html/src/branding/css/suse-dark-variables.scss similarity index 83% rename from web/html/src/branding/css/susemanager-dark-variables.scss rename to web/html/src/branding/css/suse-dark-variables.scss index ca56a9b2f112..f69e89ae2d7e 100644 --- a/web/html/src/branding/css/susemanager-dark-variables.scss +++ b/web/html/src/branding/css/suse-dark-variables.scss @@ -1,4 +1,4 @@ -@import "./susemanager-light-variables.scss"; +@import "./suse-light-variables.scss"; $aside-background: $eos-bc-pine-500; $aside-menu-text: $eos-bc-white; diff --git a/web/html/src/branding/css/susemanager-dark.scss b/web/html/src/branding/css/suse-dark.scss similarity index 88% rename from web/html/src/branding/css/susemanager-dark.scss rename to web/html/src/branding/css/suse-dark.scss index 3d3d3a62e375..ac8aebddde7d 100644 --- a/web/html/src/branding/css/susemanager-dark.scss +++ b/web/html/src/branding/css/suse-dark.scss @@ -1,4 +1,4 @@ -$theme: "susemanager-dark"; +$theme: "suse-dark"; @import "./base/body.scss"; @@ -9,7 +9,7 @@ $theme: "susemanager-dark"; @import "bootstrap/scss/bootstrap"; @import "./variables.scss"; - @import "./susemanager-dark-variables.scss"; + @import "./suse-dark-variables.scss"; display: flex; flex-direction: column; diff --git a/web/html/src/branding/css/susemanager-light-variables.scss b/web/html/src/branding/css/suse-light-variables.scss similarity index 100% rename from web/html/src/branding/css/susemanager-light-variables.scss rename to web/html/src/branding/css/suse-light-variables.scss diff --git a/web/html/src/branding/css/susemanager-light.scss b/web/html/src/branding/css/suse-light.scss similarity index 88% rename from web/html/src/branding/css/susemanager-light.scss rename to web/html/src/branding/css/suse-light.scss index b3c5be821c4a..b78046a3a99a 100644 --- a/web/html/src/branding/css/susemanager-light.scss +++ b/web/html/src/branding/css/suse-light.scss @@ -1,4 +1,4 @@ -$theme: "susemanager-light"; +$theme: "suse-light"; @import "./base/body.scss"; @@ -9,7 +9,7 @@ $theme: "susemanager-light"; @import "bootstrap/scss/bootstrap"; @import "./variables.scss"; - @import "./susemanager-light-variables.scss"; + @import "./suse-light-variables.scss"; display: flex; flex-direction: column; diff --git a/web/html/src/build/webpack.config.js b/web/html/src/build/webpack.config.js index c59820dd889a..61ec031af9b1 100644 --- a/web/html/src/build/webpack.config.js +++ b/web/html/src/build/webpack.config.js @@ -103,8 +103,8 @@ module.exports = (env, argv) => { return { entry: { "javascript/manager/main": "./manager/index.ts", - "css/updated-susemanager-light": path.resolve(__dirname, "../branding/css/susemanager-light.scss"), - "css/updated-susemanager-dark": path.resolve(__dirname, "../branding/css/susemanager-dark.scss"), + "css/updated-suse-light": path.resolve(__dirname, "../branding/css/suse-light.scss"), + "css/updated-suse-dark": path.resolve(__dirname, "../branding/css/suse-dark.scss"), "css/updated-uyuni": path.resolve(__dirname, "../branding/css/uyuni.scss"), }, output: { diff --git a/web/html/src/core/debugUtils/index.ts b/web/html/src/core/debugUtils/index.ts index 628b3271d85c..024251ba36bd 100644 --- a/web/html/src/core/debugUtils/index.ts +++ b/web/html/src/core/debugUtils/index.ts @@ -4,7 +4,7 @@ import { showErrorToastr, showSuccessToastr, showWarningToastr } from "component const debugUtils = { logTheme() { const theme = document.querySelector( - 'link[href^="/css/updated-susemanager-light"],link[href^="/css/updated-susemanager-dark"],link[href^="/css/updated-uyuni"]' + 'link[href^="/css/updated-suse-light"],link[href^="/css/updated-suse-dark"],link[href^="/css/updated-uyuni"]' ); if (!theme) { throw new TypeError("Unable to identify theme"); @@ -13,35 +13,29 @@ const debugUtils = { }, toggleTheme() { if (document.body.className.includes("theme-susemanager-")) { - document.body.className = document.body.className.replace("theme-susemanager-light", "theme-uyuni"); - document.body.className = document.body.className.replace("theme-susemanager-dark", "theme-uyuni"); + document.body.className = document.body.className.replace("theme-suse-light", "theme-uyuni"); + document.body.className = document.body.className.replace("theme-suse-dark", "theme-uyuni"); } else if (document.body.className.includes("theme-uyuni")) { - document.body.className = document.body.className.replace("theme-uyuni", "theme-susemanager-light"); + document.body.className = document.body.className.replace("theme-uyuni", "theme-suse-light"); } - const sumaLight = document.querySelector('link[href^="/css/updated-susemanager-light"]'); + const sumaLight = document.querySelector('link[href^="/css/updated-suse-light"]'); if (sumaLight) { - sumaLight.setAttribute( - "href", - sumaLight.getAttribute("href")!.replace("updated-susemanager-light", "updated-uyuni") - ); + sumaLight.setAttribute("href", sumaLight.getAttribute("href")!.replace("updated-suse-light", "updated-uyuni")); this.logTheme(); return; } - const sumaDark = document.querySelector('link[href^="/css/updated-susemanager-dark"]'); + const sumaDark = document.querySelector('link[href^="/css/updated-suse-dark"]'); if (sumaDark) { - sumaDark.setAttribute( - "href", - sumaDark.getAttribute("href")!.replace("updated-susemanager-dark", "updated-uyuni") - ); + sumaDark.setAttribute("href", sumaDark.getAttribute("href")!.replace("updated-suse-dark", "updated-uyuni")); this.logTheme(); return; } const uyuni = document.querySelector('link[href^="/css/updated-uyuni"]'); if (uyuni) { - uyuni.setAttribute("href", uyuni.getAttribute("href")!.replace("updated-uyuni", "updated-susemanager-light")); + uyuni.setAttribute("href", uyuni.getAttribute("href")!.replace("updated-uyuni", "updated-suse-light")); this.logTheme(); return; } diff --git a/web/html/src/manager/login/login.tsx b/web/html/src/manager/login/login.tsx index c3ebc86f695a..cb589465eb4f 100644 --- a/web/html/src/manager/login/login.tsx +++ b/web/html/src/manager/login/login.tsx @@ -9,7 +9,7 @@ import withPageWrapper from "components/general/with-page-wrapper"; import SusemanagerThemeLogin from "./susemanager/login"; import UyuniThemeLogin from "./uyuni/login"; -type Theme = "uyuni" | "susemanager-light" | "susemanager-dark"; +type Theme = "uyuni" | "suse-light" | "suse-dark"; const products = { suma: { diff --git a/web/html/src/styleguide/template.js b/web/html/src/styleguide/template.js index e001024430e7..e5286352e32f 100644 --- a/web/html/src/styleguide/template.js +++ b/web/html/src/styleguide/template.js @@ -10,7 +10,7 @@ module.exports = { head: { // Some of these will currently fail due to CORS, but will be obsolete once we move branding into web links: [ - `/css/susemanager-light.css?cb=${noCache}`, + `/css/suse-light.css?cb=${noCache}`, `/fonts/font-awesome/css/font-awesome.css?cb=${noCache}`, `/fonts/font-spacewalk/css/spacewalk-font.css?cb=${noCache}`, `/css/jquery.timepicker.css?cb=${noCache}`, diff --git a/web/spacewalk-web.spec b/web/spacewalk-web.spec index 45bec9b2687f..28922472b987 100644 --- a/web/spacewalk-web.spec +++ b/web/spacewalk-web.spec @@ -205,7 +205,7 @@ popd # Adjust default theme for SUSE Manager %if 0%{?sle_version} && ! (0%{?is_opensuse} || 0%{?rhel} || 0%{?fedora}) -sed -i -e 's/^web.theme_default =.*$/web.theme_default = susemanager-light/' %{buildroot}%{_datadir}/rhn/config-defaults/rhn_web.conf +sed -i -e 's/^web.theme_default =.*$/web.theme_default = suse-light/' %{buildroot}%{_datadir}/rhn/config-defaults/rhn_web.conf %endif %find_lang spacewalk-web From a44cafebb0b2899ebf2ab45279d5b69572cdc110 Mon Sep 17 00:00:00 2001 From: Etheryte Date: Tue, 25 Feb 2025 01:03:20 +0100 Subject: [PATCH 07/12] Add migration --- .../102-product-rename.sql | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 schema/spacewalk/upgrade/susemanager-schema-5.1.3-to-susemanager-schema-5.1.4/102-product-rename.sql diff --git a/schema/spacewalk/upgrade/susemanager-schema-5.1.3-to-susemanager-schema-5.1.4/102-product-rename.sql b/schema/spacewalk/upgrade/susemanager-schema-5.1.3-to-susemanager-schema-5.1.4/102-product-rename.sql new file mode 100644 index 000000000000..c7bbea22227b --- /dev/null +++ b/schema/spacewalk/upgrade/susemanager-schema-5.1.3-to-susemanager-schema-5.1.4/102-product-rename.sql @@ -0,0 +1,2 @@ +UPDATE rhnUserInfo SET web_theme = 'suse-light' WHERE web_theme = 'susemanager-light'; +UPDATE rhnUserInfo SET web_theme = 'suse-dark' WHERE web_theme = 'susemanager-dark'; \ No newline at end of file From 70c5e24fd807dc6721b7d963295b2623bdd5f3b1 Mon Sep 17 00:00:00 2001 From: Etheryte Date: Tue, 25 Feb 2025 01:06:50 +0100 Subject: [PATCH 08/12] Cleanup --- web/html/src/manager/login/messages.tsx | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/web/html/src/manager/login/messages.tsx b/web/html/src/manager/login/messages.tsx index a4e37c7bd195..418a410fbdfc 100644 --- a/web/html/src/manager/login/messages.tsx +++ b/web/html/src/manager/login/messages.tsx @@ -1,7 +1,5 @@ import * as React from "react"; -import { productName } from "core/user-preferences"; - import { Messages, MessageType } from "components/messages/messages"; export const getGlobalMessages = (validationErrors, schemaUpgradeRequired, diskspaceSeverity, sccForwardWarning) => { @@ -52,8 +50,7 @@ export const getGlobalMessages = (validationErrors, schemaUpgradeRequired, disks if (sccForwardWarning) { const sccForwardWarningMessage = t( - "{productName} PAYG instances must forward registration data to SCC when credentials are provided. Data will be sent independently of the configuration setting. To hide this warning please set 'forward_registration = 1' in rhn.conf.", - { productName } + "SUSE Multi-Linux Manager PAYG instances must forward registration data to SCC when credentials are provided. Data will be sent independently of the configuration setting. To hide this warning please set 'forward_registration = 1' in rhn.conf." ); messages = messages.concat({ severity: "warning", text: sccForwardWarningMessage }); } From 22acefe3ab21944c84cd18a2a2ce96a6e1029657 Mon Sep 17 00:00:00 2001 From: Etheryte Date: Tue, 25 Feb 2025 11:07:21 +0100 Subject: [PATCH 09/12] Fix rebase --- web/html/src/components/hub/RegisterPeripheralForm.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/web/html/src/components/hub/RegisterPeripheralForm.tsx b/web/html/src/components/hub/RegisterPeripheralForm.tsx index b12478c7b54e..81c2aa0ee25f 100644 --- a/web/html/src/components/hub/RegisterPeripheralForm.tsx +++ b/web/html/src/components/hub/RegisterPeripheralForm.tsx @@ -1,12 +1,13 @@ import * as React from "react"; +import { productName } from "core/user-preferences"; + import { AsyncButton, SubmitButton } from "components/buttons"; import { Form, Password, Radio, Text, TextArea } from "components/input"; import { Messages, MessageType } from "components/messages/messages"; import { TopPanel } from "components/panels"; import Validation from "components/validation"; -import { Utils } from "utils/functions"; import Network from "utils/network"; import { HubRegisterRequest } from "./types"; @@ -130,7 +131,6 @@ export class RegisterPeripheralForm extends React.Component { } public render(): React.ReactNode { - const productName = Utils.getProductName(); return ( {this.state.loading && ( From 9834db935910bc027656ba8e7aa4798e11f26deb Mon Sep 17 00:00:00 2001 From: Etheryte Date: Tue, 25 Feb 2025 11:08:35 +0100 Subject: [PATCH 10/12] Add changelog, update schema --- schema/spacewalk/susemanager-schema.changes.eth.rename | 1 + 1 file changed, 1 insertion(+) create mode 100644 schema/spacewalk/susemanager-schema.changes.eth.rename diff --git a/schema/spacewalk/susemanager-schema.changes.eth.rename b/schema/spacewalk/susemanager-schema.changes.eth.rename new file mode 100644 index 000000000000..38143f88f3b9 --- /dev/null +++ b/schema/spacewalk/susemanager-schema.changes.eth.rename @@ -0,0 +1 @@ +- SUSE Manager is now branded as SUSE Multi-Linux Manager From 7d9405e12b5a39021f7277f10b52b8d482c21d77 Mon Sep 17 00:00:00 2001 From: Etheryte Date: Tue, 25 Feb 2025 11:08:51 +0100 Subject: [PATCH 11/12] Update schema file name --- .../{102-product-rename.sql => 300-product-rename.sql} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename schema/spacewalk/upgrade/susemanager-schema-5.1.3-to-susemanager-schema-5.1.4/{102-product-rename.sql => 300-product-rename.sql} (100%) diff --git a/schema/spacewalk/upgrade/susemanager-schema-5.1.3-to-susemanager-schema-5.1.4/102-product-rename.sql b/schema/spacewalk/upgrade/susemanager-schema-5.1.3-to-susemanager-schema-5.1.4/300-product-rename.sql similarity index 100% rename from schema/spacewalk/upgrade/susemanager-schema-5.1.3-to-susemanager-schema-5.1.4/102-product-rename.sql rename to schema/spacewalk/upgrade/susemanager-schema-5.1.3-to-susemanager-schema-5.1.4/300-product-rename.sql From 2cedeaeb0978779232b1429d73c8b3f028998131 Mon Sep 17 00:00:00 2001 From: Etheryte Date: Tue, 25 Feb 2025 11:56:02 +0100 Subject: [PATCH 12/12] Revert translation --- web/html/src/manager/admin/config/monitoring-admin.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/web/html/src/manager/admin/config/monitoring-admin.tsx b/web/html/src/manager/admin/config/monitoring-admin.tsx index 795199f36291..529b407dcd8d 100644 --- a/web/html/src/manager/admin/config/monitoring-admin.tsx +++ b/web/html/src/manager/admin/config/monitoring-admin.tsx @@ -338,7 +338,7 @@ const MonitoringAdmin = () => {
-

{t("Set up monitoring for your server.")}

+

{t("Set up monitoring for your {productName} server.", { productName })}