From 103ebb7043645f644c3967a51e3f4bf900ed5f37 Mon Sep 17 00:00:00 2001 From: Omar Date: Wed, 30 Oct 2024 15:43:21 +0100 Subject: [PATCH 01/11] feat(dedicated): my services add tips and payment block (#13809) ref: MANAGER-15335 Signed-off-by: Omar ALKABOUSS MOUSSANA --- .../payment-method.controller.js | 4 +- .../billing/src/autoRenew/autorenew.html | 53 ++----------------- .../billing/src/autoRenew/autorenew.module.js | 1 + .../billing/src/autoRenew/autorenew.style.css | 20 +++++++ 4 files changed, 26 insertions(+), 52 deletions(-) create mode 100644 packages/manager/modules/billing/src/autoRenew/autorenew.style.css diff --git a/packages/manager/modules/billing-components/src/components/payment-method/payment-method.controller.js b/packages/manager/modules/billing-components/src/components/payment-method/payment-method.controller.js index e219e5410687..c1f343f7dc01 100644 --- a/packages/manager/modules/billing-components/src/components/payment-method/payment-method.controller.js +++ b/packages/manager/modules/billing-components/src/components/payment-method/payment-method.controller.js @@ -31,8 +31,8 @@ export default class PaymentMethodController { }); this.updatePaymentMethodLink = this.coreURLBuilder.buildURL( - 'new-billing', - '/payment/method', + 'dedicated', + '#/billing/payment/method', ); } } diff --git a/packages/manager/modules/billing/src/autoRenew/autorenew.html b/packages/manager/modules/billing/src/autoRenew/autorenew.html index a67a9c68107c..57fb00a46e79 100644 --- a/packages/manager/modules/billing/src/autoRenew/autorenew.html +++ b/packages/manager/modules/billing/src/autoRenew/autorenew.html @@ -75,58 +75,11 @@

-
- - - +
+ +
-
- - - - - -
- Date: Thu, 7 Nov 2024 18:01:55 +0100 Subject: [PATCH 02/11] feat(dedicates): my services update content wording (#13987) ref: MANAGER-15328 Signed-off-by: Omar ALKABOUSS MOUSSANA --- .../billing/src/autoRenew/translations/Messages_fr_FR.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/manager/modules/billing/src/autoRenew/translations/Messages_fr_FR.json b/packages/manager/modules/billing/src/autoRenew/translations/Messages_fr_FR.json index 6ea5f7c6697d..f8d886bccd40 100644 --- a/packages/manager/modules/billing/src/autoRenew/translations/Messages_fr_FR.json +++ b/packages/manager/modules/billing/src/autoRenew/translations/Messages_fr_FR.json @@ -1,7 +1,7 @@ { - "billing_title": "Mes services", - "billing_description": "Gérez le renouvellement de vos services. Consultez leur statut ainsi que vos contrats.", - "billing_home_title": "Accueil", + "billing_title": "Gestion de mes offres et services", + "billing_description": "Bienvenue dans votre section GESTION DES SERVICES. Administrez le renouvellement, le paiement et la résiliation de vos services depuis cette page.", + "billing_home_title": "Tous les services", "billing_agreements_title": "Contrats", "billing_ssh_title": "Clés SSH", "billing_autorenew_service_disable_autorenew": "Désactiver le paiement automatique", From 5eaf919a8ed51c41ad1612d6e6c10fe84a36405f Mon Sep 17 00:00:00 2001 From: Omar Date: Fri, 29 Nov 2024 11:17:54 +0100 Subject: [PATCH 03/11] feat(dedicated): revamp subscription tile component (#14239) ref: MANAGER-15507 Signed-off-by: Omar ALKABOUSS MOUSSANA --- .../services-actions.controller.js | 1 + .../subscription-tile/subscription-tile.html | 22 +++---------------- .../translations/Messages_fr_FR.json | 1 + 3 files changed, 5 insertions(+), 19 deletions(-) diff --git a/packages/manager/modules/billing-components/src/components/services-actions/services-actions.controller.js b/packages/manager/modules/billing-components/src/components/services-actions/services-actions.controller.js index 63c7899f14fb..406534d3c6e9 100644 --- a/packages/manager/modules/billing-components/src/components/services-actions/services-actions.controller.js +++ b/packages/manager/modules/billing-components/src/components/services-actions/services-actions.controller.js @@ -27,6 +27,7 @@ export default class ServicesActionsCtrl { $onInit() { this.user = this.coreConfig.getUser(); + this.BillingLinksService.generateAutorenewLinks(this.service, { billingManagementAvailability: this.billingManagementAvailability, getCommitmentLink: this.getCommitmentLink, diff --git a/packages/manager/modules/billing-components/src/components/subscription-tile/subscription-tile.html b/packages/manager/modules/billing-components/src/components/subscription-tile/subscription-tile.html index e8a9654f5e2f..4c978ec76924 100644 --- a/packages/manager/modules/billing-components/src/components/subscription-tile/subscription-tile.html +++ b/packages/manager/modules/billing-components/src/components/subscription-tile/subscription-tile.html @@ -69,34 +69,18 @@

- -

- - -

-
-

- + + + + - - + + - + + + - +

diff --git a/packages/manager/modules/billing/src/autoRenew/translations/Messages_fr_FR.json b/packages/manager/modules/billing/src/autoRenew/translations/Messages_fr_FR.json index f8d886bccd40..e8e32e36e602 100644 --- a/packages/manager/modules/billing/src/autoRenew/translations/Messages_fr_FR.json +++ b/packages/manager/modules/billing/src/autoRenew/translations/Messages_fr_FR.json @@ -14,7 +14,7 @@ "billing_autorenew_service_status_manual": "Renouvellement manuel", "billing_autorenew_service_status_manualPayment": "Renouvellement manuel", "billing_autorenew_service_status_pending_debt": "Facture à régler", - "billing_autorenew_service_status_delete_at_expiration": "Résiliation demandée", + "billing_autorenew_service_status_delete_at_expiration": "Résiliation programmée", "billing_autorenew_service_status_expired": "Résilié", "billing_autorenew_service_expiration_weeks": "Expirant dans une semaine", "billing_autorenew_service_expiration_months": "Expirant dans un mois", @@ -30,8 +30,8 @@ "autorenew_service_deleteAtExpiration_banner": "La résiliation à l’expiration du service « {{ serviceName }} » a bien été prise en compte. Vous pouvez annuler cette opération jusqu’à 24 heures avant expiration du service.", "autorenew_service_deleteAtExpiration_banner_cancel": "Annuler la resiliation à l’expiration", - "billing_autorenew_service": "Service", - "billing_autorenew_service_name": "Nom du service", + "billing_autorenew_service": "Type", + "billing_autorenew_service_name": "Service", "billing_autorenew_service_state_EXPIRED": "Suspendu", "billing_autorenew_service_state_UP": "Actif", @@ -162,5 +162,14 @@ "billing_autorenew_renew_action": "Renouveler", "billing_autorenew_service_renew_requires_mean_and_date": "Afin de finaliser l'activation du renouvellement automatique, veuillez ajouter un moyen de paiement et ensuite il vous sera possible de sélectionner votre date de prélèvement.", "billing_autorenew_service_activate_alert": "Vous avez au moins un service en renouvellement automatique mais vous n'avez pas encore autorisé cette option.", - "billing_autorenew_service_activate_alert_renew2016": "Ce message ne concerne pas les services Bare Metal et VPS." + "billing_autorenew_service_activate_alert_renew2016": "Ce message ne concerne pas les services Bare Metal et VPS.", + + "billing_autorenew_service_frequency": "Fréquence de renouvellement", + + "billing_autorenew_service_none": "Aucun", + "billing_autorenew_service_every_1_month": "Tous les mois", + "billing_autorenew_service_every_3_month": "Tous les 3 mois", + "billing_autorenew_service_every_6_month": "Tous les 6 mois", + "billing_autorenew_service_every_12_month": "Tous les ans", + "billing_autorenew_engagement_none": "Sans engagement" } From 288942f5396cd9179ecaf1e7d4801d02d3d64dfd Mon Sep 17 00:00:00 2001 From: JacquesLarique <134954692+JacquesLarique@users.noreply.github.com> Date: Fri, 13 Dec 2024 10:14:57 +0100 Subject: [PATCH 06/11] feat(billing): hide renew fraquency issues (#14483) ref: MANAGER-16326 Signed-off-by: Jacques Larique --- .../src/components/subscription-tile/subscription-tile.html | 2 ++ .../modules/billing/src/autoRenew/autorenew.constants.js | 1 + packages/manager/modules/billing/src/autoRenew/autorenew.html | 1 - 3 files changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/manager/modules/billing-components/src/components/subscription-tile/subscription-tile.html b/packages/manager/modules/billing-components/src/components/subscription-tile/subscription-tile.html index 4c978ec76924..c6e9df3208ba 100644 --- a/packages/manager/modules/billing-components/src/components/subscription-tile/subscription-tile.html +++ b/packages/manager/modules/billing-components/src/components/subscription-tile/subscription-tile.html @@ -94,12 +94,14 @@

Date: Wed, 18 Dec 2024 09:07:54 +0100 Subject: [PATCH 07/11] feat(dedicated): my services add tracking (#14612) ref: MANAGER-16208 Signed-off-by: Omar ALKABOUSS MOUSSANA --- .../clusters/cluster/dashboard/dashboard.html | 4 ++- .../nodes/node/dashboard/dashboard.routing.js | 5 ++++ .../server/dashboard/dashboard.routing.js | 5 ++++ .../payment-method.component.js | 5 +++- .../payment-method.controller.js | 16 ++++++++++- .../payment-method/payment-method.html | 6 ++++- .../services-actions.component.js | 1 + .../services-actions.controller.js | 13 +++++++-- .../subscription-tile.component.js | 2 ++ .../subscription-tile.controller.js | 15 ++++++++--- .../subscription-tile/subscription-tile.html | 10 +++---- .../agreements/user-agreements.routes.js | 13 +++++++++ .../src/autoRenew/autorenew.constants.js | 16 +++++++++++ .../src/autoRenew/autorenew.controller.js | 27 +++++++++++++++++++ .../billing/src/autoRenew/autorenew.html | 8 +++++- .../src/autoRenew/autorenew.routing.js | 15 ++++++++++- .../billing/src/autoRenew/ssh/ssh.routing.js | 13 +++++++++ .../server-dashboard/dashboard.component.js | 3 +++ .../src/server-dashboard/dashboard.html | 8 ++++-- .../src/dashboard/dashboard.template.html | 4 ++- .../netapp/src/dashboard/index/template.html | 4 ++- .../src/dashboard/general-info/template.html | 4 ++- .../src/dashboard/vps-dashboard.controller.js | 16 +++++++++++ .../vps/src/dashboard/vps-dashboard.html | 4 ++- .../web-paas/src/details/service/service.html | 4 ++- 25 files changed, 197 insertions(+), 24 deletions(-) diff --git a/packages/manager/apps/dedicated/client/app/dedicated/dedicated-server/clusters/cluster/dashboard/dashboard.html b/packages/manager/apps/dedicated/client/app/dedicated/dedicated-server/clusters/cluster/dashboard/dashboard.html index 60120194168e..b97ff9de7295 100644 --- a/packages/manager/apps/dedicated/client/app/dedicated/dedicated-server/clusters/cluster/dashboard/dashboard.html +++ b/packages/manager/apps/dedicated/client/app/dedicated/dedicated-server/clusters/cluster/dashboard/dashboard.html @@ -16,7 +16,9 @@ data-on-error="$ctrl.onBillingInformationError(error)" data-service-infos="$ctrl.serviceInfos" data-user="$ctrl.user" - data-tracking-prefix="{{$ctrl.trackingPrefix}}" + data-tracking-page="DedicatedServers::dedicated-server::cluster::cluster::dashboard::general-information" + data-tracking-name-suffix="cluster" + tracking-prefix="DedicatedServers::dedicated-server::cluster" > diff --git a/packages/manager/apps/dedicated/client/app/dedicated/dedicated-server/clusters/nodes/node/dashboard/dashboard.routing.js b/packages/manager/apps/dedicated/client/app/dedicated/dedicated-server/clusters/nodes/node/dashboard/dashboard.routing.js index ca225cbb5063..e85264c6aeab 100644 --- a/packages/manager/apps/dedicated/client/app/dedicated/dedicated-server/clusters/nodes/node/dashboard/dashboard.routing.js +++ b/packages/manager/apps/dedicated/client/app/dedicated/dedicated-server/clusters/nodes/node/dashboard/dashboard.routing.js @@ -282,6 +282,11 @@ export default /* @ngInject */ ($stateProvider) => { productId: serverName, }), trackingPrefix: () => 'dedicated::node::dashboard', + trackingSubscriptionPrefix: () => + 'DedicatedServers::dedicated-server::server', + trackingPage: () => + 'DedicatedServers::dedicated-server::server::server::dashboard::general-information', + trackingNameSuffix: () => 'server', trafficInformation: /* @ngInject */ ( $q, $stateParams, diff --git a/packages/manager/apps/dedicated/client/app/dedicated/dedicated-server/servers/server/dashboard/dashboard.routing.js b/packages/manager/apps/dedicated/client/app/dedicated/dedicated-server/servers/server/dashboard/dashboard.routing.js index a5aa09eb4949..5c231674d063 100644 --- a/packages/manager/apps/dedicated/client/app/dedicated/dedicated-server/servers/server/dashboard/dashboard.routing.js +++ b/packages/manager/apps/dedicated/client/app/dedicated/dedicated-server/servers/server/dashboard/dashboard.routing.js @@ -258,6 +258,11 @@ export default /* @ngInject */ ($stateProvider) => { productId: serverName, }), trackingPrefix: () => 'dedicated::server::dashboard', + trackingSubscriptionPrefix: () => + 'DedicatedServers::dedicated-server::node', + trackingPage: () => + 'DedicatedServers::dedicated-server::node::node::dashboard::general-information', + trackingNameSuffix: () => 'node', trafficInformation: /* @ngInject */ ( $q, $stateParams, diff --git a/packages/manager/modules/billing-components/src/components/payment-method/payment-method.component.js b/packages/manager/modules/billing-components/src/components/payment-method/payment-method.component.js index 57384dcb63ed..6e0204c9f2bb 100644 --- a/packages/manager/modules/billing-components/src/components/payment-method/payment-method.component.js +++ b/packages/manager/modules/billing-components/src/components/payment-method/payment-method.component.js @@ -2,7 +2,10 @@ import controller from './payment-method.controller'; import template from './payment-method.html'; export default { - bindings: {}, + bindings: { + trackingPage: '<', + trackingCategory: '<', + }, controller, name: 'ovhManagerAutoRenewPaymentMethod', template, diff --git a/packages/manager/modules/billing-components/src/components/payment-method/payment-method.controller.js b/packages/manager/modules/billing-components/src/components/payment-method/payment-method.controller.js index c1f343f7dc01..314b2fe127fe 100644 --- a/packages/manager/modules/billing-components/src/components/payment-method/payment-method.controller.js +++ b/packages/manager/modules/billing-components/src/components/payment-method/payment-method.controller.js @@ -1,9 +1,10 @@ export default class PaymentMethodController { /* @ngInject */ - constructor($http, coreURLBuilder, $filter) { + constructor($http, coreURLBuilder, $filter, atInternet) { this.$http = $http; this.coreURLBuilder = coreURLBuilder; this.$filter = $filter; + this.atInternet = atInternet; } $onInit() { @@ -35,4 +36,17 @@ export default class PaymentMethodController { '#/billing/payment/method', ); } + + trackPaymentClick() { + this.atInternet.trackClick({ + name: `hub::billing::services::listing::tile::link::${ + this.paymentMehtod ? 'edit' : 'activate' + }_services::autorenew`, + type: 'action', + page_category: this.trackingCategory, + page: { + name: this.trackingPage, + }, + }); + } } diff --git a/packages/manager/modules/billing-components/src/components/payment-method/payment-method.html b/packages/manager/modules/billing-components/src/components/payment-method/payment-method.html index 9e9aa1934649..67a794fa3991 100644 --- a/packages/manager/modules/billing-components/src/components/payment-method/payment-method.html +++ b/packages/manager/modules/billing-components/src/components/payment-method/payment-method.html @@ -38,7 +38,11 @@

{{ 'payment_expiration_no_default_method_message' | translate}}

- + {{ !$ctrl.paymentMehtod ? 'payment_method_add_link_label': 'payment_method_update_link_label' | translate}} diff --git a/packages/manager/modules/billing-components/src/components/services-actions/services-actions.component.js b/packages/manager/modules/billing-components/src/components/services-actions/services-actions.component.js index e65a8afb3ac0..89f0133ee76b 100644 --- a/packages/manager/modules/billing-components/src/components/services-actions/services-actions.component.js +++ b/packages/manager/modules/billing-components/src/components/services-actions/services-actions.component.js @@ -6,6 +6,7 @@ export default { billingManagementAvailability: '<', service: '<', trackingPrefix: '@?', + trackingPage: '@?', getCommitmentLink: '&?', getCancelCommitmentLink: '&?', getCancelResiliationLink: '&?', diff --git a/packages/manager/modules/billing-components/src/components/services-actions/services-actions.controller.js b/packages/manager/modules/billing-components/src/components/services-actions/services-actions.controller.js index cd44e9918ab3..86586639b505 100644 --- a/packages/manager/modules/billing-components/src/components/services-actions/services-actions.controller.js +++ b/packages/manager/modules/billing-components/src/components/services-actions/services-actions.controller.js @@ -26,7 +26,6 @@ export default class ServicesActionsCtrl { } $onInit() { - this.user = this.coreConfig.getUser(); this.user = this.coreConfig.getUser(); this.BillingLinksService.generateAutorenewLinks(this.service, { @@ -78,7 +77,17 @@ export default class ServicesActionsCtrl { } trackAction(action, hasActionInEvent = true) { - if (this.trackingPrefix) { + if (this.trackingPrefix && this.trackingPage) { + const name = `${this.trackingPrefix}::button::${action}::service`; + this.atInternet.trackClick({ + name, + type: 'action', + page_category: 'listing', + page: { + name: this.trackingPage, + }, + }); + } else if (this.trackingPrefix) { const name = hasActionInEvent ? `${this.trackingPrefix}::action::${action}` : `${this.trackingPrefix}::${action}`; diff --git a/packages/manager/modules/billing-components/src/components/subscription-tile/subscription-tile.component.js b/packages/manager/modules/billing-components/src/components/subscription-tile/subscription-tile.component.js index 8c0d2b7e761e..6d3ff0fa71e8 100644 --- a/packages/manager/modules/billing-components/src/components/subscription-tile/subscription-tile.component.js +++ b/packages/manager/modules/billing-components/src/components/subscription-tile/subscription-tile.component.js @@ -13,6 +13,8 @@ export default { goToCancelResiliation: '&', goToResiliation: '&', trackingPrefix: '@', + trackingPage: '@', + trackingNameSuffix: '@', commitImpressionData: '

@@ -111,7 +111,7 @@ class="oui-link_icon" data-ng-href="{{ $ctrl.updateLink }}" data-ng-if="$ctrl.autorenewLink && !$ctrl.serviceInfos.hasParticularRenew() && !$ctrl.serviceInfos.hasPendingResiliation() && !$ctrl.serviceInfos.hasDebt() && !$ctrl.serviceInfos.isOneShot() && !$ctrl.serviceInfos.hasForcedRenew() && !$ctrl.serviceInfos.isResiliated() && $ctrl.serviceInfos.canHandleRenew() && !$ctrl.serviceInfos.hasEngagement()" - data-ng-click="$ctrl.trackAction('go-to-configure-renew')" + data-ng-click="$ctrl.trackAction($ctrl.serviceInfos.hasAutomaticRenew() ?'edit-frequency': 'renew', !$ctrl.serviceInfos.hasAutomaticRenew())" target="_top" >

@@ -144,7 +144,7 @@ class="oui-link_icon" data-ng-href="{{ $ctrl.autorenewLink && !$ctrl.service.hasBillingRights($ctrl.user.nichandle) ? $ctrl.warningLink : $ctrl.billingLink }}" data-ng-if="$ctrl.serviceInfos.hasDebt()" - data-on-click="$ctrl.trackAction('go-to-pay-bill')" + data-ng-click="$ctrl.trackAction('go-to-pay-bill')" target="_top" >

@@ -174,7 +174,7 @@ class="oui-link_icon" data-ng-if="$ctrl.resiliateLink && ($ctrl.serviceInfos.hasAdminRights($ctrl.user.auth.account) || $ctrl.serviceInfos.hasAdminRights($ctrl.user.nichandle))" data-ng-href="{{ $ctrl.resiliateLink }}" - on-click="$ctrl.trackAction('go-to-resiliate')" + data-ng-click="$ctrl.trackAction('stop', true)" target="_top" >

@@ -202,7 +202,7 @@ class="oui-link_icon" data-ng-if="$ctrl.resiliateLink && ($ctrl.serviceInfos.hasAdminRights($ctrl.user.auth.account) || $ctrl.serviceInfos.hasAdminRights($ctrl.user.nichandle))" data-ng-href="{{ $ctrl.resiliateLink }}" - on-click="$ctrl.trackAction('go-to-resiliate')" + data-ng-click="$ctrl.trackAction('stop', true)" target="_top" >

diff --git a/packages/manager/modules/billing/src/autoRenew/agreements/user-agreements.routes.js b/packages/manager/modules/billing/src/autoRenew/agreements/user-agreements.routes.js index bd2fc549f3d8..ecf52db6ef4c 100644 --- a/packages/manager/modules/billing/src/autoRenew/agreements/user-agreements.routes.js +++ b/packages/manager/modules/billing/src/autoRenew/agreements/user-agreements.routes.js @@ -1,5 +1,9 @@ import controller from './user-agreements.controller'; import template from './user-agreements.html'; +import { + TRACKING_AGREEMENTS_PAGE_NAME, + TRACKING_PAGE_CATEGORY, +} from '../autorenew.constants'; export default /* @ngInject */ ( $stateProvider, @@ -19,6 +23,15 @@ export default /* @ngInject */ ( (currentUser) => currentUser.isTrusted && 'app.account.billing.autorenew', ), + atInternet: { + ignore: true, + }, + onEnter: /* @ngInject */ (atInternet) => { + atInternet.trackPage({ + name: TRACKING_AGREEMENTS_PAGE_NAME, + page_category: TRACKING_PAGE_CATEGORY, + }); + }, resolve: { gotoAcceptAllAgreements: /* @ngInject */ ($state, atInternet) => ( agreements, diff --git a/packages/manager/modules/billing/src/autoRenew/autorenew.constants.js b/packages/manager/modules/billing/src/autoRenew/autorenew.constants.js index f7f4252f026c..ed5d9d24eeea 100644 --- a/packages/manager/modules/billing/src/autoRenew/autorenew.constants.js +++ b/packages/manager/modules/billing/src/autoRenew/autorenew.constants.js @@ -75,6 +75,22 @@ export const SERVICE_STATUS = { export const URL_PARAMETER_SEPARATOR = '%20'; +const TRACKING_CHAPTER_1 = 'Hub'; +const TRACKING_CHAPTER_2 = 'billing'; +const TRACKING_CHAPTER_3 = 'services'; + +const TRACKING_PAGE_SUFFIX = 'services::listing::autorenew'; +export const TRACKING_PAGE_CATEGORY = 'listing'; +export const TRACKING_PAGE = `${TRACKING_CHAPTER_1}::${TRACKING_CHAPTER_2}::${TRACKING_CHAPTER_3}::${TRACKING_PAGE_SUFFIX}`; +export const TRACKING_FILTER_NAME_PREFIX = + 'Hub::billing::services::listing::button::filter_services'; + +export const TRACKING_AUTORENEW_PAGE_NAME = `Hub::billing::services::services::listing::autorenew`; +export const TRACKING_SSH_PAGE_NAME = `${TRACKING_AUTORENEW_PAGE_NAME}::ssh`; +export const TRACKING_AGREEMENTS_PAGE_NAME = `${TRACKING_AUTORENEW_PAGE_NAME}::agreements`; + +export const TRACKING_ACTIONS_PREFIX = `${TRACKING_CHAPTER_1}::${TRACKING_CHAPTER_2}::${TRACKING_CHAPTER_3}::${TRACKING_PAGE_CATEGORY}`; + export default { AUTORENEW_EVENT, CONTRACTS_IDS, diff --git a/packages/manager/modules/billing/src/autoRenew/autorenew.controller.js b/packages/manager/modules/billing/src/autoRenew/autorenew.controller.js index bbb40e667da8..161185fa93a2 100644 --- a/packages/manager/modules/billing/src/autoRenew/autorenew.controller.js +++ b/packages/manager/modules/billing/src/autoRenew/autorenew.controller.js @@ -10,6 +10,10 @@ import { COLUMNS_CONFIG, NIC_ALL, URL_PARAMETER_SEPARATOR, + TRACKING_FILTER_NAME_PREFIX, + TRACKING_PAGE_CATEGORY, + TRACKING_PAGE, + TRACKING_ACTIONS_PREFIX, } from './autorenew.constants'; export default class AutorenewCtrl { @@ -35,6 +39,10 @@ export default class AutorenewCtrl { } $onInit() { + this.trackingPage = TRACKING_PAGE; + this.trackingCategory = TRACKING_PAGE_CATEGORY; + this.trackingActionsPrefix = TRACKING_ACTIONS_PREFIX; + this.ALIGNMENT_URL = this.coreConfig.isRegion('EU') ? ALIGNMENT_URLS[this.currentUser.ovhSubsidiary] || ALIGNMENT_URLS.FR : null; @@ -86,6 +94,7 @@ export default class AutorenewCtrl { this.hideHeaderGuide = Object.keys(this.guides.url.my_services).length === 0; } + this.currentCriteria = JSON.parse(JSON.stringify(this.criteria)); } descriptionOfHeading() { @@ -198,6 +207,13 @@ export default class AutorenewCtrl { } onCriteriaChange($criteria) { + const newCriteria = $criteria.find( + (f) => + !this.currentCriteria.some( + (s) => s.property === f.property && s.value === f.value, + ), + ); + const selectedType = find($criteria, { property: 'serviceType' }); const searchText = find($criteria, { property: null }); const filters = reduce( @@ -215,6 +231,17 @@ export default class AutorenewCtrl { {}, ); + if (newCriteria) { + this.atInternet.trackClick({ + name: `${TRACKING_FILTER_NAME_PREFIX}::go-to-${newCriteria.property?.toLowerCase()}-${newCriteria.value?.toLowerCase()}::service`, + type: 'action', + page_category: TRACKING_PAGE_CATEGORY, + page: { + name: TRACKING_PAGE, + }, + }); + } + this.onListParamChanges({ filters: JSON.stringify(filters), selectedType: get(selectedType, 'value'), diff --git a/packages/manager/modules/billing/src/autoRenew/autorenew.html b/packages/manager/modules/billing/src/autoRenew/autorenew.html index 9382d7964fc9..bcd8b6868ebc 100644 --- a/packages/manager/modules/billing/src/autoRenew/autorenew.html +++ b/packages/manager/modules/billing/src/autoRenew/autorenew.html @@ -76,7 +76,11 @@

- + +
@@ -236,6 +240,8 @@ > diff --git a/packages/manager/modules/billing/src/autoRenew/autorenew.routing.js b/packages/manager/modules/billing/src/autoRenew/autorenew.routing.js index b38e9567aee5..5a58546718ac 100644 --- a/packages/manager/modules/billing/src/autoRenew/autorenew.routing.js +++ b/packages/manager/modules/billing/src/autoRenew/autorenew.routing.js @@ -5,7 +5,11 @@ import range from 'lodash/range'; import { BillingService } from '@ovh-ux/manager-models'; -import { NIC_ALL } from './autorenew.constants'; +import { + NIC_ALL, + TRACKING_AUTORENEW_PAGE_NAME, + TRACKING_PAGE_CATEGORY, +} from './autorenew.constants'; export default /* @ngInject */ ($stateProvider, coreConfigProvider) => { $stateProvider.state('app.account.billing.autorenewRedirection', { @@ -243,6 +247,15 @@ export default /* @ngInject */ ($stateProvider, coreConfigProvider) => { } : {}, ), + atInternet: { + ignore: true, + }, + onEnter: /* @ngInject */ (atInternet) => { + atInternet.trackPage({ + name: TRACKING_AUTORENEW_PAGE_NAME, + page_category: TRACKING_PAGE_CATEGORY, + }); + }, redirectTo: (transition) => transition .injector() diff --git a/packages/manager/modules/billing/src/autoRenew/ssh/ssh.routing.js b/packages/manager/modules/billing/src/autoRenew/ssh/ssh.routing.js index 8f37c75238b8..1eb56b9c262a 100644 --- a/packages/manager/modules/billing/src/autoRenew/ssh/ssh.routing.js +++ b/packages/manager/modules/billing/src/autoRenew/ssh/ssh.routing.js @@ -1,5 +1,9 @@ import controller from './user-ssh.controller'; import template from './user-ssh.html'; +import { + TRACKING_SSH_PAGE_NAME, + TRACKING_PAGE_CATEGORY, +} from '../autorenew.constants'; export default /* @ngInject */ ($stateProvider) => { $stateProvider.state('app.account.billing.autorenew.ssh', { @@ -7,6 +11,15 @@ export default /* @ngInject */ ($stateProvider) => { template, controller, controllerAs: 'ctrlSsh', + atInternet: { + ignore: true, + }, + onEnter: /* @ngInject */ (atInternet) => { + atInternet.trackPage({ + name: TRACKING_SSH_PAGE_NAME, + page_category: TRACKING_PAGE_CATEGORY, + }); + }, resolve: { breadcrumb: /* @ngInject */ ($translate) => $translate.instant('user_ssh_title'), diff --git a/packages/manager/modules/bm-server-components/src/server-dashboard/dashboard.component.js b/packages/manager/modules/bm-server-components/src/server-dashboard/dashboard.component.js index 911ed5bb4eef..995c3c77e7c5 100644 --- a/packages/manager/modules/bm-server-components/src/server-dashboard/dashboard.component.js +++ b/packages/manager/modules/bm-server-components/src/server-dashboard/dashboard.component.js @@ -30,6 +30,9 @@ export default { specifications: '<', technicalDetails: '<', trackingPrefix: '<', + trackingPage: '<', + trackingSubscriptionPrefix: '<', + trackingNameSuffix: '<', trafficInformation: '<', user: '<', vrackInfos: '<', diff --git a/packages/manager/modules/bm-server-components/src/server-dashboard/dashboard.html b/packages/manager/modules/bm-server-components/src/server-dashboard/dashboard.html index a3802800e0ce..61f95345c5a5 100644 --- a/packages/manager/modules/bm-server-components/src/server-dashboard/dashboard.html +++ b/packages/manager/modules/bm-server-components/src/server-dashboard/dashboard.html @@ -108,7 +108,9 @@ go-to-resiliation="$ctrl.goToResiliation()" service-infos="$ctrl.serviceInfos" highlight-engagement="$ctrl.server.shouldReengage" - tracking-prefix="{{:: 'dedicated::' + $ctrl.trackingPrefix }}" + tracking-prefix="{{ $ctrl.trackingSubscriptionPrefix }}" + data-tracking-page="{{ $ctrl.trackingPage }}" + data-tracking-name-suffix="{{ $ctrl.trackingNameSuffix }}" user="$ctrl.user" commit-impression-data="$ctrl.server.shouldReengage ? $ctrl.RECOMMIT_IMPRESSION_TRACKING_DATA : @@ -170,7 +172,9 @@ go-to-resiliation="$ctrl.goToResiliation()" service-infos="$ctrl.serviceInfos" highlight-engagement="$ctrl.server.shouldReengage" - tracking-prefix="{{:: 'dedicated::' + $ctrl.trackingPrefix }}" + tracking-prefix="{{ $ctrl.trackingSubscriptionPrefix }}" + data-tracking-page="{{ $ctrl.trackingPage }}" + data-tracking-name-suffix="{{ $ctrl.trackingNameSuffix }}" user="$ctrl.user" commit-impression-data="$ctrl.server.shouldReengage ? $ctrl.RECOMMIT_IMPRESSION_TRACKING_DATA : diff --git a/packages/manager/modules/nasha/src/dashboard/dashboard.template.html b/packages/manager/modules/nasha/src/dashboard/dashboard.template.html index 728ae204ae21..78c68646ddc8 100644 --- a/packages/manager/modules/nasha/src/dashboard/dashboard.template.html +++ b/packages/manager/modules/nasha/src/dashboard/dashboard.template.html @@ -143,7 +143,9 @@ service-infos="$ctrl.serviceInfo" service-path="{{:: $ctrl.nashaApiUrl }}" with-engagement="$ctrl.isCommitmentAvailable" - tracking-prefix="nasha::dashboard" + tracking-prefix="Storage_backup::storage_backup::nasha" + data-tracking-page="Storage_backup::storage_backup::nasha::nasha::dashboard::general-information" + data-tracking-name-suffix="nasha" commit-impression-data=":: $ctrl.shouldReengage() ? $ctrl.RECOMMIT_IMPRESSION_TRACKING_DATA : $ctrl.COMMIT_IMPRESSION_TRACKING_DATA" diff --git a/packages/manager/modules/netapp/src/dashboard/index/template.html b/packages/manager/modules/netapp/src/dashboard/index/template.html index 9b4c948986e1..a991ebf949b7 100644 --- a/packages/manager/modules/netapp/src/dashboard/index/template.html +++ b/packages/manager/modules/netapp/src/dashboard/index/template.html @@ -194,7 +194,9 @@ on-error="$ctrl.onBillingInformationError(error)" service-path="{{ ::'/storage/netapp/' + $ctrl.storage.id }}" with-engagement="$ctrl.isCommitmentAvailable" - tracking-prefix="netapp::dashboard" + tracking-prefix="Storage_backup::storage_backup::netapp" + tracking-page="Storage_backup::storage_backup::netapp::netapp::dashboard::general-information" + tracking-name-suffix="netapp" commit-impression-data=":: $ctrl.commitImpressionData" > diff --git a/packages/manager/modules/nutanix/src/dashboard/general-info/template.html b/packages/manager/modules/nutanix/src/dashboard/general-info/template.html index 5c26c669c24d..8806ba3b6c3c 100644 --- a/packages/manager/modules/nutanix/src/dashboard/general-info/template.html +++ b/packages/manager/modules/nutanix/src/dashboard/general-info/template.html @@ -250,7 +250,9 @@ go-to-resiliation="$ctrl.goToResiliation()" service-infos="$ctrl.serviceInfo" user="$ctrl.user" - tracking-prefix="{{ ::$ctrl.trackingPrefix }}" + tracking-prefix="Enterprise_solutions::nutanix::nutanix" + tracking-page="Enterprise_solutions::nutanix::nutanix::nutanix::dashboard::general-information" + tracking-name-suffix="nutanix" > diff --git a/packages/manager/modules/vps/src/dashboard/vps-dashboard.controller.js b/packages/manager/modules/vps/src/dashboard/vps-dashboard.controller.js index c247d9c7abbf..fea38fae90f3 100644 --- a/packages/manager/modules/vps/src/dashboard/vps-dashboard.controller.js +++ b/packages/manager/modules/vps/src/dashboard/vps-dashboard.controller.js @@ -90,6 +90,12 @@ export default class { }); } + static getSimpleRangeName(rangeFullName) { + const rangesKeys = Object.values(RANGES).join('|'); + const [simpleRangeName] = rangeFullName.match(new RegExp(rangesKeys, 'i')); + return simpleRangeName?.toLocaleLowerCase(); + } + canBeMigrated() { return this.vpsMigration?.status === MIGRATION_STATUS.AVAILABLE; } @@ -100,6 +106,16 @@ export default class { ); } + getTrackingProductLine() { + if (this.stateVps?.model?.name) { + const model = this.constructor.getSimpleRangeName( + this.stateVps?.model?.name, + ); + return `vps_${model}`; + } + return ''; + } + getRangeCompareLink() { return ( VPS_RANGE_COMPARE_LINKS[this.coreConfig.getUser()?.ovhSubsidiary] || diff --git a/packages/manager/modules/vps/src/dashboard/vps-dashboard.html b/packages/manager/modules/vps/src/dashboard/vps-dashboard.html index b82689a59f1a..d8d46795c5ac 100644 --- a/packages/manager/modules/vps/src/dashboard/vps-dashboard.html +++ b/packages/manager/modules/vps/src/dashboard/vps-dashboard.html @@ -640,7 +640,9 @@ go-to-resiliation="$ctrl.goToResiliation()" service-infos="$ctrl.serviceInfo" highlight-engagement="$ctrl.shouldReengage" - tracking-prefix="{{ ::$ctrl.trackingPrefix }}" + tracking-prefix="{{ ::'VPS::vps::' + $ctrl.getTrackingProductLine() }}" + tracking-page="{{ 'VPS::vps::'+ $ctrl.getTrackingProductLine() + '::' + $ctrl.getTrackingProductLine() + '::dashboard::general-information' }}" + tracking-name-suffix="{{ $ctrl.getTrackingProductLine() }}" user="$ctrl.connectedUser" commit-impression-data="$ctrl.shouldReengage ? $ctrl.RECOMMIT_IMPRESSION_TRACKING_DATA : diff --git a/packages/manager/modules/web-paas/src/details/service/service.html b/packages/manager/modules/web-paas/src/details/service/service.html index cace3c3a0182..053a0b32c606 100644 --- a/packages/manager/modules/web-paas/src/details/service/service.html +++ b/packages/manager/modules/web-paas/src/details/service/service.html @@ -172,7 +172,9 @@ user="$ctrl.user" with-contact-management="false" disable-service-actions="!$ctrl.isAdmin()" - tracking-prefix="web-paas::project-dashboard" + tracking-prefix="Web_paas::web-paas::web-paas" + tracking-page="Web_paas::web-paas::web-paas::web-paas::dashboard::general-information" + tracking-name-suffix="web-paas" > From c79000025d6b5db56c0099b1da3c09bdc6ffd32a Mon Sep 17 00:00:00 2001 From: CDS Translator Agent Date: Wed, 18 Dec 2024 09:10:46 +0000 Subject: [PATCH 08/11] fix(i18n): add missing translations [CDS 3568] Signed-off-by: CDS Translator Agent --- .../translations/Messages_de_DE.json | 21 +++++++++++------ .../translations/Messages_en_GB.json | 21 +++++++++++------ .../translations/Messages_es_ES.json | 21 +++++++++++------ .../translations/Messages_fr_CA.json | 23 +++++++++++++------ .../translations/Messages_it_IT.json | 21 +++++++++++------ .../translations/Messages_pl_PL.json | 21 +++++++++++------ .../translations/Messages_pt_PT.json | 21 +++++++++++------ 7 files changed, 100 insertions(+), 49 deletions(-) diff --git a/packages/manager/modules/billing/src/autoRenew/translations/Messages_de_DE.json b/packages/manager/modules/billing/src/autoRenew/translations/Messages_de_DE.json index 0a65c86733ac..78eb4e834da8 100644 --- a/packages/manager/modules/billing/src/autoRenew/translations/Messages_de_DE.json +++ b/packages/manager/modules/billing/src/autoRenew/translations/Messages_de_DE.json @@ -1,7 +1,7 @@ { - "billing_title": "Meine Dienste", - "billing_description": "Verwalten Sie die Verlängerung Ihrer Dienste. Überprüfen Sie den Zustand Ihrer Dienste und Ihre Verträge.", - "billing_home_title": "Start", + "billing_title": "Verwaltung meiner Angebote und Dienste", + "billing_description": "Willkommen bei der DIENSTVERWALTUNG. Verwalten Sie die Verlängerung, Zahlung und Kündigung Ihrer Dienste über diese Seite.", + "billing_home_title": "Alle Dienste", "billing_agreements_title": "Verträge", "billing_ssh_title": "SSH-Schlüssel", "billing_autorenew_service_disable_autorenew": "Automatische Zahlung deaktivieren", @@ -14,7 +14,7 @@ "billing_autorenew_service_status_manual": "Manuelle Verlängerung", "billing_autorenew_service_status_manualPayment": "Manuelle Verlängerung", "billing_autorenew_service_status_pending_debt": "Ausstehende Rechnung", - "billing_autorenew_service_status_delete_at_expiration": "Kündigung angefordert", + "billing_autorenew_service_status_delete_at_expiration": "Kündigung geplant", "billing_autorenew_service_status_expired": "Gekündigt", "billing_autorenew_service_expiration_weeks": "Läuft in einer Woche ab", "billing_autorenew_service_expiration_months": "Läuft in einem Monat ab", @@ -27,8 +27,8 @@ "billing_autorenew_nic_all": "Alle", "autorenew_service_deleteAtExpiration_banner": "Die Kündigung am Ablaufdatum des Dienstes „{{ serviceName }}\" wurde erfolgreich eingeplant. Sie können diesen Vorgang bis zu 24 Stunden vor dem Ablaufdatum des Dienstes abbrechen.", "autorenew_service_deleteAtExpiration_banner_cancel": "Kündigung am Ablaufdatum stornieren", - "billing_autorenew_service": "Dienst", - "billing_autorenew_service_name": "Name des Dienstes", + "billing_autorenew_service": "Typ", + "billing_autorenew_service_name": "Dienst", "billing_autorenew_service_state_EXPIRED": "Geschlossen", "billing_autorenew_service_state_UP": "Aktiv", "billing_autorenew_service_state_IN_CREATION": "Wird erstellt", @@ -156,5 +156,12 @@ "billing_autorenew_service_type_VRACK_SERVICES_RESOURCE": "vRack Services", "billing_autorenew_service_type_VMWARE_CLOUD_DIRECTOR_ORGANIZATION": "Managed VCD", "billing_autorenew_service_type_LICENSE_HYCU": "HYCU", - "billing_autorenew_service_type_VMWARE_CLOUD_DIRECTOR_BACKUP": "Managed Veeam for VCD" + "billing_autorenew_service_type_VMWARE_CLOUD_DIRECTOR_BACKUP": "Managed Veeam for VCD", + "billing_autorenew_service_frequency": "Verlängerungsintervall", + "billing_autorenew_service_none": "Keine", + "billing_autorenew_service_every_1_month": "Jeden Monat", + "billing_autorenew_service_every_3_month": "Alle 3 Monate", + "billing_autorenew_service_every_6_month": "Alle 6 Monate", + "billing_autorenew_service_every_12_month": "Jedes Jahr", + "billing_autorenew_engagement_none": "Ohne Vertragsbindung" } diff --git a/packages/manager/modules/billing/src/autoRenew/translations/Messages_en_GB.json b/packages/manager/modules/billing/src/autoRenew/translations/Messages_en_GB.json index 11dd101c9f58..955e7eb2a6d0 100644 --- a/packages/manager/modules/billing/src/autoRenew/translations/Messages_en_GB.json +++ b/packages/manager/modules/billing/src/autoRenew/translations/Messages_en_GB.json @@ -1,7 +1,7 @@ { - "billing_title": "My services", - "billing_description": "Manage renewal for your services. View their status and your contracts.", - "billing_home_title": "Home", + "billing_title": "Manage my solutions and services", + "billing_description": "Welcome to your SERVICE MANAGEMENT section. Manage all your service renewals, payments, and cancellations on this page.", + "billing_home_title": "All services", "billing_agreements_title": "Contracts", "billing_ssh_title": "SSH keys", "billing_autorenew_service_disable_autorenew": "Disable automatic payment", @@ -14,7 +14,7 @@ "billing_autorenew_service_status_manual": "Manual renewal", "billing_autorenew_service_status_manualPayment": "Manual renewal", "billing_autorenew_service_status_pending_debt": "Bill to pay", - "billing_autorenew_service_status_delete_at_expiration": "Termination requested", + "billing_autorenew_service_status_delete_at_expiration": "Cancellation scheduled", "billing_autorenew_service_status_expired": "Terminated", "billing_autorenew_service_expiration_weeks": "Expires in a week", "billing_autorenew_service_expiration_months": "Expires in a month", @@ -27,8 +27,8 @@ "billing_autorenew_nic_all": "All", "autorenew_service_deleteAtExpiration_banner": "Cancellation on expiry for the {{ serviceName }} service has been processed. You can change your mind and reverse this operation up to 24 hours before the service is due to expire.", "autorenew_service_deleteAtExpiration_banner_cancel": "Cancel termination on expiry", - "billing_autorenew_service": "Service", - "billing_autorenew_service_name": "Service name", + "billing_autorenew_service": "Type", + "billing_autorenew_service_name": "Service", "billing_autorenew_service_state_EXPIRED": "Suspended", "billing_autorenew_service_state_UP": "Active", "billing_autorenew_service_state_IN_CREATION": "Creating", @@ -156,5 +156,12 @@ "billing_autorenew_service_type_VRACK_SERVICES_RESOURCE": "vRack Services", "billing_autorenew_service_type_VMWARE_CLOUD_DIRECTOR_ORGANIZATION": "Managed VCD", "billing_autorenew_service_type_LICENSE_HYCU": "HYCU", - "billing_autorenew_service_type_VMWARE_CLOUD_DIRECTOR_BACKUP": "Managed Veeam for VCD" + "billing_autorenew_service_type_VMWARE_CLOUD_DIRECTOR_BACKUP": "Managed Veeam for VCD", + "billing_autorenew_service_frequency": "Renewal frequency", + "billing_autorenew_service_none": "None", + "billing_autorenew_service_every_1_month": "Every month", + "billing_autorenew_service_every_3_month": "Every 3 months", + "billing_autorenew_service_every_6_month": "Every 6 months", + "billing_autorenew_service_every_12_month": "Every year", + "billing_autorenew_engagement_none": "No commitment" } diff --git a/packages/manager/modules/billing/src/autoRenew/translations/Messages_es_ES.json b/packages/manager/modules/billing/src/autoRenew/translations/Messages_es_ES.json index 0c631f7a3916..84707120dd63 100644 --- a/packages/manager/modules/billing/src/autoRenew/translations/Messages_es_ES.json +++ b/packages/manager/modules/billing/src/autoRenew/translations/Messages_es_ES.json @@ -1,7 +1,7 @@ { - "billing_title": "Mis servicios", - "billing_description": "Gestione la renovación de sus servicios. Consulte el estado de sus servicios y los contratos asociados.", - "billing_home_title": "Inicio", + "billing_title": "Gestión de mis soluciones y servicios", + "billing_description": "Bienvenido/a a la sección GESTIÓN DE SERVICIOS. Gestione la renovación, el pago y la baja de sus servicios desde esta página.", + "billing_home_title": "Todos los servicios", "billing_agreements_title": "Contratos", "billing_ssh_title": "Llaves SSH", "billing_autorenew_service_disable_autorenew": "Desactivar el pago automático", @@ -14,7 +14,7 @@ "billing_autorenew_service_status_manual": "Renovación manual", "billing_autorenew_service_status_manualPayment": "Renovación manual", "billing_autorenew_service_status_pending_debt": "Factura pendiente", - "billing_autorenew_service_status_delete_at_expiration": "Baja solicitada", + "billing_autorenew_service_status_delete_at_expiration": "Baja programada", "billing_autorenew_service_status_expired": "Dado de baja", "billing_autorenew_service_expiration_weeks": "Expiración en una semana ", "billing_autorenew_service_expiration_months": "Expiración en un mes ", @@ -27,8 +27,8 @@ "billing_autorenew_nic_all": "Todos", "autorenew_service_deleteAtExpiration_banner": "La solicitud de baja en la fecha de expiración del servicio {{ serviceName }} se ha enviado. Puede anular esta operación hasta 24 horas antes de la expiración del servicio.", "autorenew_service_deleteAtExpiration_banner_cancel": "Cancelar la baja en la fecha de expiración", - "billing_autorenew_service": "Servicio", - "billing_autorenew_service_name": "Nombre del servicio", + "billing_autorenew_service": "Tipo", + "billing_autorenew_service_name": "Servicio", "billing_autorenew_service_state_EXPIRED": "Suspendido", "billing_autorenew_service_state_UP": "Activo", "billing_autorenew_service_state_IN_CREATION": "Creando...", @@ -156,5 +156,12 @@ "billing_autorenew_service_type_VRACK_SERVICES_RESOURCE": "vRack Services", "billing_autorenew_service_type_VMWARE_CLOUD_DIRECTOR_ORGANIZATION": "Managed VCD", "billing_autorenew_service_type_LICENSE_HYCU": "HYCU", - "billing_autorenew_service_type_VMWARE_CLOUD_DIRECTOR_BACKUP": "Managed Veeam for VCD" + "billing_autorenew_service_type_VMWARE_CLOUD_DIRECTOR_BACKUP": "Managed Veeam for VCD", + "billing_autorenew_service_frequency": "Frecuencia de renovación", + "billing_autorenew_service_none": "Ninguno/a", + "billing_autorenew_service_every_1_month": "Todos los meses", + "billing_autorenew_service_every_3_month": "Cada 3 meses", + "billing_autorenew_service_every_6_month": "Cada 6 meses", + "billing_autorenew_service_every_12_month": "Todos los años", + "billing_autorenew_engagement_none": "Sin compromiso" } diff --git a/packages/manager/modules/billing/src/autoRenew/translations/Messages_fr_CA.json b/packages/manager/modules/billing/src/autoRenew/translations/Messages_fr_CA.json index 6ea5f7c6697d..e8e32e36e602 100644 --- a/packages/manager/modules/billing/src/autoRenew/translations/Messages_fr_CA.json +++ b/packages/manager/modules/billing/src/autoRenew/translations/Messages_fr_CA.json @@ -1,7 +1,7 @@ { - "billing_title": "Mes services", - "billing_description": "Gérez le renouvellement de vos services. Consultez leur statut ainsi que vos contrats.", - "billing_home_title": "Accueil", + "billing_title": "Gestion de mes offres et services", + "billing_description": "Bienvenue dans votre section GESTION DES SERVICES. Administrez le renouvellement, le paiement et la résiliation de vos services depuis cette page.", + "billing_home_title": "Tous les services", "billing_agreements_title": "Contrats", "billing_ssh_title": "Clés SSH", "billing_autorenew_service_disable_autorenew": "Désactiver le paiement automatique", @@ -14,7 +14,7 @@ "billing_autorenew_service_status_manual": "Renouvellement manuel", "billing_autorenew_service_status_manualPayment": "Renouvellement manuel", "billing_autorenew_service_status_pending_debt": "Facture à régler", - "billing_autorenew_service_status_delete_at_expiration": "Résiliation demandée", + "billing_autorenew_service_status_delete_at_expiration": "Résiliation programmée", "billing_autorenew_service_status_expired": "Résilié", "billing_autorenew_service_expiration_weeks": "Expirant dans une semaine", "billing_autorenew_service_expiration_months": "Expirant dans un mois", @@ -30,8 +30,8 @@ "autorenew_service_deleteAtExpiration_banner": "La résiliation à l’expiration du service « {{ serviceName }} » a bien été prise en compte. Vous pouvez annuler cette opération jusqu’à 24 heures avant expiration du service.", "autorenew_service_deleteAtExpiration_banner_cancel": "Annuler la resiliation à l’expiration", - "billing_autorenew_service": "Service", - "billing_autorenew_service_name": "Nom du service", + "billing_autorenew_service": "Type", + "billing_autorenew_service_name": "Service", "billing_autorenew_service_state_EXPIRED": "Suspendu", "billing_autorenew_service_state_UP": "Actif", @@ -162,5 +162,14 @@ "billing_autorenew_renew_action": "Renouveler", "billing_autorenew_service_renew_requires_mean_and_date": "Afin de finaliser l'activation du renouvellement automatique, veuillez ajouter un moyen de paiement et ensuite il vous sera possible de sélectionner votre date de prélèvement.", "billing_autorenew_service_activate_alert": "Vous avez au moins un service en renouvellement automatique mais vous n'avez pas encore autorisé cette option.", - "billing_autorenew_service_activate_alert_renew2016": "Ce message ne concerne pas les services Bare Metal et VPS." + "billing_autorenew_service_activate_alert_renew2016": "Ce message ne concerne pas les services Bare Metal et VPS.", + + "billing_autorenew_service_frequency": "Fréquence de renouvellement", + + "billing_autorenew_service_none": "Aucun", + "billing_autorenew_service_every_1_month": "Tous les mois", + "billing_autorenew_service_every_3_month": "Tous les 3 mois", + "billing_autorenew_service_every_6_month": "Tous les 6 mois", + "billing_autorenew_service_every_12_month": "Tous les ans", + "billing_autorenew_engagement_none": "Sans engagement" } diff --git a/packages/manager/modules/billing/src/autoRenew/translations/Messages_it_IT.json b/packages/manager/modules/billing/src/autoRenew/translations/Messages_it_IT.json index 31dd895c37be..de306b07703c 100644 --- a/packages/manager/modules/billing/src/autoRenew/translations/Messages_it_IT.json +++ b/packages/manager/modules/billing/src/autoRenew/translations/Messages_it_IT.json @@ -1,7 +1,7 @@ { - "billing_title": "I tuoi servizi", - "billing_description": "Gestisci il rinnovo delle tue soluzioni. Consulta lo stato dei servizi e i tuoi contratti.", - "billing_home_title": "Home page", + "billing_title": "Gestione delle mie offerte e servizi", + "billing_description": "Benvenuto nella sezione GESTIONE DEI SERVIZI. Da questa pagina puoi amministrare il rinnovo, il pagamento e la disattivazione dei tuoi servizi.", + "billing_home_title": "Tutti i servizi", "billing_agreements_title": "Contratti", "billing_ssh_title": "Chiavi SSH", "billing_autorenew_service_disable_autorenew": "Disattiva il pagamento automatico", @@ -14,7 +14,7 @@ "billing_autorenew_service_status_manual": "Rinnovo manuale", "billing_autorenew_service_status_manualPayment": "Rinnovo manuale", "billing_autorenew_service_status_pending_debt": "Fatture da pagare", - "billing_autorenew_service_status_delete_at_expiration": "Disattivazione richiesta", + "billing_autorenew_service_status_delete_at_expiration": "Disattivazione programmata", "billing_autorenew_service_status_expired": "Disattivato", "billing_autorenew_service_expiration_weeks": "In scadenza tra una settimana", "billing_autorenew_service_expiration_months": "In scadenza tra un mese", @@ -27,8 +27,8 @@ "billing_autorenew_nic_all": "Tutti", "autorenew_service_deleteAtExpiration_banner": "La disattivazione del servizio {{ serviceName }} alla scadenza è stata presa in carico. È possibile annullare l'operazione entro 24 ore prima della data di scadenza.", "autorenew_service_deleteAtExpiration_banner_cancel": "Annulla la disattivazione del servizio alla data di scadenza", - "billing_autorenew_service": "Servizio", - "billing_autorenew_service_name": "Nome del servizio", + "billing_autorenew_service": "Tipo", + "billing_autorenew_service_name": "Servizio", "billing_autorenew_service_state_EXPIRED": "Sospeso", "billing_autorenew_service_state_UP": "Attivo", "billing_autorenew_service_state_IN_CREATION": "In corso di creazione", @@ -156,5 +156,12 @@ "billing_autorenew_service_type_VRACK_SERVICES_RESOURCE": "vRack Services", "billing_autorenew_service_type_VMWARE_CLOUD_DIRECTOR_ORGANIZATION": "Managed VCD", "billing_autorenew_service_type_LICENSE_HYCU": "HYCU", - "billing_autorenew_service_type_VMWARE_CLOUD_DIRECTOR_BACKUP": "Managed Veeam for VCD" + "billing_autorenew_service_type_VMWARE_CLOUD_DIRECTOR_BACKUP": "Managed Veeam for VCD", + "billing_autorenew_service_frequency": "Frequenza di rinnovo", + "billing_autorenew_service_none": "Nessuna", + "billing_autorenew_service_every_1_month": "Ogni mese", + "billing_autorenew_service_every_3_month": "Ogni 3 mesi", + "billing_autorenew_service_every_6_month": "Ogni 6 mesi", + "billing_autorenew_service_every_12_month": "Ogni anno", + "billing_autorenew_engagement_none": "Senza impegno contrattuale" } diff --git a/packages/manager/modules/billing/src/autoRenew/translations/Messages_pl_PL.json b/packages/manager/modules/billing/src/autoRenew/translations/Messages_pl_PL.json index fd2658ade012..f5820e77dc0f 100644 --- a/packages/manager/modules/billing/src/autoRenew/translations/Messages_pl_PL.json +++ b/packages/manager/modules/billing/src/autoRenew/translations/Messages_pl_PL.json @@ -1,7 +1,7 @@ { - "billing_title": "Moje usługi", - "billing_description": "Zarządzaj odnawianiem usług. Sprawdź ich status oraz umowy.", - "billing_home_title": "Strona główna", + "billing_title": "Zarządzanie rozwiązaniami i usługami", + "billing_description": "Witamy w sekcji ZARZĄDZANIE USŁUGAMI. Zarządzaj odnawianiem, płatnościami i rezygnacją z usług na tej stronie.", + "billing_home_title": "Wszystkie usługi", "billing_agreements_title": "Regulaminy", "billing_ssh_title": "Klucze SSH", "billing_autorenew_service_disable_autorenew": "Wyłącz płatność automatyczną", @@ -14,7 +14,7 @@ "billing_autorenew_service_status_manual": "Odnowienie ręczne", "billing_autorenew_service_status_manualPayment": "Odnowienie ręczne", "billing_autorenew_service_status_pending_debt": "Płatność do uregulowania", - "billing_autorenew_service_status_delete_at_expiration": "Złożona rezygnacja", + "billing_autorenew_service_status_delete_at_expiration": "Planowane zakończenie usługi", "billing_autorenew_service_status_expired": "Anulowany", "billing_autorenew_service_expiration_weeks": "Usługi wygasające w ciągu tygodnia", "billing_autorenew_service_expiration_months": "Usługi wygasające w ciągu miesiąca", @@ -27,8 +27,8 @@ "billing_autorenew_nic_all": "Wszystkie", "autorenew_service_deleteAtExpiration_banner": "Zlecenie zakończenia usługi \"{{serviceName}}\" w dniu jej wygaśnięcia zostało zarejestrowane. Operację można anulować w terminie do 24 godzin przed wygaśnięciem usługi.", "autorenew_service_deleteAtExpiration_banner_cancel": "Anuluj rezygnację z usługi", - "billing_autorenew_service": "Usługa", - "billing_autorenew_service_name": "Nazwa usługi", + "billing_autorenew_service": "Typ", + "billing_autorenew_service_name": "Usługa", "billing_autorenew_service_state_EXPIRED": "Zawieszony", "billing_autorenew_service_state_UP": "Aktywny", "billing_autorenew_service_state_IN_CREATION": "Trwa tworzenie...", @@ -156,5 +156,12 @@ "billing_autorenew_service_type_VRACK_SERVICES_RESOURCE": "vRack Services", "billing_autorenew_service_type_VMWARE_CLOUD_DIRECTOR_ORGANIZATION": "Managed VCD", "billing_autorenew_service_type_LICENSE_HYCU": "HYCU", - "billing_autorenew_service_type_VMWARE_CLOUD_DIRECTOR_BACKUP": "Managed Veeam for VCD" + "billing_autorenew_service_type_VMWARE_CLOUD_DIRECTOR_BACKUP": "Managed Veeam for VCD", + "billing_autorenew_service_frequency": "Częstotliwość odnawiania", + "billing_autorenew_service_none": "Brak", + "billing_autorenew_service_every_1_month": "Co miesiąc", + "billing_autorenew_service_every_3_month": "Co 3 miesiące", + "billing_autorenew_service_every_6_month": "Co 6 miesięcy", + "billing_autorenew_service_every_12_month": "Co rok", + "billing_autorenew_engagement_none": "Bez umowy terminowej" } diff --git a/packages/manager/modules/billing/src/autoRenew/translations/Messages_pt_PT.json b/packages/manager/modules/billing/src/autoRenew/translations/Messages_pt_PT.json index 5484bddc01e6..43314cdb296b 100644 --- a/packages/manager/modules/billing/src/autoRenew/translations/Messages_pt_PT.json +++ b/packages/manager/modules/billing/src/autoRenew/translations/Messages_pt_PT.json @@ -1,7 +1,7 @@ { - "billing_title": "Serviços", - "billing_description": "Faça a gestão da renovação dos seus serviços. Consulte o seu estado bem como os seus contratos.", - "billing_home_title": "Página inicial", + "billing_title": "Gestão das minhas ofertas e serviços", + "billing_description": "Bem-vindo/a à secção GESTÃO DOS SERVIÇOS. Administre a renovação, o pagamento e a rescisão dos seus serviços nesta página.", + "billing_home_title": "Todos os serviços", "billing_agreements_title": "Contratos", "billing_ssh_title": "Chaves SSH", "billing_autorenew_service_disable_autorenew": "Desativar pagamento automático", @@ -14,7 +14,7 @@ "billing_autorenew_service_status_manual": "Renovação manual", "billing_autorenew_service_status_manualPayment": "Renovação manual", "billing_autorenew_service_status_pending_debt": "Fatura por pagar", - "billing_autorenew_service_status_delete_at_expiration": "Rescisão solicitada", + "billing_autorenew_service_status_delete_at_expiration": "Rescisão agendada", "billing_autorenew_service_status_expired": "Rescindido", "billing_autorenew_service_expiration_weeks": "Expira dentro de uma semana", "billing_autorenew_service_expiration_months": "Expira dentro de um mês", @@ -27,8 +27,8 @@ "billing_autorenew_nic_all": "Todos", "autorenew_service_deleteAtExpiration_banner": "A rescisão do serviço “{{ serviceName }}” foi registada com êxito. Pode anular esta operação até 24 horas antes da expiração do serviço.", "autorenew_service_deleteAtExpiration_banner_cancel": "Cancelar o pedido de rescisão na expiração", - "billing_autorenew_service": "Serviço", - "billing_autorenew_service_name": "Nome do serviço", + "billing_autorenew_service": "Tipo", + "billing_autorenew_service_name": "Serviço", "billing_autorenew_service_state_EXPIRED": "Suspenso", "billing_autorenew_service_state_UP": "Ativo", "billing_autorenew_service_state_IN_CREATION": "Criação em curso", @@ -156,5 +156,12 @@ "billing_autorenew_service_type_VRACK_SERVICES_RESOURCE": "vRack Services", "billing_autorenew_service_type_VMWARE_CLOUD_DIRECTOR_ORGANIZATION": "Managed VCD", "billing_autorenew_service_type_LICENSE_HYCU": "HYCU", - "billing_autorenew_service_type_VMWARE_CLOUD_DIRECTOR_BACKUP": "Managed Veeam for VCD" + "billing_autorenew_service_type_VMWARE_CLOUD_DIRECTOR_BACKUP": "Managed Veeam for VCD", + "billing_autorenew_service_frequency": "Frequência de renovação", + "billing_autorenew_service_none": "Nenhum", + "billing_autorenew_service_every_1_month": "Todos os meses", + "billing_autorenew_service_every_3_month": "A cada 3 meses", + "billing_autorenew_service_every_6_month": "A cada 6 meses", + "billing_autorenew_service_every_12_month": "Todos os anos", + "billing_autorenew_engagement_none": "Sem compromisso" } From 87079c26ced88166ee8b567ebc6c283006b89a25 Mon Sep 17 00:00:00 2001 From: Omar Date: Thu, 19 Dec 2024 10:59:46 +0100 Subject: [PATCH 09/11] fix(dedicated): fix show engagement none label (#14666) ref: MANAGER-15161 Signed-off-by: Omar ALKABOUSS MOUSSANA --- .../src/components/subscription-tile/subscription-tile.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/manager/modules/billing-components/src/components/subscription-tile/subscription-tile.html b/packages/manager/modules/billing-components/src/components/subscription-tile/subscription-tile.html index 249186bcc76c..5353f0dfeefa 100644 --- a/packages/manager/modules/billing-components/src/components/subscription-tile/subscription-tile.html +++ b/packages/manager/modules/billing-components/src/components/subscription-tile/subscription-tile.html @@ -19,8 +19,8 @@

From 9b6045ed1c5dbac056c9af97b8857127ddbf3d8c Mon Sep 17 00:00:00 2001 From: Omar Date: Thu, 19 Dec 2024 12:26:48 +0100 Subject: [PATCH 10/11] fix(dedicated): fix my services filter tracking (#14671) ref: MANAGER-16208 Signed-off-by: Omar ALKABOUSS MOUSSANA --- .../modules/billing/src/autoRenew/autorenew.controller.js | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/packages/manager/modules/billing/src/autoRenew/autorenew.controller.js b/packages/manager/modules/billing/src/autoRenew/autorenew.controller.js index 161185fa93a2..2f3c6c51c343 100644 --- a/packages/manager/modules/billing/src/autoRenew/autorenew.controller.js +++ b/packages/manager/modules/billing/src/autoRenew/autorenew.controller.js @@ -232,8 +232,13 @@ export default class AutorenewCtrl { ); if (newCriteria) { + const property = newCriteria.property + ? newCriteria.property.toLowerCase() + : 'search-text'; + const value = newCriteria.value?.toLowerCase(); + this.atInternet.trackClick({ - name: `${TRACKING_FILTER_NAME_PREFIX}::go-to-${newCriteria.property?.toLowerCase()}-${newCriteria.value?.toLowerCase()}::service`, + name: `${TRACKING_FILTER_NAME_PREFIX}::go-to-${property}-${value}::service`, type: 'action', page_category: TRACKING_PAGE_CATEGORY, page: { From 096f3ac4fa2eaebafd8fac4cb516fe2c457b052f Mon Sep 17 00:00:00 2001 From: Omar ALKABOUSS MOUSSANA Date: Fri, 20 Dec 2024 09:23:01 +0100 Subject: [PATCH 11/11] fix(dedicated): fix subscription tile after rebase ref: MANAGER-15161 Signed-off-by: Omar ALKABOUSS MOUSSANA --- .../subscription-tile/subscription-tile.html | 22 ++++++++++++++++--- .../translations/Messages_fr_FR.json | 1 - 2 files changed, 19 insertions(+), 4 deletions(-) diff --git a/packages/manager/modules/billing-components/src/components/subscription-tile/subscription-tile.html b/packages/manager/modules/billing-components/src/components/subscription-tile/subscription-tile.html index 5353f0dfeefa..dfda1550c469 100644 --- a/packages/manager/modules/billing-components/src/components/subscription-tile/subscription-tile.html +++ b/packages/manager/modules/billing-components/src/components/subscription-tile/subscription-tile.html @@ -69,18 +69,34 @@

+ +

+ + +

+
+