Merge pull request #1904 from MihaelaStoica/REQ-637

Port CP-26290 to master
This commit is contained in:
Mihaela Stoica 2018-01-02 12:34:58 +00:00 committed by GitHub
commit 30ec0fa743
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
12 changed files with 462 additions and 142 deletions

View File

@ -48,6 +48,7 @@ namespace XenAdmin.Dialogs
this.enterprisePerUserRadioButton = new System.Windows.Forms.RadioButton();
this.desktopPlusRadioButton = new System.Windows.Forms.RadioButton();
this.desktopRadioButton = new System.Windows.Forms.RadioButton();
this.desktopCloudRadioButton = new System.Windows.Forms.RadioButton();
this.standardPerSocketRadioButton = new System.Windows.Forms.RadioButton();
this.buttonsLayoutPanel = new System.Windows.Forms.FlowLayoutPanel();
this.mainLayoutPanel.SuspendLayout();
@ -130,6 +131,7 @@ namespace XenAdmin.Dialogs
this.editionLayoutPanel.Controls.Add(this.enterprisePerUserRadioButton);
this.editionLayoutPanel.Controls.Add(this.desktopPlusRadioButton);
this.editionLayoutPanel.Controls.Add(this.desktopRadioButton);
this.editionLayoutPanel.Controls.Add(this.desktopCloudRadioButton);
this.editionLayoutPanel.Controls.Add(this.standardPerSocketRadioButton);
this.editionLayoutPanel.Name = "editionLayoutPanel";
//
@ -171,6 +173,12 @@ namespace XenAdmin.Dialogs
this.desktopRadioButton.Name = "desktopRadioButton";
this.desktopRadioButton.UseVisualStyleBackColor = true;
//
// desktopCloudRadioButton
//
resources.ApplyResources(this.desktopCloudRadioButton, "desktopCloudRadioButton");
this.desktopCloudRadioButton.Name = "desktopCloudRadioButton";
this.desktopCloudRadioButton.UseVisualStyleBackColor = true;
//
// standardPerSocketRadioButton
//
resources.ApplyResources(this.standardPerSocketRadioButton, "standardPerSocketRadioButton");
@ -228,5 +236,6 @@ namespace XenAdmin.Dialogs
private System.Windows.Forms.RadioButton desktopRadioButton;
private System.Windows.Forms.RadioButton standardPerSocketRadioButton;
private System.Windows.Forms.RadioButton desktopPlusRadioButton;
private System.Windows.Forms.RadioButton desktopCloudRadioButton;
}
}

View File

@ -115,6 +115,8 @@ namespace XenAdmin.Dialogs
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())));
desktopCloudRadioButton.Visible = xos.TrueForAll(x => Helpers.JuraOrGreater(x.Connection));
}
else
{
@ -123,6 +125,7 @@ namespace XenAdmin.Dialogs
standardPerSocketRadioButton.Visible = false;
desktopPlusRadioButton.Visible = false;
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())));
@ -160,6 +163,9 @@ namespace XenAdmin.Dialogs
case Host.Edition.DesktopPlus:
CheckRadioButtonIfVisible(desktopPlusRadioButton);
break;
case Host.Edition.DesktopCloud:
CheckRadioButtonIfVisible(desktopCloudRadioButton);
break;
}
}
@ -183,6 +189,9 @@ namespace XenAdmin.Dialogs
if (desktopPlusRadioButton.Checked)
return Host.Edition.DesktopPlus;
if (desktopCloudRadioButton.Checked)
return Host.Edition.DesktopCloud;
return Host.Edition.StandardPerSocket;
}

View File

@ -189,6 +189,93 @@
<data name="mainLayoutPanel.ColumnCount" type="System.Int32, mscorlib">
<value>1</value>
</data>
<data name="&gt;&gt;licenseServerLayoutPanel.Name" xml:space="preserve">
<value>licenseServerLayoutPanel</value>
</data>
<data name="&gt;&gt;licenseServerLayoutPanel.Type" xml:space="preserve">
<value>System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;licenseServerLayoutPanel.Parent" xml:space="preserve">
<value>mainLayoutPanel</value>
</data>
<data name="&gt;&gt;licenseServerLayoutPanel.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="licenseServerLayoutPanel.LayoutSettings" type="System.Windows.Forms.TableLayoutSettings, System.Windows.Forms">
<value>&lt;?xml version="1.0" encoding="utf-16"?&gt;&lt;TableLayoutSettings&gt;&lt;Controls&gt;&lt;Control Name="licenseServerNameLabel" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;Control Name="licenseServerNameTextBox" Row="0" RowSpan="1" Column="1" ColumnSpan="1" /&gt;&lt;Control Name="licenseServerPortTextBox" Row="0" RowSpan="1" Column="3" ColumnSpan="1" /&gt;&lt;Control Name="colonLabel" Row="0" RowSpan="1" Column="2" ColumnSpan="1" /&gt;&lt;/Controls&gt;&lt;Columns Styles="AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0" /&gt;&lt;Rows Styles="AutoSize,0" /&gt;&lt;/TableLayoutSettings&gt;</value>
</data>
<data name="&gt;&gt;mainLabel.Name" xml:space="preserve">
<value>mainLabel</value>
</data>
<data name="&gt;&gt;mainLabel.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;mainLabel.Parent" xml:space="preserve">
<value>mainLayoutPanel</value>
</data>
<data name="&gt;&gt;mainLabel.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="&gt;&gt;editionsGroupBox.Name" xml:space="preserve">
<value>editionsGroupBox</value>
</data>
<data name="&gt;&gt;editionsGroupBox.Type" xml:space="preserve">
<value>System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;editionsGroupBox.Parent" xml:space="preserve">
<value>mainLayoutPanel</value>
</data>
<data name="&gt;&gt;editionsGroupBox.ZOrder" xml:space="preserve">
<value>2</value>
</data>
<data name="&gt;&gt;buttonsLayoutPanel.Name" xml:space="preserve">
<value>buttonsLayoutPanel</value>
</data>
<data name="&gt;&gt;buttonsLayoutPanel.Type" xml:space="preserve">
<value>System.Windows.Forms.FlowLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;buttonsLayoutPanel.Parent" xml:space="preserve">
<value>mainLayoutPanel</value>
</data>
<data name="&gt;&gt;buttonsLayoutPanel.ZOrder" xml:space="preserve">
<value>3</value>
</data>
<data name="mainLayoutPanel.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value>
</data>
<data name="mainLayoutPanel.Font" type="System.Drawing.Font, System.Drawing">
<value>Segoe UI, 9pt</value>
</data>
<data name="mainLayoutPanel.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 0</value>
</data>
<data name="mainLayoutPanel.Padding" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>8, 8, 8, 8</value>
</data>
<data name="mainLayoutPanel.RowCount" type="System.Int32, mscorlib">
<value>6</value>
</data>
<data name="mainLayoutPanel.Size" type="System.Drawing.Size, System.Drawing">
<value>547, 368</value>
</data>
<data name="mainLayoutPanel.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
</data>
<data name="&gt;&gt;mainLayoutPanel.Name" xml:space="preserve">
<value>mainLayoutPanel</value>
</data>
<data name="&gt;&gt;mainLayoutPanel.Type" xml:space="preserve">
<value>System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;mainLayoutPanel.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;mainLayoutPanel.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="mainLayoutPanel.LayoutSettings" type="System.Windows.Forms.TableLayoutSettings, System.Windows.Forms">
<value>&lt;?xml version="1.0" encoding="utf-16"?&gt;&lt;TableLayoutSettings&gt;&lt;Controls&gt;&lt;Control Name="licenseServerLayoutPanel" Row="1" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;Control Name="mainLabel" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;Control Name="editionsGroupBox" Row="2" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;Control Name="buttonsLayoutPanel" Row="3" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;/Controls&gt;&lt;Columns Styles="Percent,100" /&gt;&lt;Rows Styles="AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,Percent,100,Absolute,20" /&gt;&lt;/TableLayoutSettings&gt;</value>
</data>
<data name="licenseServerLayoutPanel.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
@ -198,6 +285,90 @@
<data name="licenseServerLayoutPanel.ColumnCount" type="System.Int32, mscorlib">
<value>4</value>
</data>
<data name="&gt;&gt;licenseServerNameLabel.Name" xml:space="preserve">
<value>licenseServerNameLabel</value>
</data>
<data name="&gt;&gt;licenseServerNameLabel.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;licenseServerNameLabel.Parent" xml:space="preserve">
<value>licenseServerLayoutPanel</value>
</data>
<data name="&gt;&gt;licenseServerNameLabel.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="&gt;&gt;licenseServerNameTextBox.Name" xml:space="preserve">
<value>licenseServerNameTextBox</value>
</data>
<data name="&gt;&gt;licenseServerNameTextBox.Type" xml:space="preserve">
<value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;licenseServerNameTextBox.Parent" xml:space="preserve">
<value>licenseServerLayoutPanel</value>
</data>
<data name="&gt;&gt;licenseServerNameTextBox.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="&gt;&gt;licenseServerPortTextBox.Name" xml:space="preserve">
<value>licenseServerPortTextBox</value>
</data>
<data name="&gt;&gt;licenseServerPortTextBox.Type" xml:space="preserve">
<value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;licenseServerPortTextBox.Parent" xml:space="preserve">
<value>licenseServerLayoutPanel</value>
</data>
<data name="&gt;&gt;licenseServerPortTextBox.ZOrder" xml:space="preserve">
<value>2</value>
</data>
<data name="&gt;&gt;colonLabel.Name" xml:space="preserve">
<value>colonLabel</value>
</data>
<data name="&gt;&gt;colonLabel.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;colonLabel.Parent" xml:space="preserve">
<value>licenseServerLayoutPanel</value>
</data>
<data name="&gt;&gt;colonLabel.ZOrder" xml:space="preserve">
<value>3</value>
</data>
<data name="licenseServerLayoutPanel.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value>
</data>
<data name="licenseServerLayoutPanel.Font" type="System.Drawing.Font, System.Drawing">
<value>Segoe UI, 9pt</value>
</data>
<data name="licenseServerLayoutPanel.Location" type="System.Drawing.Point, System.Drawing">
<value>11, 41</value>
</data>
<data name="licenseServerLayoutPanel.Padding" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>8, 8, 8, 8</value>
</data>
<data name="licenseServerLayoutPanel.RowCount" type="System.Int32, mscorlib">
<value>1</value>
</data>
<data name="licenseServerLayoutPanel.Size" type="System.Drawing.Size, System.Drawing">
<value>525, 45</value>
</data>
<data name="licenseServerLayoutPanel.TabIndex" type="System.Int32, mscorlib">
<value>1</value>
</data>
<data name="&gt;&gt;licenseServerLayoutPanel.Name" xml:space="preserve">
<value>licenseServerLayoutPanel</value>
</data>
<data name="&gt;&gt;licenseServerLayoutPanel.Type" xml:space="preserve">
<value>System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;licenseServerLayoutPanel.Parent" xml:space="preserve">
<value>mainLayoutPanel</value>
</data>
<data name="&gt;&gt;licenseServerLayoutPanel.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="licenseServerLayoutPanel.LayoutSettings" type="System.Windows.Forms.TableLayoutSettings, System.Windows.Forms">
<value>&lt;?xml version="1.0" encoding="utf-16"?&gt;&lt;TableLayoutSettings&gt;&lt;Controls&gt;&lt;Control Name="licenseServerNameLabel" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;Control Name="licenseServerNameTextBox" Row="0" RowSpan="1" Column="1" ColumnSpan="1" /&gt;&lt;Control Name="licenseServerPortTextBox" Row="0" RowSpan="1" Column="3" ColumnSpan="1" /&gt;&lt;Control Name="colonLabel" Row="0" RowSpan="1" Column="2" ColumnSpan="1" /&gt;&lt;/Controls&gt;&lt;Columns Styles="AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0" /&gt;&lt;Rows Styles="AutoSize,0" /&gt;&lt;/TableLayoutSettings&gt;</value>
</data>
<data name="licenseServerNameLabel.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
@ -324,42 +495,6 @@
<data name="&gt;&gt;colonLabel.ZOrder" xml:space="preserve">
<value>3</value>
</data>
<data name="licenseServerLayoutPanel.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value>
</data>
<data name="licenseServerLayoutPanel.Font" type="System.Drawing.Font, System.Drawing">
<value>Segoe UI, 9pt</value>
</data>
<data name="licenseServerLayoutPanel.Location" type="System.Drawing.Point, System.Drawing">
<value>11, 41</value>
</data>
<data name="licenseServerLayoutPanel.Padding" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>8, 8, 8, 8</value>
</data>
<data name="licenseServerLayoutPanel.RowCount" type="System.Int32, mscorlib">
<value>1</value>
</data>
<data name="licenseServerLayoutPanel.Size" type="System.Drawing.Size, System.Drawing">
<value>525, 45</value>
</data>
<data name="licenseServerLayoutPanel.TabIndex" type="System.Int32, mscorlib">
<value>1</value>
</data>
<data name="&gt;&gt;licenseServerLayoutPanel.Name" xml:space="preserve">
<value>licenseServerLayoutPanel</value>
</data>
<data name="&gt;&gt;licenseServerLayoutPanel.Type" xml:space="preserve">
<value>System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;licenseServerLayoutPanel.Parent" xml:space="preserve">
<value>mainLayoutPanel</value>
</data>
<data name="&gt;&gt;licenseServerLayoutPanel.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="licenseServerLayoutPanel.LayoutSettings" type="System.Windows.Forms.TableLayoutSettings, System.Windows.Forms">
<value>&lt;?xml version="1.0" encoding="utf-16"?&gt;&lt;TableLayoutSettings&gt;&lt;Controls&gt;&lt;Control Name="licenseServerNameLabel" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;Control Name="licenseServerNameTextBox" Row="0" RowSpan="1" Column="1" ColumnSpan="1" /&gt;&lt;Control Name="licenseServerPortTextBox" Row="0" RowSpan="1" Column="3" ColumnSpan="1" /&gt;&lt;Control Name="colonLabel" Row="0" RowSpan="1" Column="2" ColumnSpan="1" /&gt;&lt;/Controls&gt;&lt;Columns Styles="AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0" /&gt;&lt;Rows Styles="AutoSize,0" /&gt;&lt;/TableLayoutSettings&gt;</value>
</data>
<data name="mainLabel.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value>
</data>
@ -399,12 +534,183 @@
<data name="editionsGroupBox.AutoSizeMode" type="System.Windows.Forms.AutoSizeMode, System.Windows.Forms">
<value>GrowAndShrink</value>
</data>
<data name="&gt;&gt;editionLayoutPanel.Name" xml:space="preserve">
<value>editionLayoutPanel</value>
</data>
<data name="&gt;&gt;editionLayoutPanel.Type" xml:space="preserve">
<value>System.Windows.Forms.FlowLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;editionLayoutPanel.Parent" xml:space="preserve">
<value>editionsGroupBox</value>
</data>
<data name="&gt;&gt;editionLayoutPanel.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="editionsGroupBox.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value>
</data>
<data name="editionsGroupBox.Font" type="System.Drawing.Font, System.Drawing">
<value>Segoe UI, 9pt</value>
</data>
<data name="editionsGroupBox.Location" type="System.Drawing.Point, System.Drawing">
<value>11, 92</value>
</data>
<data name="editionsGroupBox.Size" type="System.Drawing.Size, System.Drawing">
<value>525, 226</value>
</data>
<data name="editionsGroupBox.TabIndex" type="System.Int32, mscorlib">
<value>2</value>
</data>
<data name="editionsGroupBox.Text" xml:space="preserve">
<value>License</value>
</data>
<data name="&gt;&gt;editionsGroupBox.Name" xml:space="preserve">
<value>editionsGroupBox</value>
</data>
<data name="&gt;&gt;editionsGroupBox.Type" xml:space="preserve">
<value>System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;editionsGroupBox.Parent" xml:space="preserve">
<value>mainLayoutPanel</value>
</data>
<data name="&gt;&gt;editionsGroupBox.ZOrder" xml:space="preserve">
<value>2</value>
</data>
<data name="editionLayoutPanel.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="editionLayoutPanel.AutoSizeMode" type="System.Windows.Forms.AutoSizeMode, System.Windows.Forms">
<value>GrowAndShrink</value>
</data>
<data name="&gt;&gt;perSocketRadioButton.Name" xml:space="preserve">
<value>perSocketRadioButton</value>
</data>
<data name="&gt;&gt;perSocketRadioButton.Type" xml:space="preserve">
<value>System.Windows.Forms.RadioButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;perSocketRadioButton.Parent" xml:space="preserve">
<value>editionLayoutPanel</value>
</data>
<data name="&gt;&gt;perSocketRadioButton.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="&gt;&gt;xenDesktopEnterpriseRadioButton.Name" xml:space="preserve">
<value>xenDesktopEnterpriseRadioButton</value>
</data>
<data name="&gt;&gt;xenDesktopEnterpriseRadioButton.Type" xml:space="preserve">
<value>System.Windows.Forms.RadioButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;xenDesktopEnterpriseRadioButton.Parent" xml:space="preserve">
<value>editionLayoutPanel</value>
</data>
<data name="&gt;&gt;xenDesktopEnterpriseRadioButton.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="&gt;&gt;enterprisePerSocketRadioButton.Name" xml:space="preserve">
<value>enterprisePerSocketRadioButton</value>
</data>
<data name="&gt;&gt;enterprisePerSocketRadioButton.Type" xml:space="preserve">
<value>System.Windows.Forms.RadioButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;enterprisePerSocketRadioButton.Parent" xml:space="preserve">
<value>editionLayoutPanel</value>
</data>
<data name="&gt;&gt;enterprisePerSocketRadioButton.ZOrder" xml:space="preserve">
<value>2</value>
</data>
<data name="&gt;&gt;enterprisePerUserRadioButton.Name" xml:space="preserve">
<value>enterprisePerUserRadioButton</value>
</data>
<data name="&gt;&gt;enterprisePerUserRadioButton.Type" xml:space="preserve">
<value>System.Windows.Forms.RadioButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;enterprisePerUserRadioButton.Parent" xml:space="preserve">
<value>editionLayoutPanel</value>
</data>
<data name="&gt;&gt;enterprisePerUserRadioButton.ZOrder" xml:space="preserve">
<value>3</value>
</data>
<data name="&gt;&gt;desktopPlusRadioButton.Name" xml:space="preserve">
<value>desktopPlusRadioButton</value>
</data>
<data name="&gt;&gt;desktopPlusRadioButton.Type" xml:space="preserve">
<value>System.Windows.Forms.RadioButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;desktopPlusRadioButton.Parent" xml:space="preserve">
<value>editionLayoutPanel</value>
</data>
<data name="&gt;&gt;desktopPlusRadioButton.ZOrder" xml:space="preserve">
<value>4</value>
</data>
<data name="&gt;&gt;desktopRadioButton.Name" xml:space="preserve">
<value>desktopRadioButton</value>
</data>
<data name="&gt;&gt;desktopRadioButton.Type" xml:space="preserve">
<value>System.Windows.Forms.RadioButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;desktopRadioButton.Parent" xml:space="preserve">
<value>editionLayoutPanel</value>
</data>
<data name="&gt;&gt;desktopRadioButton.ZOrder" xml:space="preserve">
<value>5</value>
</data>
<data name="&gt;&gt;desktopCloudRadioButton.Name" xml:space="preserve">
<value>desktopCloudRadioButton</value>
</data>
<data name="&gt;&gt;desktopCloudRadioButton.Type" xml:space="preserve">
<value>System.Windows.Forms.RadioButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;desktopCloudRadioButton.Parent" xml:space="preserve">
<value>editionLayoutPanel</value>
</data>
<data name="&gt;&gt;desktopCloudRadioButton.ZOrder" xml:space="preserve">
<value>6</value>
</data>
<data name="&gt;&gt;standardPerSocketRadioButton.Name" xml:space="preserve">
<value>standardPerSocketRadioButton</value>
</data>
<data name="&gt;&gt;standardPerSocketRadioButton.Type" xml:space="preserve">
<value>System.Windows.Forms.RadioButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;standardPerSocketRadioButton.Parent" xml:space="preserve">
<value>editionLayoutPanel</value>
</data>
<data name="&gt;&gt;standardPerSocketRadioButton.ZOrder" xml:space="preserve">
<value>7</value>
</data>
<data name="editionLayoutPanel.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value>
</data>
<data name="editionLayoutPanel.FlowDirection" type="System.Windows.Forms.FlowDirection, System.Windows.Forms">
<value>TopDown</value>
</data>
<data name="editionLayoutPanel.Font" type="System.Drawing.Font, System.Drawing">
<value>Segoe UI, 9pt</value>
</data>
<data name="editionLayoutPanel.Location" type="System.Drawing.Point, System.Drawing">
<value>3, 19</value>
</data>
<data name="editionLayoutPanel.Padding" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>4, 0, 4, 4</value>
</data>
<data name="editionLayoutPanel.Size" type="System.Drawing.Size, System.Drawing">
<value>519, 204</value>
</data>
<data name="editionLayoutPanel.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
</data>
<data name="&gt;&gt;editionLayoutPanel.Name" xml:space="preserve">
<value>editionLayoutPanel</value>
</data>
<data name="&gt;&gt;editionLayoutPanel.Type" xml:space="preserve">
<value>System.Windows.Forms.FlowLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;editionLayoutPanel.Parent" xml:space="preserve">
<value>editionsGroupBox</value>
</data>
<data name="&gt;&gt;editionLayoutPanel.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="perSocketRadioButton.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
@ -606,6 +912,42 @@
<data name="&gt;&gt;desktopRadioButton.ZOrder" xml:space="preserve">
<value>5</value>
</data>
<data name="desktopCloudRadioButton.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="desktopCloudRadioButton.Font" type="System.Drawing.Font, System.Drawing">
<value>Segoe UI, 9pt</value>
</data>
<data name="desktopCloudRadioButton.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="desktopCloudRadioButton.Location" type="System.Drawing.Point, System.Drawing">
<value>7, 153</value>
</data>
<data name="desktopCloudRadioButton.Size" type="System.Drawing.Size, System.Drawing">
<value>208, 19</value>
</data>
<data name="desktopCloudRadioButton.TabIndex" type="System.Int32, mscorlib">
<value>6</value>
</data>
<data name="desktopCloudRadioButton.Text" xml:space="preserve">
<value>XenApp/XenDesktop [Citrix] &amp;Cloud</value>
</data>
<data name="desktopCloudRadioButton.Visible" type="System.Boolean, mscorlib">
<value>False</value>
</data>
<data name="&gt;&gt;desktopCloudRadioButton.Name" xml:space="preserve">
<value>desktopCloudRadioButton</value>
</data>
<data name="&gt;&gt;desktopCloudRadioButton.Type" xml:space="preserve">
<value>System.Windows.Forms.RadioButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;desktopCloudRadioButton.Parent" xml:space="preserve">
<value>editionLayoutPanel</value>
</data>
<data name="&gt;&gt;desktopCloudRadioButton.ZOrder" xml:space="preserve">
<value>6</value>
</data>
<data name="standardPerSocketRadioButton.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
@ -616,13 +958,13 @@
<value>NoControl</value>
</data>
<data name="standardPerSocketRadioButton.Location" type="System.Drawing.Point, System.Drawing">
<value>7, 153</value>
<value>7, 178</value>
</data>
<data name="standardPerSocketRadioButton.Size" type="System.Drawing.Size, System.Drawing">
<value>240, 19</value>
</data>
<data name="standardPerSocketRadioButton.TabIndex" type="System.Int32, mscorlib">
<value>6</value>
<value>7</value>
</data>
<data name="standardPerSocketRadioButton.Text" xml:space="preserve">
<value>[XenServer product] &amp;Standard Per-Socket</value>
@ -637,70 +979,7 @@
<value>editionLayoutPanel</value>
</data>
<data name="&gt;&gt;standardPerSocketRadioButton.ZOrder" xml:space="preserve">
<value>6</value>
</data>
<data name="editionLayoutPanel.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value>
</data>
<data name="editionLayoutPanel.FlowDirection" type="System.Windows.Forms.FlowDirection, System.Windows.Forms">
<value>TopDown</value>
</data>
<data name="editionLayoutPanel.Font" type="System.Drawing.Font, System.Drawing">
<value>Segoe UI, 9pt</value>
</data>
<data name="editionLayoutPanel.Location" type="System.Drawing.Point, System.Drawing">
<value>3, 19</value>
</data>
<data name="editionLayoutPanel.Padding" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>4, 0, 4, 4</value>
</data>
<data name="editionLayoutPanel.Size" type="System.Drawing.Size, System.Drawing">
<value>519, 179</value>
</data>
<data name="editionLayoutPanel.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
</data>
<data name="&gt;&gt;editionLayoutPanel.Name" xml:space="preserve">
<value>editionLayoutPanel</value>
</data>
<data name="&gt;&gt;editionLayoutPanel.Type" xml:space="preserve">
<value>System.Windows.Forms.FlowLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;editionLayoutPanel.Parent" xml:space="preserve">
<value>editionsGroupBox</value>
</data>
<data name="&gt;&gt;editionLayoutPanel.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="editionsGroupBox.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value>
</data>
<data name="editionsGroupBox.Font" type="System.Drawing.Font, System.Drawing">
<value>Segoe UI, 9pt</value>
</data>
<data name="editionsGroupBox.Location" type="System.Drawing.Point, System.Drawing">
<value>11, 92</value>
</data>
<data name="editionsGroupBox.Size" type="System.Drawing.Size, System.Drawing">
<value>525, 201</value>
</data>
<data name="editionsGroupBox.TabIndex" type="System.Int32, mscorlib">
<value>2</value>
</data>
<data name="editionsGroupBox.Text" xml:space="preserve">
<value>License</value>
</data>
<data name="&gt;&gt;editionsGroupBox.Name" xml:space="preserve">
<value>editionsGroupBox</value>
</data>
<data name="&gt;&gt;editionsGroupBox.Type" xml:space="preserve">
<value>System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;editionsGroupBox.Parent" xml:space="preserve">
<value>mainLayoutPanel</value>
</data>
<data name="&gt;&gt;editionsGroupBox.ZOrder" xml:space="preserve">
<value>2</value>
<value>7</value>
</data>
<data name="buttonsLayoutPanel.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
@ -715,7 +994,7 @@
<value>Segoe UI, 9pt</value>
</data>
<data name="buttonsLayoutPanel.Location" type="System.Drawing.Point, System.Drawing">
<value>350, 304</value>
<value>350, 329</value>
</data>
<data name="buttonsLayoutPanel.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>3, 8, 3, 3</value>
@ -738,42 +1017,6 @@
<data name="&gt;&gt;buttonsLayoutPanel.ZOrder" xml:space="preserve">
<value>3</value>
</data>
<data name="mainLayoutPanel.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value>
</data>
<data name="mainLayoutPanel.Font" type="System.Drawing.Font, System.Drawing">
<value>Segoe UI, 9pt</value>
</data>
<data name="mainLayoutPanel.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 0</value>
</data>
<data name="mainLayoutPanel.Padding" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>8, 8, 8, 8</value>
</data>
<data name="mainLayoutPanel.RowCount" type="System.Int32, mscorlib">
<value>6</value>
</data>
<data name="mainLayoutPanel.Size" type="System.Drawing.Size, System.Drawing">
<value>547, 346</value>
</data>
<data name="mainLayoutPanel.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
</data>
<data name="&gt;&gt;mainLayoutPanel.Name" xml:space="preserve">
<value>mainLayoutPanel</value>
</data>
<data name="&gt;&gt;mainLayoutPanel.Type" xml:space="preserve">
<value>System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;mainLayoutPanel.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;mainLayoutPanel.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="mainLayoutPanel.LayoutSettings" type="System.Windows.Forms.TableLayoutSettings, System.Windows.Forms">
<value>&lt;?xml version="1.0" encoding="utf-16"?&gt;&lt;TableLayoutSettings&gt;&lt;Controls&gt;&lt;Control Name="licenseServerLayoutPanel" Row="1" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;Control Name="mainLabel" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;Control Name="editionsGroupBox" Row="2" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;Control Name="buttonsLayoutPanel" Row="3" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;/Controls&gt;&lt;Columns Styles="Percent,100" /&gt;&lt;Rows Styles="AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,Percent,100,Absolute,20" /&gt;&lt;/TableLayoutSettings&gt;</value>
</data>
<metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
@ -787,11 +1030,14 @@
<value>GrowAndShrink</value>
</data>
<data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
<value>547, 346</value>
<value>547, 368</value>
</data>
<data name="$this.Font" type="System.Drawing.Font, System.Drawing">
<value>Segoe UI, 9pt</value>
</data>
<data name="$this.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="$this.Text" xml:space="preserve">
<value>Apply License</value>
</data>

View File

@ -356,6 +356,8 @@ namespace XenAdmin.Dialogs
return Messages.LICENSE_SUPPORT_AND_DESKTOP_PLUS_FEATURES_ENABLED;
if (XenObject.Connection.Cache.Hosts.All(h => h.DesktopFeaturesEnabled()))
return Messages.LICENSE_SUPPORT_AND_DESKTOP_FEATURES_ENABLED;
if (XenObject.Connection.Cache.Hosts.All(h => h.DesktopCloudFeaturesEnabled()))
return Messages.LICENSE_SUPPORT_AND_DESKTOP_CLOUD_FEATURES_ENABLED;
if (XenObject.Connection.Cache.Hosts.All(h => h.PremiumFeaturesEnabled()))
return Messages.LICENSE_SUPPORT_AND_PREMIUM_FEATURES_ENABLED;
if (XenObject.Connection.Cache.Hosts.All(h => h.StandardFeaturesEnabled()))

View File

@ -720,7 +720,7 @@ namespace XenAdmin.Wizards.ImportWizard
private void ShowXenAppXenDesktopWarning(IXenConnection connection)
{
if (connection.Cache.Hosts.Any(h => h.DesktopFeaturesEnabled() || h.DesktopPlusFeaturesEnabled()))
if (connection.Cache.Hosts.Any(h => h.DesktopFeaturesEnabled() || h.DesktopPlusFeaturesEnabled() || h.DesktopCloudFeaturesEnabled()))
ShowInformationMessage(Helpers.GetPool(connection) != null ? Messages.NEWVMWIZARD_XENAPP_XENDESKTOP_INFO_MESSAGE_POOL : Messages.NEWVMWIZARD_XENAPP_XENDESKTOP_INFO_MESSAGE_SERVER);
}

View File

@ -308,7 +308,7 @@ namespace XenAdmin.Wizards.NewVMWizard
private void ShowXenAppXenDesktopWarning(IXenConnection connection)
{
if (connection.Cache.Hosts.Any(h => h.DesktopFeaturesEnabled() || h.DesktopPlusFeaturesEnabled()))
if (connection.Cache.Hosts.Any(h => h.DesktopFeaturesEnabled() || h.DesktopPlusFeaturesEnabled() || h.DesktopCloudFeaturesEnabled()))
ShowInformationMessage(Helpers.GetPool(connection) != null ? Messages.NEWVMWIZARD_XENAPP_XENDESKTOP_INFO_MESSAGE_POOL : Messages.NEWVMWIZARD_XENAPP_XENDESKTOP_INFO_MESSAGE_SERVER);
}
}

View File

@ -798,6 +798,15 @@ namespace XenAdmin {
}
}
/// <summary>
/// Looks up a localized string similar to XenApp/XenDesktop [Citrix] Cloud.
/// </summary>
public static string Label_host_edition_desktop_cloud {
get {
return ResourceManager.GetString("Label-host.edition-desktop-cloud", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to XenApp/XenDesktop Platinum.
/// </summary>

View File

@ -1835,4 +1835,7 @@
<data name="Message.action-pbd_plug_failed_on_server_start" xml:space="preserve">
<value>Repair Storage</value>
</data>
<data name="Label-host.edition-desktop-cloud" xml:space="preserve">
<value>XenApp/XenDesktop [Citrix] Cloud</value>
</data>
</root>

View File

@ -20178,6 +20178,16 @@ namespace XenAdmin {
}
}
/// <summary>
/// Looks up a localized string similar to Eligible for support
///XenAdd/XenDesktop [Citrix] Cloud features enabled.
/// </summary>
public static string LICENSE_SUPPORT_AND_DESKTOP_CLOUD_FEATURES_ENABLED {
get {
return ResourceManager.GetString("LICENSE_SUPPORT_AND_DESKTOP_CLOUD_FEATURES_ENABLED", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Eligible for support
///XenApp/XenDesktop features enabled.

View File

@ -7027,6 +7027,10 @@ Size: {3}</value>
<data name="LICENSE_STATUS" xml:space="preserve">
<value>Status</value>
</data>
<data name="LICENSE_SUPPORT_AND_DESKTOP_CLOUD_FEATURES_ENABLED" xml:space="preserve">
<value>Eligible for support
XenAdd/XenDesktop [Citrix] Cloud features enabled</value>
</data>
<data name="LICENSE_SUPPORT_AND_DESKTOP_FEATURES_ENABLED" xml:space="preserve">
<value>Eligible for support
XenApp/XenDesktop features enabled</value>

View File

@ -398,6 +398,24 @@ namespace XenAdmin.Core
platform_version != null && productVersionCompare(platform_version, "2.3.50") >= 0;
}
/// <param name="conn">May be null, in which case true is returned.</param>
public static bool JuraOrGreater(IXenConnection conn)
{
return conn == null || JuraOrGreater(Helpers.GetMaster(conn));
}
/// Jura is ver. 2.5.0
/// <param name="host">May be null, in which case true is returned.</param>
public static bool JuraOrGreater(Host host)
{
if (host == null)
return true;
string platform_version = HostPlatformVersion(host);
return
platform_version != null && productVersionCompare(platform_version, "2.4.50") >= 0;
}
/// <param name="conn">May be null, in which case true is returned.</param>
public static bool KolkataOrGreater(IXenConnection conn)
{

View File

@ -58,6 +58,7 @@ namespace XenAPI
EnterprisePerSocket, // Added in Creedence (enterprise-per-socket)
EnterprisePerUser, // Added in Creedence (enterprise-per-user)
DesktopPlus, // Added in Creedence (desktop-plus)
DesktopCloud, // Added in Jura (desktop-cloud)
Premium // Added in Indigo (premium)
}
@ -86,6 +87,8 @@ namespace XenAPI
return Edition.Desktop;
case "desktop-plus":
return Edition.DesktopPlus;
case "desktop-cloud":
return Edition.DesktopCloud;
case "basic":
return Edition.Free;
case "premium":
@ -134,6 +137,8 @@ namespace XenAPI
return "desktop";
case Edition.DesktopPlus:
return "desktop-plus";
case Edition.DesktopCloud:
return "desktop-cloud";
case Edition.Premium:
return "premium";
case Edition.Standard:
@ -1319,6 +1324,11 @@ namespace XenAPI
return GetEdition(edition) == Edition.Desktop;
}
public bool DesktopCloudFeaturesEnabled()
{
return GetEdition(edition) == Edition.DesktopCloud;
}
public bool PremiumFeaturesEnabled()
{
return GetEdition(edition) == Edition.Premium;