Skip to content

Commit

Permalink
Temp/release/webcollab w36 (#12971)
Browse files Browse the repository at this point in the history
* fix(i18n): add missing translations [CDS 3202] (#12565)

ref: PRB0040219

Signed-off-by: CDS Translator Agent <opensource@ovh.net>

* feat(domains): add domain status (#12720)

ref: MANAGER-14981

Signed-off-by: Julien Vaumoron <julien.vaumoron.ext@ovhcloud.com>

* feat(web): display ssh key only if private repo (#12876)

ref: MANAGER-14955

Signed-off-by: Antony MARION <antony.marion.ext@ovhcloud.com>

* feat(hosting.multisite): prevent action on main domain (#12198)

ref:WEB-18751

Signed-off-by: Lucas Chaigne <lucas.chaigne@ovhcloud.com>

* feat(telecom.pack): display adsl and vdsl accesses first (#12733)

ref: UXCT-608

Signed-off-by: Stephanie Moallic <stephanie.moallic@corp.ovh.com>

* feat(domains): process autorenew status  (#12588)

ref: MANAGER-14947

Signed-off-by: Julien Vaumoron <julien.vaumoron.ext@ovhcloud.com>
Co-authored-by:  CDS Translator Agent <opensource@ovh.net>

* feat(zimbra): project zimbra beta (#11715)

ref:MANAGER-13738

Signed-off-by: stif59100 <steeve.vanderstocken@ovhcloud.com>
  • Loading branch information
stif59100 authored Sep 6, 2024
1 parent 940c891 commit 42a9e41
Show file tree
Hide file tree
Showing 217 changed files with 6,775 additions and 473 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ export const webFeatures = [
'web-paas',
'cloud-web',
'cloud-database',
'zimbra'
];

export default function WebSidebar() {
Expand Down Expand Up @@ -154,6 +155,19 @@ export default function WebSidebar() {
});
}

if (features.zimbra) {
menu.push({
id: 'zimbra',
label: t('sidebar_zimbra'),
icon: getIcon('ovh-font ovh-font-mail'),
routeMatcher: new RegExp('^/zimbra'),
href: navigation.getURL(
'zimbra',
'#/',
),
});
}

if (features['email-pro']) {
menu.push({
id: 'emailPros',
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -122,8 +122,18 @@ webCloudUniverse.children = [
idAttr: 'emails-link',
universe: webCloudUniverse.id,
translation: 'sidebar_emails',
features: ['email-pro', 'emails:mxplan'],
features: ['email-pro', 'emails:mxplan', 'zimbra'],
children: [
{
id: 'zimbra',
translation: 'sidebar_zimbra',
routing: {
application: 'zimbra',
hash: '#/',
},
features: ['zimbra'],
count: false,
},
{
id: 'email-pro',
idAttr: 'email-pro-link',
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -194,8 +194,5 @@
"sidebar_back_menu": "Back to menu",
"sidebar_identity_security_operations": "Identity, Security &amp; Operations",
"sidebar_key-management-service": "Key Management Service",
"sidebar_pci_ai_dashboard": "AI Dashboard",
"sidebar_reduce": "Minimise",
"sidebar_security_operations": "Operations",
"sidebar_security_identity": "Identity and Security"
"sidebar_zimbra": "Zimbra"
}
Original file line number Diff line number Diff line change
Expand Up @@ -194,8 +194,5 @@
"sidebar_back_menu": "Volver al menú",
"sidebar_identity_security_operations": "Identidad, Seguridad y Operaciones",
"sidebar_key-management-service": "Key Management Service",
"sidebar_pci_ai_dashboard": "AI Dashboard",
"sidebar_reduce": "Minimizar",
"sidebar_security_operations": "Operaciones",
"sidebar_security_identity": "Identidad y seguridad"
"sidebar_zimbra": "Zimbra"
}
Original file line number Diff line number Diff line change
Expand Up @@ -187,7 +187,5 @@
"sidebar_network_security": "Network Security Dashboard",
"sidebar_identity_security_operations": "Identité, Sécurité & Opérations",
"sidebar_key-management-service": "Key Management Service",
"sidebar_reduce": "Réduire",
"sidebar_security_operations": "Opérations",
"sidebar_security_identity": "Identité et Sécurité"
"sidebar_zimbra": "Zimbra"
}
Original file line number Diff line number Diff line change
Expand Up @@ -187,7 +187,5 @@
"sidebar_network_security": "Network Security Dashboard",
"sidebar_identity_security_operations": "Identité, Sécurité & Opérations",
"sidebar_key-management-service": "Key Management Service",
"sidebar_reduce": "Réduire",
"sidebar_security_operations": "Opérations",
"sidebar_security_identity": "Identité et Sécurité"
"sidebar_zimbra": "Zimbra"
}
Original file line number Diff line number Diff line change
Expand Up @@ -194,8 +194,5 @@
"sidebar_back_menu": "Torna al menu",
"sidebar_identity_security_operations": "Identità, Sicurezza &amp; Operazioni",
"sidebar_key-management-service": "Key Management Service",
"sidebar_pci_ai_dashboard": "AI Dashboard",
"sidebar_reduce": "Riduci",
"sidebar_security_operations": "Operazioni",
"sidebar_security_identity": "Identità e sicurezza"
"sidebar_zimbra": "Zimbra"
}
Original file line number Diff line number Diff line change
Expand Up @@ -194,8 +194,5 @@
"sidebar_back_menu": "Powrót do menu",
"sidebar_identity_security_operations": "Tożsamość, Bezpieczeństwo I Operacje",
"sidebar_key-management-service": "Usługa zarządzania kluczami",
"sidebar_pci_ai_dashboard": "AI Dashboard",
"sidebar_reduce": "Zmniejsz",
"sidebar_security_operations": "Operacje",
"sidebar_security_identity": "Tożsamość i bezpieczeństwo"
"sidebar_zimbra": "Zimbra"
}
Original file line number Diff line number Diff line change
Expand Up @@ -194,8 +194,5 @@
"sidebar_back_menu": "Voltar ao menu",
"sidebar_identity_security_operations": "Identidade, Segurança e Operações",
"sidebar_key-management-service": "Key Management Service",
"sidebar_pci_ai_dashboard": "AI Dashboard",
"sidebar_reduce": "Reduzir",
"sidebar_security_operations": "Operações",
"sidebar_security_identity": "Identidade e Segurança"
"sidebar_zimbra": "Zimbra"
}
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,17 @@ import {

export default class XdslAccessListCtrl {
/* @ngInject */
constructor($q, coreURLBuilder, XdslAccessListService, TucToastError) {
constructor(
$filter,
$q,
$translate,
coreURLBuilder,
XdslAccessListService,
TucToastError,
) {
this.$filter = $filter;
this.$q = $q;
this.$translate = $translate;
this.coreURLBuilder = coreURLBuilder;
this.XdslAccessListService = XdslAccessListService;
this.TucToastError = TucToastError;
Expand All @@ -27,7 +36,7 @@ export default class XdslAccessListCtrl {
}

getServices() {
this.XdslAccessListService.getServices()
return this.XdslAccessListService.getServices()
.then((data) =>
this.buildServicesList(data || []).then((services) => {
this.services = services;
Expand All @@ -38,10 +47,47 @@ export default class XdslAccessListCtrl {
});
}

static sortList(list) {
const sorted = list.sort((a, b) => {
if (a.accessType < b.accessType) {
return -1;
}
if (a.accessType > b.accessType) {
return 1;
}

return 0;
});
return sorted;
}

static getSortedServiceList(services) {
// First group by ADSL and VDSL then others access type
const accessTypeGroupBy = Object.groupBy(services, ({ accessType }) => {
return [ACCESS_TYPE.adsl, ACCESS_TYPE.vdsl].includes(accessType)
? ELIGIBILITY.eligible
: ELIGIBILITY.not_eligible;
});

// Order each group and add them to the sorted services list
const sortedServicesList = [
...this.sortList(accessTypeGroupBy.eligible),
...this.sortList(accessTypeGroupBy.not_eligible),
];
return sortedServicesList;
}

buildServicesList(services) {
// Sort services to have ADSL and VDSL services in first positions
const sortedServices = this.constructor.getSortedServiceList(services);

// Retrieve service info for each service
const serviceList = services.map((service) => {
if (service.accessType !== this.ACCESS_TYPE.ftth) {
const serviceList = sortedServices.map((service) => {
if (
![this.ACCESS_TYPE.ftth, this.ACCESS_TYPE.sdsl].includes(
service.accessType,
)
) {
return this.XdslAccessListService.getFiberEligibilityList(
service.accessName,
).then((data) =>
Expand All @@ -54,6 +100,7 @@ export default class XdslAccessListCtrl {
}
return this.createService(service, this.ELIGIBILITY.not_concerned);
});

return this.$q.all(serviceList);
}

Expand All @@ -74,8 +121,24 @@ export default class XdslAccessListCtrl {
`#/pack/${packName}/migration`,
),
};
// Set closure date
newService.closureDate = this.$translate.instant(
'xdsl_access_list_not_concerned',
);
if (copperGridClosureTrajectory) {
newService.copperGridClosureTrajectory = copperGridClosureTrajectory;
if (migrationAvailable) {
if (copperGridClosureTrajectory.technicalClosureDate) {
newService.closureDate = this.$filter('date')(
copperGridClosureTrajectory.technicalClosureDate,
'shortDate',
);
} else {
newService.closureDate = this.$translate.instant(
'xdsl_access_list_not_available',
);
}
}
}
return newService;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@
<oui-datagrid-column
data-title="'xdsl_access_list_service_name' | translate"
data-property="accessName"
data-sortable="desc"
data-sortable
>
<div>
<a data-ng-href="{{ $row.accessLink }}">
Expand Down Expand Up @@ -65,20 +65,10 @@
</oui-datagrid-column>
<oui-datagrid-column
data-title="'xdsl_access_list_copper_closure_date' | translate"
data-property="closureDate"
data-sortable
>
<span
data-ng-if="$row.migrationAvailable === $ctrl.ELIGIBILITY.eligible && $row.copperGridClosureTrajectory.technicalClosureDate"
data-ng-bind="$row.copperGridClosureTrajectory.technicalClosureDate | date:'shortDate'"
>
</span>
<span
data-ng-if="$row.migrationAvailable === $ctrl.ELIGIBILITY.eligible && !$row.copperGridClosureTrajectory.technicalClosureDate"
data-translate="xdsl_access_list_not_available"
></span>
<span
data-ng-if="$row.migrationAvailable != $ctrl.ELIGIBILITY.eligible"
data-translate="xdsl_access_list_not_concerned"
></span>
<span data-ng-bind="$row.closureDate"></span>
</oui-datagrid-column>
<oui-datagrid-column
data-title="'xdsl_access_list_actions' | translate"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -214,7 +214,7 @@
"domain_tab_ZONE_no_defaut_dns_used": "Sie verwenden derzeit folgende DNS-Server: ",
"domain_tab_ZONE_set_defaut_dns": "Verwenden Sie für untenstehende DNS- Zone bitte folgende DNS-Server: ",
"domain_tab_ZONE_title": "Hier können Sie die Konfiguration der verschiedenen Einträge Ihrer Domain einsehen.",
"domain_tab_ZONE_info": "Sie haben auch die Möglichkeit, diese Einträge so zu konfigurieren, dass Ihre Domain auf Ihre verschiedenen Dienstleistungen verweist (mit dem Button \"Einen Eintrag hinzufügen\").",
"domain_tab_ZONE_info": "Sie haben auch die Möglichkeit, diese Einträge so zu konfigurieren, dass Ihre Domain auf Ihre verschiedenen Dienste verweist (mit dem Button Eintrag hinzufügen).",
"domain_tab_ZONE_status_error": "Unsere Systeme haben bei der Überprüfung Ihrer Zone Fehler festgestellt. <strong>Ihre letzten Änderungen wurden daher nicht übernommen</strong>. Bitte beheben Sie folgende Probleme:",
"domain_tab_ZONE_status_warning": "Ihre Zone wurde bereitgestellt. Es wurden jedoch folgende Anomalien festgestellt:",
"domain_tab_ZONE_empty_zone": "Es sind keine Einträge in Ihrer DNS-Zone vorhanden.",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -214,7 +214,7 @@
"domain_tab_ZONE_no_defaut_dns_used": "You currently use the following DNS servers: ",
"domain_tab_ZONE_set_defaut_dns": "Please use the following DNS servers, so that your DNS zone is registered:",
"domain_tab_ZONE_title": "Here you can see the configuration of various domain name records. ",
"domain_tab_ZONE_info": "You can also configure these records to connect your domain to your different services (the \"Add a record\" button).",
"domain_tab_ZONE_info": "You can also configure these records to connect your domain to your different services (the Add an entry” button).",
"domain_tab_ZONE_status_error": "Our systems detected errors while checking your zone. <strong>For this reason, your most recent modifications were not taken into account</strong>. To remedy this, please correct the following problems:",
"domain_tab_ZONE_status_warning": "Your zone has been deployed successfully. However, the following anomalies have been detected:",
"domain_tab_ZONE_empty_zone": "There are no records in your DNS zone.",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -214,7 +214,7 @@
"domain_tab_ZONE_no_defaut_dns_used": "Aktualnie korzystasz z następujących serwerów DNS:",
"domain_tab_ZONE_set_defaut_dns": "Aby poniższa strefa DNS działała, zmień serwery DNS na:",
"domain_tab_ZONE_title": "W tej części możesz sprawdzić konfigurację poszczególnych wpisów dla swojej domeny.",
"domain_tab_ZONE_info": "Możesz również skonfigurować te wpisy i połączyć je z różnymi usługami (przycisk « dodaj wpis »).",
"domain_tab_ZONE_info": "Możesz również skonfigurować te rekordy i połączyć je z różnymi usługami (przycisk „Dodaj rekord”).",
"domain_tab_ZONE_status_error": "Nasz system wykrył błędy w trakcie sprawdzania strefy. <strong>Twoje ostatnie zmiany nie zostały więc zarejestrowane</strong>. Prosimy o poprawienie następujących błędów:",
"domain_tab_ZONE_status_warning": "Strefa jest wdrażana. Nasz system wykrył następujące problemy:",
"domain_tab_ZONE_empty_zone": "Brak wpisów w strefie DNS.",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,14 +13,15 @@ import maxBy from 'lodash/maxBy';
import reduce from 'lodash/reduce';
import some from 'lodash/some';

import { DOMAIN_TRACKING } from '../../hosting/hosting.constants';
import { DOMAINS_BADGES_STATUS } from '../list/list-domain-layout.constants';
import {
DNSSEC_STATUS,
PRODUCT_TYPE,
PROTECTION_TYPES,
DOMAIN_SERVICE_STATES,
DOMAIN_STATE_TYPE,
PRODUCT_TYPE,
PROTECTION_TYPES,
} from './general-information.constants';
import { DOMAIN_TRACKING } from '../../hosting/hosting.constants';

export default class DomainTabGeneralInformationsCtrl {
/* @ngInject */
Expand Down Expand Up @@ -86,6 +87,7 @@ export default class DomainTabGeneralInformationsCtrl {
}

$onInit() {
this.DOMAINS_BADGES_STATUS = DOMAINS_BADGES_STATUS;
this.domain = this.$scope.ctrlDomain.domain;
this.domainInfos = this.$scope.ctrlDomain.domainInfos;
this.allDom = this.$scope.ctrlDomain.allDom;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,19 @@
class="h-100"
data-loading="$ctrl.loading.dnsStatus || $ctrl.loading.hosting || $ctrl.loading.associatedHosting"
>
<oui-tile-definition
data-term="{{ ::'domains_status' | translate }}"
>
<oui-tile-description>
<span
class="{{:: 'oui-badge ' + $ctrl.DOMAINS_BADGES_STATUS[$ctrl.domainInfos.state] }}"
>
{{ ::'domains_status_' + $ctrl.domainInfos.state |
translate }}
</span>
</oui-tile-description>
</oui-tile-definition>

<oui-tile-definition
data-ng-if="$ctrl.isAllDom && $ctrl.allDom"
data-term="{{ ::'domain_dashboard_type_alldom_' + $ctrl.constructor.parseType($ctrl.allDom.type) | translate }}"
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import isEmpty from 'lodash/isEmpty';
import template from './GENERAL_INFORMATIONS.html';
import template from './domain-general-informations.html';

import './general-information.styles.scss';

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ export const DOMAIN_STATUS = {
PENDING_INCOMING_TRANSFER: 'pending_incoming_transfer',
TECHNICAL_SUSPENDED: 'technical_suspended',
REGISTRY_SUSPENDED: 'registry_suspended',
AUTORENEW_IN_PROGRESS: 'autorenew_in_progress',
};

export const DOMAIN_DNSSEC_STATE = {
Expand Down Expand Up @@ -83,6 +84,7 @@ export const DOMAINS_BADGES_STATUS = {
[DOMAIN_STATUS.PENDING_INCOMING_TRANSFER]: 'oui-badge_info',
[DOMAIN_STATUS.TECHNICAL_SUSPENDED]: 'oui-badge_limited-edition',
[DOMAIN_STATUS.REGISTRY_SUSPENDED]: 'oui-badge_limited-edition',
[DOMAIN_STATUS.AUTORENEW_IN_PROGRESS]: 'oui-badge_info',
};

export const DOMAIN_SUSPENSION_STATE_CLASS = {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -276,6 +276,7 @@ export default class ListDomainLayoutCtrl extends ListLayoutHelper.ListLayoutCtr
DOMAIN_STATUS.PENDING_INCOMING_TRANSFER,
DOMAIN_STATUS.DELETED,
DOMAIN_STATUS.PENDING_CREATE,
DOMAIN_STATUS.AUTORENEW_IN_PROGRESS,
].includes(domain.state) &&
domain.renewalState !== DOMAIN_RENEWABLE_STATE.CANCELLATION_REQUESTED
);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -107,5 +107,6 @@
"domains_action_per_line_cancellation": "Kündigen",
"domains_action_per_line_autorenew_activate": "Automatische Verlängerung aktivieren",
"domains_action_per_line_autorenew_deactivate": "Automatische Verlängerung deaktivieren",
"domains_action_per_line_resiliation_cancellation": "Kündigung der Dienstes stornieren"
"domains_action_per_line_resiliation_cancellation": "Kündigung der Dienstes stornieren",
"domains_status_autorenew_in_progress": "Verlängerung wird vorgenommen"
}
Original file line number Diff line number Diff line change
Expand Up @@ -107,5 +107,6 @@
"domains_action_per_line_cancellation": "Terminate",
"domains_action_per_line_autorenew_activate": "Enable automatic renewal",
"domains_action_per_line_autorenew_deactivate": "Disable automatic renewal",
"domains_action_per_line_resiliation_cancellation": "Cancel service termination"
"domains_action_per_line_resiliation_cancellation": "Cancel service termination",
"domains_status_autorenew_in_progress": "Renewal in progress"
}
Original file line number Diff line number Diff line change
Expand Up @@ -107,5 +107,6 @@
"domains_action_per_line_cancellation": "Dar de baja",
"domains_action_per_line_autorenew_activate": "Activar la renovación automática",
"domains_action_per_line_autorenew_deactivate": "Desactivar la renovación automática",
"domains_action_per_line_resiliation_cancellation": "Cancelar la baja del servicio"
"domains_action_per_line_resiliation_cancellation": "Cancelar la baja del servicio",
"domains_status_autorenew_in_progress": "Renovación en curso"
}
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@
"domains_status_pending_incoming_transfer": "Transfert entrant",
"domains_status_technical_suspended": "Procédure en cours",
"domains_status_registry_suspended": "Procédure en cours",
"domains_status_autorenew_in_progress": "Renouvellement en cours",
"domains_suspension_state_not_suspended": "Actif",
"domains_suspension_state_suspended": "Inactif",
"domains_renewal_mode_automatic_renew": "Renouvellement automatique",
Expand Down
Loading

0 comments on commit 42a9e41

Please sign in to comment.