From 21e91d29319d3f35b56cbd3fdff60d6430dd185d Mon Sep 17 00:00:00 2001 From: feodor_fitsner Date: Wed, 26 Sep 2012 10:24:01 -0700 Subject: [PATCH] Incorrect displaying of shared/dedicated IP on website details screen. --- .../Code/WebServers/WebServerController.cs | 17 ++++++++++++----- .../WebsitePanel.Providers.Base/Web/WebSite.cs | 7 +++++++ .../WebsitePanel/WebSitesEditSite.ascx.cs | 8 +++----- 3 files changed, 22 insertions(+), 10 deletions(-) diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/WebServers/WebServerController.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/WebServers/WebServerController.cs index 8cb32b80..4cde88c0 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/WebServers/WebServerController.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/WebServers/WebServerController.cs @@ -133,6 +133,18 @@ namespace WebsitePanel.EnterpriseServer if(ip != null) site.SiteIPAddress = ip.ExternalIP; + // check if site has dedicated IP assigned + var siteIpAddresses = ServerController.GetItemIPAddresses(siteItemId, IPAddressPool.None); + foreach (var siteIp in siteIpAddresses) + { + var packageIpAddress = ServerController.GetPackageIPAddress(siteIp.AddressID); + if (packageIpAddress != null && packageIpAddress.ExternalIP == site.SiteIPAddress) + { + site.IsDedicatedIP = true; + break; + } + } + // truncate home folder site.ContentPath = FilesController.GetVirtualPackagePath(siteItem.PackageId, site.ContentPath); @@ -654,8 +666,6 @@ namespace WebsitePanel.EnterpriseServer { TaskManager.CompleteTask(); } - - return 0; } public static int SwitchWebSiteToSharedIP(int siteItemId) @@ -717,9 +727,6 @@ namespace WebsitePanel.EnterpriseServer { TaskManager.CompleteTask(); } - - return 0; - } private static void FillWebServerBindings(List bindings, List dnsRecords, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/Web/WebSite.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/Web/WebSite.cs index e80b2f1a..f55588ea 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/Web/WebSite.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/Web/WebSite.cs @@ -47,6 +47,7 @@ namespace WebsitePanel.Providers.Web private string siteId; private string siteIPAddress; private int siteIPAddressId; + private bool isDedicatedIP; private string dataPath; private ServerBinding[] bindings; private bool frontPageAvailable; @@ -85,6 +86,12 @@ namespace WebsitePanel.Providers.Web set { siteIPAddressId = value; } } + public bool IsDedicatedIP + { + get { return isDedicatedIP; } + set { isDedicatedIP = value; } + } + /// /// Gets or sets logs path for the web site /// diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebSitesEditSite.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebSitesEditSite.ascx.cs index af5f5e12..410a4f54 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebSitesEditSite.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebSitesEditSite.ascx.cs @@ -176,15 +176,13 @@ namespace WebsitePanel.Portal ddlIpAddresses.Items.Add(new ListItem(fullIP, ip.PackageAddressID.ToString())); } - bool isDedicatedIP = false; - if (!String.IsNullOrEmpty(site.SiteIPAddress)) + if (site.IsDedicatedIP) { litIPAddress.Text = site.SiteIPAddress; - isDedicatedIP = true; } - dedicatedIP.Visible = isDedicatedIP; - sharedIP.Visible = !isDedicatedIP; + dedicatedIP.Visible = site.IsDedicatedIP; + sharedIP.Visible = !site.IsDedicatedIP; cmdSwitchToDedicatedIP.Visible = (ddlIpAddresses.Items.Count > 0);