diff --git a/CHANGELOG.unreleased.md b/CHANGELOG.unreleased.md
index 6e6504ece..baf3f854d 100644
--- a/CHANGELOG.unreleased.md
+++ b/CHANGELOG.unreleased.md
@@ -11,6 +11,7 @@
- [Proxy] Can now upgrade proxies in VMs not connected to XO
- [REST API] Expose VM snapshots and templates
- [REST API] Expose VDI snapshots
+- [Select license] Display product type in the options (PR [#6512](https://github.com/vatesfr/xen-orchestra/pull/6512))
### Bug fixes
@@ -35,7 +36,7 @@
-- xo-web patch
- xo-server minor
+- xo-web minor
diff --git a/packages/xo-web/src/common/intl/messages.js b/packages/xo-web/src/common/intl/messages.js
index 171ba7ce1..041c542cb 100644
--- a/packages/xo-web/src/common/intl/messages.js
+++ b/packages/xo-web/src/common/intl/messages.js
@@ -2409,7 +2409,7 @@ const messages = {
// Licenses
allHostsMustBeBound: 'All hosts must be bound to a license',
- bound: 'Bound',
+ boundSelectLicense: 'Bound (Plan (ID), expiration date, host - pool)',
bindXcpngLicenses: 'Bind XCP-ng licenses',
confirmBindingOnUnsupportedHost:
'You are about to bind {nLicenses, number} professional support license{nLicenses, plural, one {} other {s}} on older and unsupported XCP-ng version{nLicenses, plural, one {} other {s}}. Are you sure you want to continue?',
@@ -2417,7 +2417,7 @@ const messages = {
licenses: 'Licenses',
licensesBinding: 'Licenses binding',
notEnoughXcpngLicenses: 'Not enough XCP-ng licenses',
- notBound: 'Not bound',
+ notBoundSelectLicense: 'Not bound (Plan (ID), expiration date)',
xosanUnregisteredDisclaimer:
'You are not registered and therefore will not be able to create or manage your XOSAN SRs. {link}',
xosanSourcesDisclaimer:
diff --git a/packages/xo-web/src/common/select-license.js b/packages/xo-web/src/common/select-license.js
index 574ab76ed..d4296046f 100644
--- a/packages/xo-web/src/common/select-license.js
+++ b/packages/xo-web/src/common/select-license.js
@@ -8,27 +8,18 @@ import { map } from 'lodash'
import { renderXoItemFromId } from './render-xo-item'
-const LicenseOptions = ({ license, formatTime }) =>
- _(
- 'expiresOn',
- {
- date:
- license.expires !== undefined
- ? formatTime(license.expires, {
- day: 'numeric',
- month: 'numeric',
- year: 'numeric',
- })
- : '',
- },
- expirationDate => (
-
- )
+const LicenseOptions = ({ license, formatDate }) => {
+ const productId = license.productId.split('-')[1]
+ return (
+
)
+}
const SelectLicense = decorate([
injectIntl,
@@ -53,7 +44,7 @@ const SelectLicense = decorate([
},
}),
injectState,
- ({ state: { licenses }, intl: { formatTime }, onChange, showBoundLicenses }) =>
+ ({ state: { licenses }, intl: { formatDate }, onChange, showBoundLicenses }) =>
licenses?.licenseError !== undefined ? (
{_('getLicensesError')}
@@ -66,18 +57,18 @@ const SelectLicense = decorate([
))}
- {_('notBound', i18nNotBound => (
+ {_('notBoundSelectLicense', i18nNotBound => (
))}
{showBoundLicenses &&
- _('bound', i18nBound => (
+ _('boundSelectLicense', i18nBound => (
))}