mirror of
https://github.com/xcp-ng/xenadmin.git
synced 2024-11-23 12:30:50 +01:00
CA-381500: Ensure unlicensed hosts post Nile do not show as such in General Tab Page
Signed-off-by: Danilo Del Busso <danilo.delbusso@cloud.com>
This commit is contained in:
parent
bee2388225
commit
0680d9cba0
@ -47,8 +47,8 @@ namespace XenAdmin.TabPages
|
||||
{
|
||||
get
|
||||
{
|
||||
if (Status != null && Status.LicensedHost != null && Status.LicenseExpiresIn != null
|
||||
&& !LicenseStatus.IsInfinite(Status.LicenseExpiresIn))
|
||||
if (Status?.LicensedHost != null && Status.LicenseExpiresIn != new TimeSpan()
|
||||
&& !LicenseStatus.IsInfinite(Status.LicenseExpiresIn))
|
||||
{
|
||||
return HelpersGUI.DateTimeToString(Status.LicensedHost.LicenseExpiryUTC().ToLocalTime(),
|
||||
Messages.DATEFORMAT_DMY_LONG, true);
|
||||
@ -74,20 +74,20 @@ namespace XenAdmin.TabPages
|
||||
return Messages.LICENSE_UNLICENSED;
|
||||
|
||||
if (Status.CurrentState == LicenseStatus.HostState.Free)
|
||||
return Messages.LICENSE_UNLICENSED;
|
||||
return Helpers.NileOrGreater(Status.LicensedHost) ? Messages.GENERAL_UNKNOWN : Messages.LICENSE_UNLICENSED;
|
||||
|
||||
TimeSpan s = Status.LicenseExpiresExactlyIn;
|
||||
if (s.TotalMinutes < 2)
|
||||
return Messages.LICENSE_EXPIRES_ONE_MIN;
|
||||
|
||||
if (s.TotalHours < 2)
|
||||
return String.Format(Messages.LICENSE_EXPIRES_MINUTES, Math.Floor(s.TotalMinutes));
|
||||
return string.Format(Messages.LICENSE_EXPIRES_MINUTES, Math.Floor(s.TotalMinutes));
|
||||
|
||||
if (s.TotalDays < 2)
|
||||
return String.Format(Messages.LICENSE_EXPIRES_HOURS, Math.Floor(s.TotalHours));
|
||||
return string.Format(Messages.LICENSE_EXPIRES_HOURS, Math.Floor(s.TotalHours));
|
||||
|
||||
if (s.TotalDays < 30)
|
||||
return String.Format(Messages.LICENSE_EXPIRES_DAYS, s.Days);
|
||||
return string.Format(Messages.LICENSE_EXPIRES_DAYS, s.Days);
|
||||
|
||||
return Messages.LICENSE_LICENSED;
|
||||
}
|
||||
|
@ -112,11 +112,11 @@ namespace XenAdmin.TabPages
|
||||
pdSectionLicense.UpdateEntryValueWithKey(FriendlyName("host.license_params-expiry"),
|
||||
ss.ExpiryDate, ss.ShowExpiryDate);
|
||||
|
||||
pdSectionLicense.UpdateEntryValueWithKey(Messages.LICENSE_STATUS, ss.ExpiryStatus, true);
|
||||
pdSectionLicense.UpdateEntryValueWithKey(Messages.LICENSE_EXPIRY_STATUS, ss.ExpiryStatus, true);
|
||||
|
||||
if (xenObject is Pool p)
|
||||
{
|
||||
var additionalString = PoolAdditionalLicenseString();
|
||||
var additionalString = PoolAdditionalLicenseString(p);
|
||||
pdSectionGeneral.UpdateEntryValueWithKey(
|
||||
Messages.POOL_LICENSE,
|
||||
additionalString != string.Empty
|
||||
@ -1101,7 +1101,7 @@ namespace XenAdmin.TabPages
|
||||
if (licenseStatus != null)
|
||||
{
|
||||
var ss = new GeneralTabLicenseStatusStringifier(licenseStatus);
|
||||
s.AddEntry(Messages.LICENSE_STATUS,
|
||||
s.AddEntry(Messages.LICENSE_EXPIRY_STATUS,
|
||||
licenseStatus.Updated ? ss.ExpiryStatus : Messages.GENERAL_LICENSE_QUERYING, editItem);
|
||||
|
||||
if (ss.ShowExpiryDate)
|
||||
@ -1498,7 +1498,7 @@ namespace XenAdmin.TabPages
|
||||
|
||||
if (xenObject is Pool p)
|
||||
{
|
||||
var additionalString = PoolAdditionalLicenseString();
|
||||
var additionalString = PoolAdditionalLicenseString(p);
|
||||
s.AddEntry(Messages.POOL_LICENSE,
|
||||
additionalString != string.Empty
|
||||
? string.Format(Messages.MAINWINDOW_CONTEXT_REASON, Helpers.GetFriendlyLicenseName(p), additionalString)
|
||||
@ -1580,7 +1580,7 @@ namespace XenAdmin.TabPages
|
||||
s.AddEntry(FriendlyName("host.uuid"), xenObject.Get("uuid") as string);
|
||||
}
|
||||
|
||||
private string PoolAdditionalLicenseString()
|
||||
private string PoolAdditionalLicenseString(IXenObject pool)
|
||||
{
|
||||
if (licenseStatus == null)
|
||||
return string.Empty;
|
||||
@ -1590,7 +1590,8 @@ namespace XenAdmin.TabPages
|
||||
case LicenseStatus.HostState.Expired:
|
||||
return Messages.LICENSE_EXPIRED;
|
||||
case LicenseStatus.HostState.Free:
|
||||
return Messages.LICENSE_UNLICENSED;
|
||||
// We don't show "Unlicensed" when the pool is in Trial edition
|
||||
return Helpers.NileOrGreater(pool?.Connection) ? string.Empty : Messages.LICENSE_UNLICENSED;
|
||||
default:
|
||||
return string.Empty;
|
||||
}
|
||||
|
18
XenModel/Messages.Designer.cs
generated
18
XenModel/Messages.Designer.cs
generated
@ -22848,6 +22848,15 @@ namespace XenAdmin {
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Expiry status.
|
||||
/// </summary>
|
||||
public static string LICENSE_EXPIRY_STATUS {
|
||||
get {
|
||||
return ResourceManager.GetString("LICENSE_EXPIRY_STATUS", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to This field is disabled due to license restrictions on the server..
|
||||
/// </summary>
|
||||
@ -23136,15 +23145,6 @@ namespace XenAdmin {
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Status.
|
||||
/// </summary>
|
||||
public static string LICENSE_STATUS {
|
||||
get {
|
||||
return ResourceManager.GetString("LICENSE_STATUS", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Trial.
|
||||
/// </summary>
|
||||
|
@ -7882,9 +7882,6 @@ SR UUID: {1}</value>
|
||||
<data name="LICENSE_SERVER_WEB_CONSOLE_GOTO" xml:space="preserve">
|
||||
<value>表示...</value>
|
||||
</data>
|
||||
<data name="LICENSE_STATUS" xml:space="preserve">
|
||||
<value>状態</value>
|
||||
</data>
|
||||
<data name="LICENSE_SUPPORT_AND_DESKTOP_CLOUD_FEATURES_ENABLED" xml:space="preserve">
|
||||
<value>サポート契約が有効です
|
||||
{0} Virtual Apps and Desktops {0} Cloud 機能が有効です</value>
|
||||
|
@ -7942,6 +7942,9 @@ SR UUID: {1}</value>
|
||||
<data name="LICENSE_EXPIRES_ONE_MIN" xml:space="preserve">
|
||||
<value>Expires in 1 minute</value>
|
||||
</data>
|
||||
<data name="LICENSE_EXPIRY_STATUS" xml:space="preserve">
|
||||
<value>Expiry status</value>
|
||||
</data>
|
||||
<data name="LICENSE_FIELD_DISABLED" xml:space="preserve">
|
||||
<value>This field is disabled due to license restrictions on the server.</value>
|
||||
</data>
|
||||
@ -8038,9 +8041,6 @@ SR UUID: {1}</value>
|
||||
<data name="LICENSE_STANDARD_FEATURES_ENABLED" xml:space="preserve">
|
||||
<value>Standard features only</value>
|
||||
</data>
|
||||
<data name="LICENSE_STATUS" xml:space="preserve">
|
||||
<value>Status</value>
|
||||
</data>
|
||||
<data name="LICENSE_TRIAL" xml:space="preserve">
|
||||
<value>Trial</value>
|
||||
</data>
|
||||
|
@ -7878,9 +7878,6 @@ SR UUID: {1}</value>
|
||||
<data name="LICENSE_SERVER_WEB_CONSOLE_GOTO" xml:space="preserve">
|
||||
<value>转至...</value>
|
||||
</data>
|
||||
<data name="LICENSE_STATUS" xml:space="preserve">
|
||||
<value>状态</value>
|
||||
</data>
|
||||
<data name="LICENSE_SUPPORT_AND_DESKTOP_CLOUD_FEATURES_ENABLED" xml:space="preserve">
|
||||
<value>有资格获得支持
|
||||
{0} Virtual Apps and Desktops {0} Cloud 功能已启用</value>
|
||||
|
Loading…
Reference in New Issue
Block a user