mirror of
https://github.com/xcp-ng/xenadmin.git
synced 2024-11-23 20:36:33 +01:00
CP-29230: Switch between new and legacy license names according to server version.
Signed-off-by: Michael Z <michael.zhao@citrix.com>
This commit is contained in:
parent
31b38796db
commit
816bd0601a
@ -55,7 +55,7 @@ namespace XenAdmin.Dialogs
|
||||
InitializeComponent();
|
||||
licenseServerNameTextBox.TextChanged += licenseServerPortTextBox_TextChanged;
|
||||
licenseServerPortTextBox.TextChanged += licenseServerNameTextBox_TextChanged;
|
||||
SetOptionsForClearwaterAndNewer();
|
||||
LoadLicenseOptions();
|
||||
UpdateButtonEnablement();
|
||||
|
||||
// if all the hosts have the same license server details then populate the textboxes.
|
||||
@ -99,23 +99,37 @@ namespace XenAdmin.Dialogs
|
||||
return hosts;
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Not all license types apply for post-clearwater hosts. Hide them to declutter the UI
|
||||
/// </summary>
|
||||
private void SetOptionsForClearwaterAndNewer()
|
||||
private void LoadLicenseOptions()
|
||||
{
|
||||
if (xos.TrueForAll(x => Helpers.CreedenceOrGreater(x.Connection)))
|
||||
if (xos.TrueForAll(x => Helpers.NaplesOrGreater(x.Connection)))
|
||||
{
|
||||
perSocketRadioButton.Visible = false;
|
||||
xenDesktopEnterpriseRadioButton.Visible = false;
|
||||
enterprisePerSocketRadioButton.Checked = true;
|
||||
enterprisePerSocketRadioButton.Text = String.Format(Messages.ENTERPRISE_PERSOCKET_LICENSES_X_REQUIRED,
|
||||
xos.Sum(x => x.Connection.Cache.Hosts.Sum(h => h.CpuSockets())));
|
||||
standardPerSocketRadioButton.Text = String.Format(Messages.STANDARD_PERSOCKET_LICENSES_X_REQUIRED,
|
||||
xos.Sum(x => x.Connection.Cache.Hosts.Sum(h => h.CpuSockets())));
|
||||
|
||||
enterprisePerSocketRadioButton.Text = String.Format(Messages.LICENSE_EDITION_ENTERPRISE_PERSOCKET,
|
||||
xos.Sum(x => x.Connection.Cache.Hosts.Sum(h => h.CpuSockets())));
|
||||
enterprisePerUserRadioButton.Text = Messages.LICENSE_EDITION_ENTERPRISE_PERUSER;
|
||||
desktopPlusRadioButton.Text = Messages.LICENSE_EDITION_DESKTOP_PLUS;
|
||||
desktopRadioButton.Text = Messages.LICENSE_EDITION_DESKTOP;
|
||||
desktopCloudRadioButton.Visible = true;
|
||||
desktopCloudRadioButton.Text = Messages.LICENSE_EDITION_DESKTOP_CLOUD;
|
||||
standardPerSocketRadioButton.Text = String.Format(Messages.LICENSE_EDITION_STANDARD_PERSOCKET,
|
||||
xos.Sum(x => x.Connection.Cache.Hosts.Sum(h => h.CpuSockets())));
|
||||
}
|
||||
else if (xos.TrueForAll(x => Helpers.CreedenceOrGreater(x.Connection)))
|
||||
{
|
||||
perSocketRadioButton.Visible = false;
|
||||
xenDesktopEnterpriseRadioButton.Visible = false;
|
||||
enterprisePerSocketRadioButton.Checked = true;
|
||||
enterprisePerSocketRadioButton.Text = String.Format(Messages.LICENSE_EDITION_ENTERPRISE_PERSOCKET_LEGACY,
|
||||
xos.Sum(x => x.Connection.Cache.Hosts.Sum(h => h.CpuSockets())));
|
||||
enterprisePerUserRadioButton.Text = Messages.LICENSE_EDITION_ENTERPRISE_PERUSER_LEGACY;
|
||||
desktopPlusRadioButton.Text = Messages.LICENSE_EDITION_DESKTOP_PLUS_LEGACY;
|
||||
desktopRadioButton.Text = Messages.LICENSE_EDITION_DESKTOP_LEGACY;
|
||||
desktopCloudRadioButton.Visible = xos.TrueForAll(x => Helpers.JuraOrGreater(x.Connection));
|
||||
desktopCloudRadioButton.Text = Messages.LICENSE_EDITION_DESKTOP_CLOUD_LEGACY;
|
||||
standardPerSocketRadioButton.Text = String.Format(Messages.LICENSE_EDITION_STANDARD_PERSOCKET_LEGACY,
|
||||
xos.Sum(x => x.Connection.Cache.Hosts.Sum(h => h.CpuSockets())));
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -126,8 +140,9 @@ namespace XenAdmin.Dialogs
|
||||
desktopRadioButton.Visible = false;
|
||||
desktopCloudRadioButton.Visible = false;
|
||||
perSocketRadioButton.Checked = true;
|
||||
perSocketRadioButton.Text = String.Format(Messages.PERSOCKET_LICENSES_X_REQUIRED,
|
||||
xos.Sum(x => x.Connection.Cache.Hosts.Sum(h=>h.CpuSockets())));
|
||||
perSocketRadioButton.Text = String.Format(Messages.LICENSE_EDITION_PERSOCKET_LEGACY,
|
||||
xos.Sum(x => x.Connection.Cache.Hosts.Sum(h => h.CpuSockets())));
|
||||
xenDesktopEnterpriseRadioButton.Text = Messages.LICENSE_EDITION_XENDESKTOP_LEGACY;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -418,14 +418,11 @@
|
||||
<value>7, 3</value>
|
||||
</data>
|
||||
<data name="perSocketRadioButton.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>190, 19</value>
|
||||
<value>14, 13</value>
|
||||
</data>
|
||||
<data name="perSocketRadioButton.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>0</value>
|
||||
</data>
|
||||
<data name="perSocketRadioButton.Text" xml:space="preserve">
|
||||
<value>[XenServer product] Per-&Socket</value>
|
||||
</data>
|
||||
<data name=">>perSocketRadioButton.Name" xml:space="preserve">
|
||||
<value>perSocketRadioButton</value>
|
||||
</data>
|
||||
@ -448,17 +445,14 @@
|
||||
<value>NoControl</value>
|
||||
</data>
|
||||
<data name="xenDesktopEnterpriseRadioButton.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>7, 28</value>
|
||||
<value>7, 22</value>
|
||||
</data>
|
||||
<data name="xenDesktopEnterpriseRadioButton.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>274, 19</value>
|
||||
<value>14, 13</value>
|
||||
</data>
|
||||
<data name="xenDesktopEnterpriseRadioButton.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>1</value>
|
||||
</data>
|
||||
<data name="xenDesktopEnterpriseRadioButton.Text" xml:space="preserve">
|
||||
<value>[XenServer product] for [Citrix] Virtual &Desktops</value>
|
||||
</data>
|
||||
<data name=">>xenDesktopEnterpriseRadioButton.Name" xml:space="preserve">
|
||||
<value>xenDesktopEnterpriseRadioButton</value>
|
||||
</data>
|
||||
@ -481,17 +475,14 @@
|
||||
<value>NoControl</value>
|
||||
</data>
|
||||
<data name="enterprisePerSocketRadioButton.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>7, 53</value>
|
||||
<value>7, 41</value>
|
||||
</data>
|
||||
<data name="enterprisePerSocketRadioButton.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>242, 19</value>
|
||||
<value>14, 13</value>
|
||||
</data>
|
||||
<data name="enterprisePerSocketRadioButton.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>2</value>
|
||||
</data>
|
||||
<data name="enterprisePerSocketRadioButton.Text" xml:space="preserve">
|
||||
<value>[XenServer product] P&remium Per-Socket</value>
|
||||
</data>
|
||||
<data name=">>enterprisePerSocketRadioButton.Name" xml:space="preserve">
|
||||
<value>enterprisePerSocketRadioButton</value>
|
||||
</data>
|
||||
@ -514,17 +505,14 @@
|
||||
<value>NoControl</value>
|
||||
</data>
|
||||
<data name="enterprisePerUserRadioButton.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>7, 78</value>
|
||||
<value>7, 60</value>
|
||||
</data>
|
||||
<data name="enterprisePerUserRadioButton.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>230, 19</value>
|
||||
<value>14, 13</value>
|
||||
</data>
|
||||
<data name="enterprisePerUserRadioButton.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>3</value>
|
||||
</data>
|
||||
<data name="enterprisePerUserRadioButton.Text" xml:space="preserve">
|
||||
<value>[XenServer product] Pr&emium Per-User</value>
|
||||
</data>
|
||||
<data name="enterprisePerUserRadioButton.Visible" type="System.Boolean, mscorlib">
|
||||
<value>False</value>
|
||||
</data>
|
||||
@ -550,17 +538,14 @@
|
||||
<value>NoControl</value>
|
||||
</data>
|
||||
<data name="desktopPlusRadioButton.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>7, 103</value>
|
||||
<value>7, 79</value>
|
||||
</data>
|
||||
<data name="desktopPlusRadioButton.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>253, 19</value>
|
||||
<value>14, 13</value>
|
||||
</data>
|
||||
<data name="desktopPlusRadioButton.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>4</value>
|
||||
</data>
|
||||
<data name="desktopPlusRadioButton.Text" xml:space="preserve">
|
||||
<value>[Citrix] Virtual Apps and Desktops &Premium</value>
|
||||
</data>
|
||||
<data name=">>desktopPlusRadioButton.Name" xml:space="preserve">
|
||||
<value>desktopPlusRadioButton</value>
|
||||
</data>
|
||||
@ -583,17 +568,14 @@
|
||||
<value>NoControl</value>
|
||||
</data>
|
||||
<data name="desktopRadioButton.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>7, 128</value>
|
||||
<value>7, 98</value>
|
||||
</data>
|
||||
<data name="desktopRadioButton.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>201, 19</value>
|
||||
<value>14, 13</value>
|
||||
</data>
|
||||
<data name="desktopRadioButton.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>5</value>
|
||||
</data>
|
||||
<data name="desktopRadioButton.Text" xml:space="preserve">
|
||||
<value>[Citrix] Virtual &Apps and Desktops</value>
|
||||
</data>
|
||||
<data name=">>desktopRadioButton.Name" xml:space="preserve">
|
||||
<value>desktopRadioButton</value>
|
||||
</data>
|
||||
@ -616,17 +598,14 @@
|
||||
<value>NoControl</value>
|
||||
</data>
|
||||
<data name="desktopCloudRadioButton.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>7, 153</value>
|
||||
<value>7, 117</value>
|
||||
</data>
|
||||
<data name="desktopCloudRadioButton.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>274, 19</value>
|
||||
<value>14, 13</value>
|
||||
</data>
|
||||
<data name="desktopCloudRadioButton.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>6</value>
|
||||
</data>
|
||||
<data name="desktopCloudRadioButton.Text" xml:space="preserve">
|
||||
<value>[Citrix] Virtual Apps and Desktops [Citrix] &Cloud</value>
|
||||
</data>
|
||||
<data name="desktopCloudRadioButton.Visible" type="System.Boolean, mscorlib">
|
||||
<value>False</value>
|
||||
</data>
|
||||
@ -652,17 +631,14 @@
|
||||
<value>NoControl</value>
|
||||
</data>
|
||||
<data name="standardPerSocketRadioButton.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>7, 178</value>
|
||||
<value>7, 136</value>
|
||||
</data>
|
||||
<data name="standardPerSocketRadioButton.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>240, 19</value>
|
||||
<value>14, 13</value>
|
||||
</data>
|
||||
<data name="standardPerSocketRadioButton.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>7</value>
|
||||
</data>
|
||||
<data name="standardPerSocketRadioButton.Text" xml:space="preserve">
|
||||
<value>[XenServer product] &Standard Per-Socket</value>
|
||||
</data>
|
||||
<data name=">>standardPerSocketRadioButton.Name" xml:space="preserve">
|
||||
<value>standardPerSocketRadioButton</value>
|
||||
</data>
|
||||
@ -691,7 +667,7 @@
|
||||
<value>4, 0, 4, 4</value>
|
||||
</data>
|
||||
<data name="editionLayoutPanel.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>519, 204</value>
|
||||
<value>519, 156</value>
|
||||
</data>
|
||||
<data name="editionLayoutPanel.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>0</value>
|
||||
@ -718,7 +694,7 @@
|
||||
<value>11, 92</value>
|
||||
</data>
|
||||
<data name="editionsGroupBox.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>525, 226</value>
|
||||
<value>525, 178</value>
|
||||
</data>
|
||||
<data name="editionsGroupBox.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>2</value>
|
||||
@ -751,7 +727,7 @@
|
||||
<value>Segoe UI, 9pt</value>
|
||||
</data>
|
||||
<data name="buttonsLayoutPanel.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>350, 329</value>
|
||||
<value>350, 281</value>
|
||||
</data>
|
||||
<data name="buttonsLayoutPanel.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>3, 8, 3, 3</value>
|
||||
|
@ -184,7 +184,7 @@ namespace XenAdmin.Actions
|
||||
|
||||
if(xo is Host && host != null)
|
||||
{
|
||||
Host.apply_edition(host.Connection.Session, host.opaque_ref, Host.GetEditionText(_edition), false);
|
||||
Host.apply_edition(host.Connection.Session, host.opaque_ref, host.GetEditionText(_edition), false);
|
||||
|
||||
// PR-1102: populate the list of updated hosts
|
||||
updatedHosts.Add(host, previousLicenseData);
|
||||
@ -192,8 +192,7 @@ namespace XenAdmin.Actions
|
||||
|
||||
if (xo is Pool)
|
||||
{
|
||||
Pool.apply_edition(xo.Connection.Session, pool.opaque_ref, Host.GetEditionText(_edition));
|
||||
|
||||
Pool.apply_edition(xo.Connection.Session, pool.opaque_ref, xo.Connection.Cache.Hosts.First().GetEditionText(_edition));
|
||||
xo.Connection.Cache.Hosts.ToList().ForEach(h => updatedHosts.Add(h, previousLicenseData));
|
||||
}
|
||||
|
||||
@ -228,7 +227,7 @@ namespace XenAdmin.Actions
|
||||
// PR-1102: Send licensing data to the activation server
|
||||
if (updatedHosts.Count > 0)
|
||||
{
|
||||
LicensingHelper.SendLicenseEditionData(updatedHosts, Host.GetEditionText(_edition));
|
||||
LicensingHelper.SendLicenseEditionData(updatedHosts, updatedHosts.Keys.First().GetEditionText(_edition));
|
||||
}
|
||||
|
||||
if (LicenseFailures.Count > 0)
|
||||
|
@ -75,7 +75,7 @@ namespace XenAdmin.Actions.HostActions
|
||||
public static void SendActivationData(Dictionary<XenAPI.Host, LicenseDataStruct> hosts)
|
||||
{
|
||||
// Supply the state information required by the task.
|
||||
SendLicenseDataHelper sendLicenseDataHelper = new SendLicenseDataHelper(hosts, "activation", XenAPI.Host.GetEditionText(XenAPI.Host.Edition.Free), true);
|
||||
SendLicenseDataHelper sendLicenseDataHelper = new SendLicenseDataHelper(hosts, "activation", hosts.Keys.First().GetEditionText(XenAPI.Host.Edition.Free), true);
|
||||
|
||||
// start a separate thread
|
||||
Thread thread = new Thread(new ThreadStart(sendLicenseDataHelper.ThreadProc));
|
||||
|
138
XenModel/FriendlyNames.Designer.cs
generated
138
XenModel/FriendlyNames.Designer.cs
generated
@ -817,7 +817,7 @@ namespace XenAdmin {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to [XenServer product] Premium Per-Socket.
|
||||
/// Looks up a localized string similar to [Legacy XenServer product] Premium Per-Socket.
|
||||
/// </summary>
|
||||
public static string Label_host_edition_enterprise_per_socket {
|
||||
get {
|
||||
@ -826,7 +826,7 @@ namespace XenAdmin {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to [XenServer product] Premium Per-User.
|
||||
/// Looks up a localized string similar to [Legacy XenServer product] Premium Per-User.
|
||||
/// </summary>
|
||||
public static string Label_host_edition_enterprise_per_user {
|
||||
get {
|
||||
@ -835,11 +835,119 @@ namespace XenAdmin {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to [XenServer product].
|
||||
/// Looks up a localized string similar to [XenServer product] Express.
|
||||
/// </summary>
|
||||
public static string Label_host_edition_free {
|
||||
public static string Label_host_edition_express {
|
||||
get {
|
||||
return ResourceManager.GetString("Label-host.edition-free", resourceCulture);
|
||||
return ResourceManager.GetString("Label-host.edition-express", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to [Legacy Citrix XenServer] Basic Edition.
|
||||
/// </summary>
|
||||
public static string Label_host_edition_legacy_basic {
|
||||
get {
|
||||
return ResourceManager.GetString("Label-host.edition-legacy-basic", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to XenApp/XenDesktop.
|
||||
/// </summary>
|
||||
public static string Label_host_edition_legacy_desktop {
|
||||
get {
|
||||
return ResourceManager.GetString("Label-host.edition-legacy-desktop", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to XenApp/XenDesktop [Citrix] Cloud.
|
||||
/// </summary>
|
||||
public static string Label_host_edition_legacy_desktop_cloud {
|
||||
get {
|
||||
return ResourceManager.GetString("Label-host.edition-legacy-desktop-cloud", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to XenApp/XenDesktop Platinum.
|
||||
/// </summary>
|
||||
public static string Label_host_edition_legacy_desktop_plus {
|
||||
get {
|
||||
return ResourceManager.GetString("Label-host.edition-legacy-desktop-plus", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to [Legacy XenServer product] Enterprise Per-Socket.
|
||||
/// </summary>
|
||||
public static string Label_host_edition_legacy_enterprise_per_socket {
|
||||
get {
|
||||
return ResourceManager.GetString("Label-host.edition-legacy-enterprise-per-socket", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to [Legacy XenServer product] Enterprise Per-User.
|
||||
/// </summary>
|
||||
public static string Label_host_edition_legacy_enterprise_per_user {
|
||||
get {
|
||||
return ResourceManager.GetString("Label-host.edition-legacy-enterprise-per-user", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to [Legacy XenServer product].
|
||||
/// </summary>
|
||||
public static string Label_host_edition_legacy_free {
|
||||
get {
|
||||
return ResourceManager.GetString("Label-host.edition-legacy-free", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to [Legacy XenServer product] Per-Socket.
|
||||
/// </summary>
|
||||
public static string Label_host_edition_legacy_per_socket {
|
||||
get {
|
||||
return ResourceManager.GetString("Label-host.edition-legacy-per-socket", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to [Legacy Citrix XenServer] Ultimate Edition.
|
||||
/// </summary>
|
||||
public static string Label_host_edition_legacy_premium {
|
||||
get {
|
||||
return ResourceManager.GetString("Label-host.edition-legacy-premium", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to [Legacy Citrix XenServer] Standard Edition.
|
||||
/// </summary>
|
||||
public static string Label_host_edition_legacy_standard {
|
||||
get {
|
||||
return ResourceManager.GetString("Label-host.edition-legacy-standard", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to [Legacy XenServer product] Standard Per-Socket.
|
||||
/// </summary>
|
||||
public static string Label_host_edition_legacy_standard_per_socket {
|
||||
get {
|
||||
return ResourceManager.GetString("Label-host.edition-legacy-standard-per-socket", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to [Legacy XenServer product] for XenDesktop.
|
||||
/// </summary>
|
||||
public static string Label_host_edition_legacy_xendesktop {
|
||||
get {
|
||||
return ResourceManager.GetString("Label-host.edition-legacy-xendesktop", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
@ -861,6 +969,24 @@ namespace XenAdmin {
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to [XenServer product] Premium Per-Socket.
|
||||
/// </summary>
|
||||
public static string Label_host_edition_premium_per_socket {
|
||||
get {
|
||||
return ResourceManager.GetString("Label-host.edition-premium-per-socket", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to [XenServer product] Premium Per-User.
|
||||
/// </summary>
|
||||
public static string Label_host_edition_premium_per_user {
|
||||
get {
|
||||
return ResourceManager.GetString("Label-host.edition-premium-per-user", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to [Citrix XenServer] Standard Edition.
|
||||
/// </summary>
|
||||
@ -3672,7 +3798,7 @@ namespace XenAdmin {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to The license on server '{0}' has expired or been changed, and no longer supports [XenServer product] Premium features..
|
||||
/// Looks up a localized string similar to The license on server '{0}' has expired or been changed, pooling is no longer supported..
|
||||
/// </summary>
|
||||
public static string Message_body_license_does_not_support_pooling {
|
||||
get {
|
||||
|
@ -543,8 +543,8 @@
|
||||
<data name="Label-host.edition" xml:space="preserve">
|
||||
<value>License</value>
|
||||
</data>
|
||||
<data name="Label-host.edition-free" xml:space="preserve">
|
||||
<value>[XenServer product]</value>
|
||||
<data name="Label-host.edition-express" xml:space="preserve">
|
||||
<value>[XenServer product] Express</value>
|
||||
</data>
|
||||
<data name="Label-host.enabled" xml:space="preserve">
|
||||
<value>Enabled</value>
|
||||
@ -1029,7 +1029,7 @@
|
||||
<value>There was a temporary failure synchronizing performance statistics across the pool, probably because one or more servers were offline. Another synchronization attempt will be made later.</value>
|
||||
</data>
|
||||
<data name="Message.body-license_does_not_support_pooling" xml:space="preserve">
|
||||
<value>The license on server '{0}' has expired or been changed, and no longer supports [XenServer product] Premium features.</value>
|
||||
<value>The license on server '{0}' has expired or been changed, pooling is no longer supported.</value>
|
||||
</data>
|
||||
<data name="Message.body-license_expired" xml:space="preserve">
|
||||
<value>The license for {0} has expired.</value>
|
||||
@ -1610,10 +1610,10 @@
|
||||
<data name="Message.name-license_server_version_obsolete" xml:space="preserve">
|
||||
<value>The license server is an out-of-date version.</value>
|
||||
</data>
|
||||
<data name="Label-host.edition-enterprise-per-socket" xml:space="preserve">
|
||||
<data name="Label-host.edition-premium-per-socket" xml:space="preserve">
|
||||
<value>[XenServer product] Premium Per-Socket</value>
|
||||
</data>
|
||||
<data name="Label-host.edition-enterprise-per-user" xml:space="preserve">
|
||||
<data name="Label-host.edition-premium-per-user" xml:space="preserve">
|
||||
<value>[XenServer product] Premium Per-User</value>
|
||||
</data>
|
||||
<data name="Label-host.edition-standard-per-socket" xml:space="preserve">
|
||||
@ -1844,4 +1844,46 @@
|
||||
<data name="Label-host.edition-desktop-cloud" xml:space="preserve">
|
||||
<value>[Citrix] Virtual Apps and Desktops [Citrix] Cloud</value>
|
||||
</data>
|
||||
<data name="Label-host.edition-legacy-basic" xml:space="preserve">
|
||||
<value>[Legacy Citrix XenServer] Basic Edition</value>
|
||||
</data>
|
||||
<data name="Label-host.edition-legacy-desktop" xml:space="preserve">
|
||||
<value>XenApp/XenDesktop</value>
|
||||
</data>
|
||||
<data name="Label-host.edition-legacy-desktop-cloud" xml:space="preserve">
|
||||
<value>XenApp/XenDesktop [Citrix] Cloud</value>
|
||||
</data>
|
||||
<data name="Label-host.edition-legacy-desktop-plus" xml:space="preserve">
|
||||
<value>XenApp/XenDesktop Platinum</value>
|
||||
</data>
|
||||
<data name="Label-host.edition-legacy-enterprise-per-socket" xml:space="preserve">
|
||||
<value>[Legacy XenServer product] Enterprise Per-Socket</value>
|
||||
</data>
|
||||
<data name="Label-host.edition-legacy-enterprise-per-user" xml:space="preserve">
|
||||
<value>[Legacy XenServer product] Enterprise Per-User</value>
|
||||
</data>
|
||||
<data name="Label-host.edition-legacy-free" xml:space="preserve">
|
||||
<value>[Legacy XenServer product]</value>
|
||||
</data>
|
||||
<data name="Label-host.edition-legacy-per-socket" xml:space="preserve">
|
||||
<value>[Legacy XenServer product] Per-Socket</value>
|
||||
</data>
|
||||
<data name="Label-host.edition-legacy-premium" xml:space="preserve">
|
||||
<value>[Legacy Citrix XenServer] Ultimate Edition</value>
|
||||
</data>
|
||||
<data name="Label-host.edition-legacy-standard" xml:space="preserve">
|
||||
<value>[Legacy Citrix XenServer] Standard Edition</value>
|
||||
</data>
|
||||
<data name="Label-host.edition-legacy-standard-per-socket" xml:space="preserve">
|
||||
<value>[Legacy XenServer product] Standard Per-Socket</value>
|
||||
</data>
|
||||
<data name="Label-host.edition-legacy-xendesktop" xml:space="preserve">
|
||||
<value>[Legacy XenServer product] for XenDesktop</value>
|
||||
</data>
|
||||
<data name="Label-host.edition-enterprise-per-socket" xml:space="preserve">
|
||||
<value>[Legacy XenServer product] Premium Per-Socket</value>
|
||||
</data>
|
||||
<data name="Label-host.edition-enterprise-per-user" xml:space="preserve">
|
||||
<value>[Legacy XenServer product] Premium Per-User</value>
|
||||
</data>
|
||||
</root>
|
171
XenModel/Messages.Designer.cs
generated
171
XenModel/Messages.Designer.cs
generated
@ -13901,15 +13901,6 @@ namespace XenAdmin {
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to [XenServer] P&remium Per-Socket ({0} required).
|
||||
/// </summary>
|
||||
public static string ENTERPRISE_PERSOCKET_LICENSES_X_REQUIRED {
|
||||
get {
|
||||
return ResourceManager.GetString("ENTERPRISE_PERSOCKET_LICENSES_X_REQUIRED", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Members.
|
||||
/// </summary>
|
||||
@ -20074,6 +20065,150 @@ namespace XenAdmin {
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to [Citrix] Virtual &Apps and Desktops.
|
||||
/// </summary>
|
||||
public static string LICENSE_EDITION_DESKTOP {
|
||||
get {
|
||||
return ResourceManager.GetString("LICENSE_EDITION_DESKTOP", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to [Citrix] Virtual Apps and Desktops [Citrix] &Cloud.
|
||||
/// </summary>
|
||||
public static string LICENSE_EDITION_DESKTOP_CLOUD {
|
||||
get {
|
||||
return ResourceManager.GetString("LICENSE_EDITION_DESKTOP_CLOUD", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to XenApp/XenDesktop [Citrix] &Cloud.
|
||||
/// </summary>
|
||||
public static string LICENSE_EDITION_DESKTOP_CLOUD_LEGACY {
|
||||
get {
|
||||
return ResourceManager.GetString("LICENSE_EDITION_DESKTOP_CLOUD_LEGACY", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to XenApp/Xen&Desktop.
|
||||
/// </summary>
|
||||
public static string LICENSE_EDITION_DESKTOP_LEGACY {
|
||||
get {
|
||||
return ResourceManager.GetString("LICENSE_EDITION_DESKTOP_LEGACY", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to [Citrix] Virtual Apps and Desktops &Premium.
|
||||
/// </summary>
|
||||
public static string LICENSE_EDITION_DESKTOP_PLUS {
|
||||
get {
|
||||
return ResourceManager.GetString("LICENSE_EDITION_DESKTOP_PLUS", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to XenApp/XenDesktop &Platinum.
|
||||
/// </summary>
|
||||
public static string LICENSE_EDITION_DESKTOP_PLUS_LEGACY {
|
||||
get {
|
||||
return ResourceManager.GetString("LICENSE_EDITION_DESKTOP_PLUS_LEGACY", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to [XenServer product] P&remium Per-Socket ({0} required).
|
||||
/// </summary>
|
||||
public static string LICENSE_EDITION_ENTERPRISE_PERSOCKET {
|
||||
get {
|
||||
return ResourceManager.GetString("LICENSE_EDITION_ENTERPRISE_PERSOCKET", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to [Legacy XenServer product] E&nterprise Per-Socket ({0} required).
|
||||
/// </summary>
|
||||
public static string LICENSE_EDITION_ENTERPRISE_PERSOCKET_LEGACY {
|
||||
get {
|
||||
return ResourceManager.GetString("LICENSE_EDITION_ENTERPRISE_PERSOCKET_LEGACY", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to [XenServer product] Pr&emium Per-User.
|
||||
/// </summary>
|
||||
public static string LICENSE_EDITION_ENTERPRISE_PERUSER {
|
||||
get {
|
||||
return ResourceManager.GetString("LICENSE_EDITION_ENTERPRISE_PERUSER", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to [Legacy XenServer product] &Enterprise Per-User.
|
||||
/// </summary>
|
||||
public static string LICENSE_EDITION_ENTERPRISE_PERUSER_LEGACY {
|
||||
get {
|
||||
return ResourceManager.GetString("LICENSE_EDITION_ENTERPRISE_PERUSER_LEGACY", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to [XenServer product] Per-&Socket ({0} required).
|
||||
/// </summary>
|
||||
public static string LICENSE_EDITION_PERSOCKET {
|
||||
get {
|
||||
return ResourceManager.GetString("LICENSE_EDITION_PERSOCKET", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to [Legacy XenServer product] Per-&Socket ({0} required).
|
||||
/// </summary>
|
||||
public static string LICENSE_EDITION_PERSOCKET_LEGACY {
|
||||
get {
|
||||
return ResourceManager.GetString("LICENSE_EDITION_PERSOCKET_LEGACY", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to [XenServer product] &Standard Per-Socket ({0} required).
|
||||
/// </summary>
|
||||
public static string LICENSE_EDITION_STANDARD_PERSOCKET {
|
||||
get {
|
||||
return ResourceManager.GetString("LICENSE_EDITION_STANDARD_PERSOCKET", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to [Legacy XenServer product] &Standard Per-Socket ({0} required).
|
||||
/// </summary>
|
||||
public static string LICENSE_EDITION_STANDARD_PERSOCKET_LEGACY {
|
||||
get {
|
||||
return ResourceManager.GetString("LICENSE_EDITION_STANDARD_PERSOCKET_LEGACY", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to [XenServer product] for [Citrix] Virtual &Desktops.
|
||||
/// </summary>
|
||||
public static string LICENSE_EDITION_XENDESKTOP {
|
||||
get {
|
||||
return ResourceManager.GetString("LICENSE_EDITION_XENDESKTOP", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to [Legacy XenServer product] for &XenDesktop.
|
||||
/// </summary>
|
||||
public static string LICENSE_EDITION_XENDESKTOP_LEGACY {
|
||||
get {
|
||||
return ResourceManager.GetString("LICENSE_EDITION_XENDESKTOP_LEGACY", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to The licensing action for {0} failed..
|
||||
/// </summary>
|
||||
@ -27893,15 +28028,6 @@ namespace XenAdmin {
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to [Citrix XenServer] Per-&Socket ({0} required).
|
||||
/// </summary>
|
||||
public static string PERSOCKET_LICENSES_X_REQUIRED {
|
||||
get {
|
||||
return ResourceManager.GetString("PERSOCKET_LICENSES_X_REQUIRED", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Physical device.
|
||||
/// </summary>
|
||||
@ -32430,15 +32556,6 @@ namespace XenAdmin {
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to [XenServer product] &Standard Per-Socket ({0} required).
|
||||
/// </summary>
|
||||
public static string STANDARD_PERSOCKET_LICENSES_X_REQUIRED {
|
||||
get {
|
||||
return ResourceManager.GetString("STANDARD_PERSOCKET_LICENSES_X_REQUIRED", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Start host.
|
||||
/// </summary>
|
||||
|
@ -4894,9 +4894,6 @@ Would you like to eject these ISOs before continuing?</value>
|
||||
<data name="ENDS_WITH" xml:space="preserve">
|
||||
<value>ends with</value>
|
||||
</data>
|
||||
<data name="ENTERPRISE_PERSOCKET_LICENSES_X_REQUIRED" xml:space="preserve">
|
||||
<value>[XenServer] P&remium Per-Socket ({0} required)</value>
|
||||
</data>
|
||||
<data name="ENTER_MAINTENANCE_MODE" xml:space="preserve">
|
||||
<value>Enter &Maintenance Mode...</value>
|
||||
</data>
|
||||
@ -6994,6 +6991,54 @@ Size: {3}</value>
|
||||
<data name="LICENSE_ACTIVATED" xml:space="preserve">
|
||||
<value>Activated</value>
|
||||
</data>
|
||||
<data name="LICENSE_EDITION_DESKTOP" xml:space="preserve">
|
||||
<value>[Citrix] Virtual &Apps and Desktops</value>
|
||||
</data>
|
||||
<data name="LICENSE_EDITION_DESKTOP_CLOUD" xml:space="preserve">
|
||||
<value>[Citrix] Virtual Apps and Desktops [Citrix] &Cloud</value>
|
||||
</data>
|
||||
<data name="LICENSE_EDITION_DESKTOP_CLOUD_LEGACY" xml:space="preserve">
|
||||
<value>XenApp/XenDesktop [Citrix] &Cloud</value>
|
||||
</data>
|
||||
<data name="LICENSE_EDITION_DESKTOP_LEGACY" xml:space="preserve">
|
||||
<value>XenApp/Xen&Desktop</value>
|
||||
</data>
|
||||
<data name="LICENSE_EDITION_DESKTOP_PLUS" xml:space="preserve">
|
||||
<value>[Citrix] Virtual Apps and Desktops &Premium</value>
|
||||
</data>
|
||||
<data name="LICENSE_EDITION_DESKTOP_PLUS_LEGACY" xml:space="preserve">
|
||||
<value>XenApp/XenDesktop &Platinum</value>
|
||||
</data>
|
||||
<data name="LICENSE_EDITION_ENTERPRISE_PERSOCKET" xml:space="preserve">
|
||||
<value>[XenServer product] P&remium Per-Socket ({0} required)</value>
|
||||
</data>
|
||||
<data name="LICENSE_EDITION_ENTERPRISE_PERSOCKET_LEGACY" xml:space="preserve">
|
||||
<value>[Legacy XenServer product] E&nterprise Per-Socket ({0} required)</value>
|
||||
</data>
|
||||
<data name="LICENSE_EDITION_ENTERPRISE_PERUSER" xml:space="preserve">
|
||||
<value>[XenServer product] Pr&emium Per-User</value>
|
||||
</data>
|
||||
<data name="LICENSE_EDITION_ENTERPRISE_PERUSER_LEGACY" xml:space="preserve">
|
||||
<value>[Legacy XenServer product] &Enterprise Per-User</value>
|
||||
</data>
|
||||
<data name="LICENSE_EDITION_PERSOCKET" xml:space="preserve">
|
||||
<value>[XenServer product] Per-&Socket ({0} required)</value>
|
||||
</data>
|
||||
<data name="LICENSE_EDITION_PERSOCKET_LEGACY" xml:space="preserve">
|
||||
<value>[Legacy XenServer product] Per-&Socket ({0} required)</value>
|
||||
</data>
|
||||
<data name="LICENSE_EDITION_STANDARD_PERSOCKET" xml:space="preserve">
|
||||
<value>[XenServer product] &Standard Per-Socket ({0} required)</value>
|
||||
</data>
|
||||
<data name="LICENSE_EDITION_STANDARD_PERSOCKET_LEGACY" xml:space="preserve">
|
||||
<value>[Legacy XenServer product] &Standard Per-Socket ({0} required)</value>
|
||||
</data>
|
||||
<data name="LICENSE_EDITION_XENDESKTOP" xml:space="preserve">
|
||||
<value>[XenServer product] for [Citrix] Virtual &Desktops</value>
|
||||
</data>
|
||||
<data name="LICENSE_EDITION_XENDESKTOP_LEGACY" xml:space="preserve">
|
||||
<value>[Legacy XenServer product] for &XenDesktop</value>
|
||||
</data>
|
||||
<data name="LICENSE_ERROR_1" xml:space="preserve">
|
||||
<value>The licensing action for {0} failed.</value>
|
||||
</data>
|
||||
@ -9701,9 +9746,6 @@ File not found</value>
|
||||
<data name="PERMISSION_DENIED" xml:space="preserve">
|
||||
<value>Permission Denied</value>
|
||||
</data>
|
||||
<data name="PERSOCKET_LICENSES_X_REQUIRED" xml:space="preserve">
|
||||
<value>[Citrix XenServer] Per-&Socket ({0} required)</value>
|
||||
</data>
|
||||
<data name="PHYSICAL_DEVICE" xml:space="preserve">
|
||||
<value>Physical device</value>
|
||||
</data>
|
||||
@ -11247,9 +11289,6 @@ The upper limit: SR size / {2}</value>
|
||||
<data name="SR_X_ON_Y" xml:space="preserve">
|
||||
<value>SR {0} on {1}</value>
|
||||
</data>
|
||||
<data name="STANDARD_PERSOCKET_LICENSES_X_REQUIRED" xml:space="preserve">
|
||||
<value>[XenServer product] &Standard Per-Socket ({0} required)</value>
|
||||
</data>
|
||||
<data name="STARTED" xml:space="preserve">
|
||||
<value>Started</value>
|
||||
</data>
|
||||
|
@ -312,8 +312,7 @@ namespace XenAdmin.Core
|
||||
return true;
|
||||
|
||||
string platform_version = HostPlatformVersion(host);
|
||||
return
|
||||
platform_version != null && productVersionCompare(platform_version, "1.8.90") >= 0;
|
||||
return platform_version != null && productVersionCompare(platform_version, "1.8.90") >= 0;
|
||||
}
|
||||
|
||||
/// <param name="conn">May be null, in which case true is returned.</param>
|
||||
@ -330,8 +329,7 @@ namespace XenAdmin.Core
|
||||
return true;
|
||||
|
||||
string platform_version = HostPlatformVersion(host);
|
||||
return
|
||||
platform_version != null && productVersionCompare(platform_version, "2.0.0") >= 0;
|
||||
return platform_version != null && productVersionCompare(platform_version, "2.0.0") >= 0;
|
||||
}
|
||||
|
||||
/// <param name="conn">May be null, in which case true is returned.</param>
|
||||
@ -348,8 +346,7 @@ namespace XenAdmin.Core
|
||||
return true;
|
||||
|
||||
string platform_version = HostPlatformVersion(host);
|
||||
return
|
||||
platform_version != null && productVersionCompare(platform_version, "2.1.1") >= 0;
|
||||
return platform_version != null && productVersionCompare(platform_version, "2.1.1") >= 0;
|
||||
}
|
||||
|
||||
/// <param name="conn">May be null, in which case true is returned.</param>
|
||||
@ -366,8 +363,7 @@ namespace XenAdmin.Core
|
||||
return true;
|
||||
|
||||
string platform_version = HostPlatformVersion(host);
|
||||
return
|
||||
platform_version != null && productVersionCompare(platform_version, "2.2.50") >= 0;
|
||||
return platform_version != null && productVersionCompare(platform_version, "2.2.50") >= 0;
|
||||
}
|
||||
|
||||
/// <param name="conn">May be null, in which case true is returned.</param>
|
||||
@ -384,8 +380,7 @@ namespace XenAdmin.Core
|
||||
return true;
|
||||
|
||||
string platform_version = HostPlatformVersion(host);
|
||||
return
|
||||
platform_version != null && productVersionCompare(platform_version, "2.3.50") >= 0;
|
||||
return platform_version != null && productVersionCompare(platform_version, "2.3.50") >= 0;
|
||||
}
|
||||
|
||||
/// <param name="conn">May be null, in which case true is returned.</param>
|
||||
@ -402,8 +397,7 @@ namespace XenAdmin.Core
|
||||
return true;
|
||||
|
||||
string platform_version = HostPlatformVersion(host);
|
||||
return
|
||||
platform_version != null && productVersionCompare(platform_version, "2.4.50") >= 0;
|
||||
return platform_version != null && productVersionCompare(platform_version, "2.4.50") >= 0;
|
||||
}
|
||||
|
||||
/// <param name="conn">May be null, in which case true is returned.</param>
|
||||
@ -463,8 +457,7 @@ namespace XenAdmin.Core
|
||||
return true;
|
||||
|
||||
string platform_version = HostPlatformVersion(host);
|
||||
return
|
||||
platform_version != null && productVersionCompare(platform_version, "1.6.900") >= 0;
|
||||
return platform_version != null && productVersionCompare(platform_version, "1.6.900") >= 0;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@ -477,6 +470,23 @@ namespace XenAdmin.Core
|
||||
return conn == null || conn.Session == null || conn.Session.APIVersion >= API_Version.API_2_1;
|
||||
}
|
||||
|
||||
/// <param name="conn">May be null, in which case true is returned.</param>
|
||||
public static bool NaplesOrGreater(IXenConnection conn)
|
||||
{
|
||||
return conn == null || NaplesOrGreater(Helpers.GetMaster(conn));
|
||||
}
|
||||
|
||||
/// Naples is ver. 3.0.0
|
||||
/// <param name="host">May be null, in which case true is returned.</param>
|
||||
public static bool NaplesOrGreater(Host host)
|
||||
{
|
||||
if (host == null)
|
||||
return true;
|
||||
|
||||
string platform_version = HostPlatformVersion(host);
|
||||
return platform_version != null && productVersionCompare(platform_version, "2.9.50") >= 0;
|
||||
}
|
||||
|
||||
// CP-3435: Disable Check for Updates in Common Criteria Certification project
|
||||
public static bool CommonCriteriaCertificationRelease
|
||||
{
|
||||
@ -879,7 +889,8 @@ namespace XenAdmin.Core
|
||||
if (string.IsNullOrEmpty(host.edition))
|
||||
return Messages.UNKNOWN;
|
||||
|
||||
string name = PropertyManager.GetFriendlyName("Label-host.edition-" + host.edition);
|
||||
string legacy = NaplesOrGreater(host) ? "" : "legacy-";
|
||||
string name = PropertyManager.GetFriendlyName("Label-host.edition-" + legacy + host.edition);
|
||||
return name ?? Messages.UNKNOWN;
|
||||
}
|
||||
|
||||
|
@ -78,8 +78,10 @@ namespace XenAPI
|
||||
case "per-socket":
|
||||
return Edition.PerSocket;
|
||||
case "enterprise-per-socket":
|
||||
case "premium-per-socket":
|
||||
return Edition.EnterprisePerSocket;
|
||||
case "enterprise-per-user":
|
||||
case "premium-per-user":
|
||||
return Edition.EnterprisePerUser;
|
||||
case "standard-per-socket":
|
||||
return Edition.StandardPerSocket;
|
||||
@ -118,19 +120,18 @@ namespace XenAPI
|
||||
return false;
|
||||
}
|
||||
|
||||
public static string GetEditionText(Edition edition)
|
||||
public string GetEditionText(Edition edition)
|
||||
{
|
||||
switch (edition)
|
||||
{
|
||||
|
||||
case Edition.XenDesktop:
|
||||
return "xendesktop";
|
||||
case Edition.PerSocket:
|
||||
return "per-socket";
|
||||
case Edition.EnterprisePerSocket:
|
||||
return "enterprise-per-socket";
|
||||
return Helpers.NaplesOrGreater(this) ? "premium-per-socket" : "enterprise-per-socket";
|
||||
case Edition.EnterprisePerUser:
|
||||
return "enterprise-per-user";
|
||||
return Helpers.NaplesOrGreater(this) ? "premium-per-user" : "enterprise-per-user";
|
||||
case Edition.StandardPerSocket:
|
||||
return "standard-per-socket";
|
||||
case Edition.Desktop:
|
||||
@ -144,7 +145,7 @@ namespace XenAPI
|
||||
case Edition.Standard:
|
||||
return "standard";
|
||||
default:
|
||||
return "free";
|
||||
return Helpers.NaplesOrGreater(this) ? "express" : "free";
|
||||
}
|
||||
}
|
||||
|
||||
@ -286,7 +287,7 @@ namespace XenAPI
|
||||
|
||||
public virtual bool IsFreeLicense()
|
||||
{
|
||||
return edition == "free";
|
||||
return edition == "free" || edition == "express";
|
||||
}
|
||||
|
||||
public virtual bool IsFreeLicenseOrExpired()
|
||||
|
Loading…
Reference in New Issue
Block a user