From 6acb71d4b3a3de960aba55f8252390cd62053298 Mon Sep 17 00:00:00 2001 From: dev_amdtel Date: Tue, 5 Aug 2014 18:32:21 +0400 Subject: [PATCH 1/2] Account Home Organization module --- .../App_Data/WebsitePanel_Modules.config | 7 +- .../App_Data/WebsitePanel_Pages.config | 1 + .../WebsitePanel_Modules.ascx.resx | 3 + .../UserOrganization.ascx.resx | 252 +++++++++ .../WebsitePanel/OrganizationMenu.ascx.cs | 337 +----------- .../UserControls/OrganizationMenuControl.cs | 480 ++++++++++++++++++ .../WebsitePanel/UserOrganization.ascx | 20 + .../WebsitePanel/UserOrganization.ascx.cs | 132 +++++ .../UserOrganization.ascx.designer.cs | 33 ++ .../WebsitePanel.Portal.Modules.csproj | 14 + 10 files changed, 955 insertions(+), 324 deletions(-) create mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/App_LocalResources/UserOrganization.ascx.resx create mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/OrganizationMenuControl.cs create mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserOrganization.ascx create mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserOrganization.ascx.cs create mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserOrganization.ascx.designer.cs diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/App_Data/WebsitePanel_Modules.config b/WebsitePanel/Sources/WebsitePanel.WebPortal/App_Data/WebsitePanel_Modules.config index 7d629900..751c3884 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/App_Data/WebsitePanel_Modules.config +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/App_Data/WebsitePanel_Modules.config @@ -54,7 +54,12 @@ - + + + + + + diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/App_Data/WebsitePanel_Pages.config b/WebsitePanel/Sources/WebsitePanel.WebPortal/App_Data/WebsitePanel_Pages.config index 9dd556ee..cca4b918 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/App_Data/WebsitePanel_Pages.config +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/App_Data/WebsitePanel_Pages.config @@ -38,6 +38,7 @@ + diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/App_GlobalResources/WebsitePanel_Modules.ascx.resx b/WebsitePanel/Sources/WebsitePanel.WebPortal/App_GlobalResources/WebsitePanel_Modules.ascx.resx index 2a1aabc9..b408a42b 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/App_GlobalResources/WebsitePanel_Modules.ascx.resx +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/App_GlobalResources/WebsitePanel_Modules.ascx.resx @@ -786,4 +786,7 @@ Phone Numbers + + Hosted Organization + \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/App_LocalResources/UserOrganization.ascx.resx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/App_LocalResources/UserOrganization.ascx.resx new file mode 100644 index 00000000..585341ab --- /dev/null +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/App_LocalResources/UserOrganization.ascx.resx @@ -0,0 +1,252 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Creation Date + + + Hosting Plan + + + Name + + + Pricing + + + Server + + + Status + + + Switch to this Space + + + ActiveSync Policy + + + BlackBerry + + + BlackBerry Users + + + Contacts + + + CRM 2013 + + + CRM + + + CRM Organization + + + CRM Users + + + Disclaimers + + + Distribution Lists + + + Domains + + + Drive Maps + + + Folders + + + Enterprise Storage + + + Accepted Domains + + + Exchange + + + Lync Federation Domains + + + Lync + + + Phone Numbers + + + Lync User Plans + + + Lync Users + + + Mailboxes + + + Mailbox Plans + + + OCS + + + OCS Users + + + Organization + + + Organization Home + + + Public Folders + + + Retention Policy + + + Retention Policy Tag + + + Groups + + + Setup + + + SharePoint + + + Site Collections + + + Storage Settings + + + Storage Usage + + + Users + + \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/OrganizationMenu.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/OrganizationMenu.ascx.cs index acb67ad5..2d9d4e6f 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/OrganizationMenu.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/OrganizationMenu.ascx.cs @@ -31,16 +31,20 @@ using System.Web.UI.WebControls; using WebsitePanel.EnterpriseServer; using WebsitePanel.WebPortal; +using WebsitePanel.Portal.UserControls; namespace WebsitePanel.Portal { - public partial class OrganizationMenu : WebsitePanelModuleBase + public partial class OrganizationMenu : OrganizationMenuControl { private const string PID_SPACE_EXCHANGE_SERVER = "SpaceExchangeServer"; protected void Page_Load(object sender, EventArgs e) { + ShortMenu = false; + ShowImg = false; + // organization bool orgVisible = (PanelRequest.ItemID > 0 && Request[DefaultPage.PAGE_ID_PARAM].Equals(PID_SPACE_EXCHANGE_SERVER, StringComparison.InvariantCultureIgnoreCase)); @@ -53,331 +57,18 @@ namespace WebsitePanel.Portal menu.Items.Add(rootItem); + //Add "Organization Home" menu item + MenuItem item = new MenuItem( + GetLocalizedString("Text.OrganizationHome"), + "", + "", + PortalUtils.EditUrl("ItemID", PanelRequest.ItemID.ToString(), "organization_home", "SpaceID=" + PanelSecurity.PackageId)); + + rootItem.ChildItems.Add(item); + BindMenu(rootItem.ChildItems); } } - private void BindMenu(MenuItemCollection items) - { - PackageContext cntx = PackagesHelper.GetCachedPackageContext(PanelSecurity.PackageId); - - string imagePath = String.Concat("~/", DefaultPage.THEMES_FOLDER, "/", Page.Theme, "/", "Images/Exchange", "/"); - - //Add "Organization Home" menu item - MenuItem item = new MenuItem( - GetLocalizedString("Text.OrganizationHome"), - "", - "", - PortalUtils.EditUrl("ItemID", PanelRequest.ItemID.ToString(), "organization_home", "SpaceID=" + PanelSecurity.PackageId)); - - items.Add(item); - - //Organization menu group; - if (cntx.Groups.ContainsKey(ResourceGroups.HostedOrganizations)) - PrepareOrganizationMenuRoot(cntx, items, imagePath); - - //Exchange menu group; - if (cntx.Groups.ContainsKey(ResourceGroups.Exchange)) - PrepareExchangeMenuRoot(cntx, items, imagePath); - - //BlackBerry Menu - if (cntx.Groups.ContainsKey(ResourceGroups.BlackBerry)) - PrepareBlackBerryMenuRoot(cntx, items, imagePath); - - //SharePoint menu group; - if (cntx.Groups.ContainsKey(ResourceGroups.HostedSharePoint)) - PrepareSharePointMenuRoot(cntx, items, imagePath); - - //CRM Menu - if (cntx.Groups.ContainsKey(ResourceGroups.HostedCRM2013)) - PrepareCRM2013MenuRoot(cntx, items, imagePath); - else if (cntx.Groups.ContainsKey(ResourceGroups.HostedCRM)) - PrepareCRMMenuRoot(cntx, items, imagePath); - - //OCS Menu - if (cntx.Groups.ContainsKey(ResourceGroups.OCS)) - PrepareOCSMenuRoot(cntx, items, imagePath); - - //Lync Menu - if (cntx.Groups.ContainsKey(ResourceGroups.Lync)) - PrepareLyncMenuRoot(cntx, items, imagePath); - - //EnterpriseStorage Menu - if (cntx.Groups.ContainsKey(ResourceGroups.EnterpriseStorage)) - PrepareEnterpriseStorageMenuRoot(cntx, items, imagePath); - } - - private void PrepareOrganizationMenuRoot(PackageContext cntx, MenuItemCollection items, string imagePath) - { - bool hideItems = false; - - UserInfo user = UsersHelper.GetUser(PanelSecurity.EffectiveUserId); - - if (user != null) - { - if ((user.Role == UserRole.User) & (Utils.CheckQouta(Quotas.EXCHANGE2007_ISCONSUMER, cntx))) - hideItems = true; - } - - if (!hideItems) - { - MenuItem item = new MenuItem(GetLocalizedString("Text.OrganizationGroup"), "", "", null); - - item.Selectable = false; - - PrepareOrganizationMenu(cntx, item.ChildItems); - - if (item.ChildItems.Count > 0) - { - items.Add(item); - } - } - } - - private void PrepareOrganizationMenu(PackageContext cntx, MenuItemCollection items) - { - if (Utils.CheckQouta(Quotas.EXCHANGE2007_MAILBOXES, cntx) == false) - { - if (Utils.CheckQouta(Quotas.ORGANIZATION_DOMAINS, cntx)) - items.Add(CreateMenuItem("DomainNames", "org_domains")); - } - if (Utils.CheckQouta(Quotas.ORGANIZATION_USERS, cntx)) - items.Add(CreateMenuItem("Users", "users")); - - if (Utils.CheckQouta(Quotas.ORGANIZATION_SECURITYGROUPS, cntx)) - items.Add(CreateMenuItem("SecurityGroups", "secur_groups")); - } - - private void PrepareExchangeMenuRoot(PackageContext cntx, MenuItemCollection items, string imagePath) - { - bool hideItems = false; - - UserInfo user = UsersHelper.GetUser(PanelSecurity.EffectiveUserId); - - if (user != null) - { - if ((user.Role == UserRole.User) & (Utils.CheckQouta(Quotas.EXCHANGE2007_ISCONSUMER, cntx))) - hideItems = true; - } - - MenuItem item = new MenuItem(GetLocalizedString("Text.ExchangeGroup"), "", "", null); - - item.Selectable = false; - - PrepareExchangeMenu(cntx, item.ChildItems, hideItems); - - if (item.ChildItems.Count > 0) - { - items.Add(item); - } - } - - private void PrepareExchangeMenu(PackageContext cntx, MenuItemCollection exchangeItems, bool hideItems) - { - if (Utils.CheckQouta(Quotas.EXCHANGE2007_MAILBOXES, cntx)) - exchangeItems.Add(CreateMenuItem("Mailboxes", "mailboxes")); - - if (Utils.CheckQouta(Quotas.EXCHANGE2007_CONTACTS, cntx)) - exchangeItems.Add(CreateMenuItem("Contacts", "contacts")); - - if (Utils.CheckQouta(Quotas.EXCHANGE2007_DISTRIBUTIONLISTS, cntx)) - exchangeItems.Add(CreateMenuItem("DistributionLists", "dlists")); - - if (Utils.CheckQouta(Quotas.EXCHANGE2007_PUBLICFOLDERS, cntx)) - exchangeItems.Add(CreateMenuItem("PublicFolders", "public_folders")); - - if (!hideItems) - if (Utils.CheckQouta(Quotas.EXCHANGE2007_ACTIVESYNCALLOWED, cntx)) - exchangeItems.Add(CreateMenuItem("ActiveSyncPolicy", "activesync_policy")); - - if (!hideItems) - if (Utils.CheckQouta(Quotas.EXCHANGE2007_MAILBOXES, cntx)) - exchangeItems.Add(CreateMenuItem("MailboxPlans", "mailboxplans")); - - if (!hideItems) - if (Utils.CheckQouta(Quotas.EXCHANGE2013_ALLOWRETENTIONPOLICY, cntx)) - exchangeItems.Add(CreateMenuItem("RetentionPolicy", "retentionpolicy")); - - if (!hideItems) - if (Utils.CheckQouta(Quotas.EXCHANGE2013_ALLOWRETENTIONPOLICY, cntx)) - exchangeItems.Add(CreateMenuItem("RetentionPolicyTag", "retentionpolicytag")); - - if (!hideItems) - if (Utils.CheckQouta(Quotas.EXCHANGE2007_MAILBOXES, cntx)) - exchangeItems.Add(CreateMenuItem("ExchangeDomainNames", "domains")); - - if (!hideItems) - if (Utils.CheckQouta(Quotas.EXCHANGE2007_MAILBOXES, cntx)) - exchangeItems.Add(CreateMenuItem("StorageUsage", "storage_usage")); - - if (!hideItems) - if (Utils.CheckQouta(Quotas.EXCHANGE2007_DISCLAIMERSALLOWED, cntx)) - exchangeItems.Add(CreateMenuItem("Disclaimers", "disclaimers")); - - } - - private void PrepareCRMMenuRoot(PackageContext cntx, MenuItemCollection items, string imagePath) - { - MenuItem item = new MenuItem(GetLocalizedString("Text.CRMGroup"), "", "", null); - - item.Selectable = false; - - PrepareCRMMenu(cntx, item.ChildItems); - - if (item.ChildItems.Count > 0) - { - items.Add(item); - } - } - - private void PrepareCRMMenu(PackageContext cntx, MenuItemCollection crmItems) - { - crmItems.Add(CreateMenuItem("CRMOrganization", "CRMOrganizationDetails")); - crmItems.Add(CreateMenuItem("CRMUsers", "CRMUsers")); - crmItems.Add(CreateMenuItem("StorageLimits", "crm_storage_settings")); - } - - private void PrepareCRM2013MenuRoot(PackageContext cntx, MenuItemCollection items, string imagePath) - { - MenuItem item = new MenuItem(GetLocalizedString("Text.CRM2013Group"), "", "", null); - - item.Selectable = false; - - PrepareCRM2013Menu(cntx, item.ChildItems); - - if (item.ChildItems.Count > 0) - { - items.Add(item); - } - } - - private void PrepareCRM2013Menu(PackageContext cntx, MenuItemCollection crmItems) - { - crmItems.Add(CreateMenuItem("CRMOrganization", "CRMOrganizationDetails")); - crmItems.Add(CreateMenuItem("CRMUsers", "CRMUsers")); - crmItems.Add(CreateMenuItem("StorageLimits", "crm_storage_settings")); - } - - private void PrepareBlackBerryMenuRoot(PackageContext cntx, MenuItemCollection items, string imagePath) - { - MenuItem item = new MenuItem(GetLocalizedString("Text.BlackBerryGroup"), "", "", null); - - item.Selectable = false; - - PrepareBlackBerryMenu(cntx, item.ChildItems); - - if (item.ChildItems.Count > 0) - { - items.Add(item); - } - - } - - private void PrepareBlackBerryMenu(PackageContext cntx, MenuItemCollection bbItems) - { - bbItems.Add(CreateMenuItem("BlackBerryUsers", "blackberry_users")); - } - - private void PrepareSharePointMenuRoot(PackageContext cntx, MenuItemCollection items, string imagePath) - { - MenuItem item = new MenuItem(GetLocalizedString("Text.SharePointGroup"), "", "", null); - - item.Selectable = false; - - PrepareSharePointMenu(cntx, item.ChildItems); - - if (item.ChildItems.Count > 0) - { - items.Add(item); - } - } - - private void PrepareSharePointMenu(PackageContext cntx, MenuItemCollection spItems) - { - spItems.Add(CreateMenuItem("SiteCollections", "sharepoint_sitecollections")); - spItems.Add(CreateMenuItem("StorageUsage", "sharepoint_storage_usage")); - spItems.Add(CreateMenuItem("StorageLimits", "sharepoint_storage_settings")); - } - - private void PrepareOCSMenuRoot(PackageContext cntx, MenuItemCollection items, string imagePath) - { - MenuItem item = new MenuItem(GetLocalizedString("Text.OCSGroup"), "", "", null); - - item.Selectable = false; - - PrepareOCSMenu(cntx, item.ChildItems); - - if (item.ChildItems.Count > 0) - { - items.Add(item); - } - } - - private void PrepareOCSMenu(PackageContext cntx, MenuItemCollection osItems) - { - osItems.Add(CreateMenuItem("OCSUsers", "ocs_users")); - } - - private void PrepareLyncMenuRoot(PackageContext cntx, MenuItemCollection items, string imagePath) - { - MenuItem item = new MenuItem(GetLocalizedString("Text.LyncGroup"), "", "", null); - - item.Selectable = false; - - PrepareLyncMenu(cntx, item.ChildItems); - - if (item.ChildItems.Count > 0) - { - items.Add(item); - } - } - - private void PrepareLyncMenu(PackageContext cntx, MenuItemCollection lyncItems) - { - lyncItems.Add(CreateMenuItem("LyncUsers", "lync_users")); - - lyncItems.Add(CreateMenuItem("LyncUserPlans", "lync_userplans")); - - - if (Utils.CheckQouta(Quotas.LYNC_FEDERATION, cntx)) - lyncItems.Add(CreateMenuItem("LyncFederationDomains", "lync_federationdomains")); - - if (Utils.CheckQouta(Quotas.LYNC_PHONE, cntx)) - lyncItems.Add(CreateMenuItem("LyncPhoneNumbers", "lync_phonenumbers")); - } - - private void PrepareEnterpriseStorageMenuRoot(PackageContext cntx, MenuItemCollection items, string imagePath) - { - MenuItem item = new MenuItem(GetLocalizedString("Text.EnterpriseStorageGroup"), "", "", null); - - item.Selectable = false; - - PrepareEnterpriseStorageMenu(cntx, item.ChildItems); - - if (item.ChildItems.Count > 0) - { - items.Add(item); - } - } - - private void PrepareEnterpriseStorageMenu(PackageContext cntx, MenuItemCollection enterpriseStorageItems) - { - enterpriseStorageItems.Add(CreateMenuItem("EnterpriseStorageFolders", "enterprisestorage_folders")); - - if(Utils.CheckQouta(Quotas.ENTERPRICESTORAGE_DRIVEMAPS, cntx)) - enterpriseStorageItems.Add(CreateMenuItem("EnterpriseStorageDriveMaps", "enterprisestorage_drive_maps")); - - } - - private MenuItem CreateMenuItem(string text, string key) - { - MenuItem item = new MenuItem(); - - item.Text = GetLocalizedString("Text." + text); - item.NavigateUrl = PortalUtils.EditUrl("ItemID", PanelRequest.ItemID.ToString(), key, - "SpaceID=" + PanelSecurity.PackageId); - - return item; - } } } \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/OrganizationMenuControl.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/OrganizationMenuControl.cs new file mode 100644 index 00000000..4d2e8c36 --- /dev/null +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/OrganizationMenuControl.cs @@ -0,0 +1,480 @@ +// Copyright (c) 2014, Outercurve Foundation. +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// - Redistributions of source code must retain the above copyright notice, this +// list of conditions and the following disclaimer. +// +// - Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// - Neither the name of the Outercurve Foundation nor the names of its +// contributors may be used to endorse or promote products derived from this +// software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR +// ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +// ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +using System; +using System.Data; +using System.Configuration; +using System.Collections; +using System.Web; +using System.Web.Security; +using System.Web.UI; +using System.Web.UI.WebControls; +using System.Web.UI.WebControls.WebParts; +using System.Web.UI.HtmlControls; +using WebsitePanel.EnterpriseServer; +using System.Xml; +using System.Collections.Generic; +using WebsitePanel.WebPortal; + +namespace WebsitePanel.Portal.UserControls +{ + public class OrganizationMenuControl : WebsitePanelModuleBase + { + + virtual public string ImagePath + { + get { return String.Concat("~/", DefaultPage.THEMES_FOLDER, "/", Page.Theme, "/"); } + } + + virtual public int PackageId + { + get { return PanelSecurity.PackageId; } + } + + virtual public int ItemID + { + get { return PanelRequest.ItemID; } + } + + + private PackageContext cntx = null; + virtual public PackageContext Cntx + { + get + { + if (cntx == null) cntx = PackagesHelper.GetCachedPackageContext(PackageId); + return cntx; + } + } + + public bool ShortMenu = false; + public bool ShowImg = false; + + public void BindMenu(MenuItemCollection items) + { + //Organization menu group; + if (Cntx.Groups.ContainsKey(ResourceGroups.HostedOrganizations)) + PrepareOrganizationMenuRoot(items); + + //Exchange menu group; + if (Cntx.Groups.ContainsKey(ResourceGroups.Exchange)) + PrepareExchangeMenuRoot(items); + + //BlackBerry Menu + if (Cntx.Groups.ContainsKey(ResourceGroups.BlackBerry)) + PrepareBlackBerryMenuRoot(items); + + //SharePoint menu group; + if (Cntx.Groups.ContainsKey(ResourceGroups.HostedSharePoint)) + PrepareSharePointMenuRoot(items); + + //CRM Menu + if (Cntx.Groups.ContainsKey(ResourceGroups.HostedCRM2013)) + PrepareCRM2013MenuRoot(items); + else if (Cntx.Groups.ContainsKey(ResourceGroups.HostedCRM)) + PrepareCRMMenuRoot(items); + + //OCS Menu + if (Cntx.Groups.ContainsKey(ResourceGroups.OCS)) + PrepareOCSMenuRoot(items); + + //Lync Menu + if (Cntx.Groups.ContainsKey(ResourceGroups.Lync)) + PrepareLyncMenuRoot(items); + + //EnterpriseStorage Menu + if (Cntx.Groups.ContainsKey(ResourceGroups.EnterpriseStorage)) + PrepareEnterpriseStorageMenuRoot(items); + } + + private void PrepareOrganizationMenuRoot(MenuItemCollection items) + { + bool hideItems = false; + + UserInfo user = UsersHelper.GetUser(PanelSecurity.EffectiveUserId); + + if (user != null) + { + if ((user.Role == UserRole.User) & (Utils.CheckQouta(Quotas.EXCHANGE2007_ISCONSUMER, Cntx))) + hideItems = true; + } + + if (!hideItems) + { + if (ShortMenu) + { + PrepareOrganizationMenu(items); + } + else + { + MenuItem item = new MenuItem(GetLocalizedString("Text.OrganizationGroup"), "", "", null); + + item.Selectable = false; + + PrepareOrganizationMenu(item.ChildItems); + + if (item.ChildItems.Count > 0) + { + items.Add(item); + } + } + } + } + + private void PrepareOrganizationMenu(MenuItemCollection items) + { + if (Utils.CheckQouta(Quotas.EXCHANGE2007_MAILBOXES, Cntx) == false) + { + if (Utils.CheckQouta(Quotas.ORGANIZATION_DOMAINS, Cntx)) + items.Add(CreateMenuItem("DomainNames", "org_domains")); + } + if (Utils.CheckQouta(Quotas.ORGANIZATION_USERS, Cntx)) + items.Add(CreateMenuItem("Users", "users", @"Icons/user_48.png")); + + if (Utils.CheckQouta(Quotas.ORGANIZATION_SECURITYGROUPS, Cntx)) + items.Add(CreateMenuItem("SecurityGroups", "secur_groups", @"Icons/group_48.png")); + } + + private void PrepareExchangeMenuRoot(MenuItemCollection items) + { + bool hideItems = false; + + UserInfo user = UsersHelper.GetUser(PanelSecurity.EffectiveUserId); + + if (user != null) + { + if ((user.Role == UserRole.User) & (Utils.CheckQouta(Quotas.EXCHANGE2007_ISCONSUMER, Cntx))) + hideItems = true; + } + + if (ShortMenu) + { + PrepareExchangeMenu(items, hideItems); + } + else + { + MenuItem item = new MenuItem(GetLocalizedString("Text.ExchangeGroup"), "", "", null); + + item.Selectable = false; + + PrepareExchangeMenu(item.ChildItems, hideItems); + + if (item.ChildItems.Count > 0) + { + items.Add(item); + } + } + } + + private void PrepareExchangeMenu(MenuItemCollection exchangeItems, bool hideItems) + { + if (Utils.CheckQouta(Quotas.EXCHANGE2007_MAILBOXES, Cntx)) + exchangeItems.Add(CreateMenuItem("Mailboxes", "mailboxes", @"Icons/accounting_mail_48.png")); + + if (ShortMenu) return; + + if (Utils.CheckQouta(Quotas.EXCHANGE2007_CONTACTS, Cntx)) + exchangeItems.Add(CreateMenuItem("Contacts", "contacts")); + + if (Utils.CheckQouta(Quotas.EXCHANGE2007_DISTRIBUTIONLISTS, Cntx)) + exchangeItems.Add(CreateMenuItem("DistributionLists", "dlists")); + + if (Utils.CheckQouta(Quotas.EXCHANGE2007_PUBLICFOLDERS, Cntx)) + exchangeItems.Add(CreateMenuItem("PublicFolders", "public_folders")); + + if (!hideItems) + if (Utils.CheckQouta(Quotas.EXCHANGE2007_ACTIVESYNCALLOWED, Cntx)) + exchangeItems.Add(CreateMenuItem("ActiveSyncPolicy", "activesync_policy")); + + if (!hideItems) + if (Utils.CheckQouta(Quotas.EXCHANGE2007_MAILBOXES, Cntx)) + exchangeItems.Add(CreateMenuItem("MailboxPlans", "mailboxplans")); + + if (!hideItems) + if (Utils.CheckQouta(Quotas.EXCHANGE2013_ALLOWRETENTIONPOLICY, Cntx)) + exchangeItems.Add(CreateMenuItem("RetentionPolicy", "retentionpolicy")); + + if (!hideItems) + if (Utils.CheckQouta(Quotas.EXCHANGE2013_ALLOWRETENTIONPOLICY, Cntx)) + exchangeItems.Add(CreateMenuItem("RetentionPolicyTag", "retentionpolicytag")); + + if (!hideItems) + if (Utils.CheckQouta(Quotas.EXCHANGE2007_MAILBOXES, Cntx)) + exchangeItems.Add(CreateMenuItem("ExchangeDomainNames", "domains")); + + if (!hideItems) + if (Utils.CheckQouta(Quotas.EXCHANGE2007_MAILBOXES, Cntx)) + exchangeItems.Add(CreateMenuItem("StorageUsage", "storage_usage")); + + if (!hideItems) + if (Utils.CheckQouta(Quotas.EXCHANGE2007_DISCLAIMERSALLOWED, Cntx)) + exchangeItems.Add(CreateMenuItem("Disclaimers", "disclaimers")); + + } + + private void PrepareCRMMenuRoot(MenuItemCollection items) + { + if (ShortMenu) + { + PrepareCRMMenu(items); + } + else + { + MenuItem item = new MenuItem(GetLocalizedString("Text.CRMGroup"), "", "", null); + + item.Selectable = false; + + PrepareCRMMenu(item.ChildItems); + + if (item.ChildItems.Count > 0) + { + items.Add(item); + } + } + } + + private void PrepareCRMMenu(MenuItemCollection crmItems) + { + crmItems.Add(CreateMenuItem("CRMOrganization", "CRMOrganizationDetails", @"Images/crm_48.png")); + crmItems.Add(CreateMenuItem("CRMUsers", "CRMUsers", @"Images/crm_48.png")); + + if (ShortMenu) return; + + crmItems.Add(CreateMenuItem("StorageLimits", "crm_storage_settings")); + } + + private void PrepareCRM2013MenuRoot(MenuItemCollection items) + { + if (ShortMenu) + { + PrepareCRM2013Menu(items); + } + else + { + MenuItem item = new MenuItem(GetLocalizedString("Text.CRM2013Group"), "", "", null); + + item.Selectable = false; + + PrepareCRM2013Menu(item.ChildItems); + + if (item.ChildItems.Count > 0) + { + items.Add(item); + } + } + } + + private void PrepareCRM2013Menu(MenuItemCollection crmItems) + { + crmItems.Add(CreateMenuItem("CRMOrganization", "CRMOrganizationDetails", @"Images/crm_48.png")); + crmItems.Add(CreateMenuItem("CRMUsers", "CRMUsers", @"Images/crm_48.png")); + + if (ShortMenu) return; + + crmItems.Add(CreateMenuItem("StorageLimits", "crm_storage_settings")); + } + + private void PrepareBlackBerryMenuRoot(MenuItemCollection items) + { + if (ShortMenu) + { + PrepareBlackBerryMenu(items); + } + else + { + MenuItem item = new MenuItem(GetLocalizedString("Text.BlackBerryGroup"), "", "", null); + + item.Selectable = false; + + PrepareBlackBerryMenu(item.ChildItems); + + if (item.ChildItems.Count > 0) + { + items.Add(item); + } + } + + } + + private void PrepareBlackBerryMenu(MenuItemCollection bbItems) + { + bbItems.Add(CreateMenuItem("BlackBerryUsers", "blackberry_users", @"Images/blackberry48.png")); + } + + private void PrepareSharePointMenuRoot(MenuItemCollection items) + { + if (ShortMenu) + { + PrepareSharePointMenu(items); + } + else + { + MenuItem item = new MenuItem(GetLocalizedString("Text.SharePointGroup"), "", "", null); + + item.Selectable = false; + + PrepareSharePointMenu(item.ChildItems); + + if (item.ChildItems.Count > 0) + { + items.Add(item); + } + } + } + + private void PrepareSharePointMenu(MenuItemCollection spItems) + { + spItems.Add(CreateMenuItem("SiteCollections", "sharepoint_sitecollections", @"Images/Exchange/storage_limits_48.png")); + + if (ShortMenu) return; + + spItems.Add(CreateMenuItem("StorageUsage", "sharepoint_storage_usage")); + spItems.Add(CreateMenuItem("StorageLimits", "sharepoint_storage_settings")); + } + + private void PrepareOCSMenuRoot(MenuItemCollection items) + { + if (ShortMenu) + { + PrepareOCSMenu(items); + } + else + { + MenuItem item = new MenuItem(GetLocalizedString("Text.OCSGroup"), "", "", null); + + item.Selectable = false; + + PrepareOCSMenu(item.ChildItems); + + if (item.ChildItems.Count > 0) + { + items.Add(item); + } + } + } + + private void PrepareOCSMenu(MenuItemCollection osItems) + { + osItems.Add(CreateMenuItem("OCSUsers", "ocs_users")); + } + + private void PrepareLyncMenuRoot(MenuItemCollection items) + { + if (ShortMenu) + { + PrepareLyncMenu(items); + } + else + { + MenuItem item = new MenuItem(GetLocalizedString("Text.LyncGroup"), "", "", null); + + item.Selectable = false; + + PrepareLyncMenu(item.ChildItems); + + if (item.ChildItems.Count > 0) + { + items.Add(item); + } + } + } + + private void PrepareLyncMenu(MenuItemCollection lyncItems) + { + lyncItems.Add(CreateMenuItem("LyncUsers", "lync_users", @"Images/lync48.png")); + + if (ShortMenu) return; + + lyncItems.Add(CreateMenuItem("LyncUserPlans", "lync_userplans")); + + + if (Utils.CheckQouta(Quotas.LYNC_FEDERATION, Cntx)) + lyncItems.Add(CreateMenuItem("LyncFederationDomains", "lync_federationdomains")); + + if (Utils.CheckQouta(Quotas.LYNC_PHONE, Cntx)) + lyncItems.Add(CreateMenuItem("LyncPhoneNumbers", "lync_phonenumbers")); + } + + private void PrepareEnterpriseStorageMenuRoot(MenuItemCollection items) + { + if (ShortMenu) + { + PrepareEnterpriseStorageMenu(items); + } + else + { + MenuItem item = new MenuItem(GetLocalizedString("Text.EnterpriseStorageGroup"), "", "", null); + + item.Selectable = false; + + PrepareEnterpriseStorageMenu(item.ChildItems); + + if (item.ChildItems.Count > 0) + { + items.Add(item); + } + } + } + + private void PrepareEnterpriseStorageMenu(MenuItemCollection enterpriseStorageItems) + { + enterpriseStorageItems.Add(CreateMenuItem("EnterpriseStorageFolders", "enterprisestorage_folders", @"Images/folder_48.png")); + + if (ShortMenu) return; + + if (Utils.CheckQouta(Quotas.ENTERPRICESTORAGE_DRIVEMAPS, Cntx)) + enterpriseStorageItems.Add(CreateMenuItem("EnterpriseStorageDriveMaps", "enterprisestorage_drive_maps")); + + } + + private MenuItem CreateMenuItem(string text, string key) + { + return CreateMenuItem(text, key, null); + } + + private MenuItem CreateMenuItem(string text, string key, string img) + { + MenuItem item = new MenuItem(); + + item.Text = GetLocalizedString("Text." + text); + item.NavigateUrl = PortalUtils.EditUrl("ItemID", ItemID.ToString(), key, + "SpaceID=" + PackageId); + + if (ShowImg) + { + if (img==null) + item.ImageUrl = ImagePath + "Icons/tool_48.png"; + else + item.ImageUrl = ImagePath + img; + } + + return item; + } + + } +} \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserOrganization.ascx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserOrganization.ascx new file mode 100644 index 00000000..84547d05 --- /dev/null +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserOrganization.ascx @@ -0,0 +1,20 @@ +<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="UserOrganization.ascx.cs" Inherits="WebsitePanel.Portal.UserOrganization" %> +<%@ Import Namespace="WebsitePanel.Portal" %> +<%@ Register Src="UserControls/ServerDetails.ascx" TagName="ServerDetails" TagPrefix="uc3" %> +<%@ Register Src="UserControls/Comments.ascx" TagName="Comments" TagPrefix="uc4" %> +<%@ Import Namespace="WebsitePanel.Portal" %> + + + + + + + +
+ <%# Eval("Text") %> +
+
+
+
+ diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserOrganization.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserOrganization.ascx.cs new file mode 100644 index 00000000..5ccdbc57 --- /dev/null +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserOrganization.ascx.cs @@ -0,0 +1,132 @@ +// Copyright (c) 2014, Outercurve Foundation. +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// - Redistributions of source code must retain the above copyright notice, this +// list of conditions and the following disclaimer. +// +// - Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// - Neither the name of the Outercurve Foundation nor the names of its +// contributors may be used to endorse or promote products derived from this +// software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR +// ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +// ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +using System; +using System.Data; +using System.Configuration; +using System.Collections; +using System.Collections.Generic; +using System.Web; +using System.Web.Security; +using System.Web.UI; +using System.Web.UI.WebControls; +using System.Web.UI.WebControls.WebParts; +using System.Web.UI.HtmlControls; +using System.Xml; + +using WebsitePanel.EnterpriseServer; +using WebsitePanel.WebPortal; +using WebsitePanel.Portal.UserControls; + + +namespace WebsitePanel.Portal +{ + public partial class UserOrganization : OrganizationMenuControl + { + private void FindDefaultOrg() + { + DataSet rawPackages = new PackagesHelper().GetMyPackages(); + if (rawPackages.Tables.Count<1) return; + + DataTable packages = rawPackages.Tables[0]; + + for(int i=0;i 0) + { + MenuItemCollection items = new MenuItemCollection(); + + BindMenu(items); + UserOrgPanel.Visible = true; + + OrgIcons.DataSource = items; + OrgIcons.DataBind(); + } + else + UserOrgPanel.Visible = false; + + } + + + } +} \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserOrganization.ascx.designer.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserOrganization.ascx.designer.cs new file mode 100644 index 00000000..26efff9f --- /dev/null +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserOrganization.ascx.designer.cs @@ -0,0 +1,33 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace WebsitePanel.Portal { + + + public partial class UserOrganization { + + /// + /// UserOrgPanel control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Panel UserOrgPanel; + + /// + /// OrgIcons control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.DataList OrgIcons; + } +} diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebsitePanel.Portal.Modules.csproj b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebsitePanel.Portal.Modules.csproj index 84a7a6bc..60e9bcef 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebsitePanel.Portal.Modules.csproj +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebsitePanel.Portal.Modules.csproj @@ -602,6 +602,9 @@ EditFeedsList.ascx + + ASPXCodeBehind + OrgIdPolicyEditor.ascx ASPXCodeBehind @@ -630,6 +633,13 @@ AllocatePackagePhoneNumbers.ascx + + UserOrganization.ascx + ASPXCodeBehind + + + UserOrganization.ascx + MonitoringPage.aspx ASPXCodeBehind @@ -4147,6 +4157,7 @@ + @@ -5354,6 +5365,9 @@ Designer + + Designer + Designer From 7696614304a01bae6752cce06f5c965473462807 Mon Sep 17 00:00:00 2001 From: dev_amdtel Date: Thu, 7 Aug 2014 04:23:43 +0400 Subject: [PATCH 2/2] Account Home Organization module --- .../Sources/WebsitePanel.WebPortal.sln | 7 +- .../App_Data/ModulesData.config | 85 ++++++++--------- .../App_Data/WebsitePanel_Modules.config | 5 - .../App_Data/WebsitePanel_Pages.config | 1 - .../Default/Icons/advancedstatistics_48.png | Bin 0 -> 597 bytes .../Icons/applicationsinstaller_48.png | Bin 0 -> 587 bytes .../Default/Icons/blackberry_users_48.png | Bin 0 -> 674 bytes .../App_Themes/Default/Icons/crm_orgs_48.png | Bin 0 -> 660 bytes .../App_Themes/Default/Icons/crm_users_48.png | Bin 0 -> 660 bytes .../App_Themes/Default/Icons/domains_48.png | Bin 0 -> 1185 bytes .../Icons/enterprisestorage_folders_48.png | Bin 0 -> 246 bytes .../Default/Icons/filemanager_48.png | Bin 0 -> 438 bytes .../App_Themes/Default/Icons/ftp_48.png | Bin 0 -> 331 bytes .../Default/Icons/lync_users_48.png | Bin 0 -> 582 bytes .../Default/Icons/mail_accounts_48.png | Bin 0 -> 420 bytes .../Default/Icons/mail_domains_48.png | Bin 0 -> 420 bytes .../Default/Icons/mail_forwardings_48.png | Bin 0 -> 420 bytes .../Default/Icons/mail_groups_48.png | Bin 0 -> 420 bytes .../Default/Icons/mail_lists_48.png | Bin 0 -> 420 bytes .../App_Themes/Default/Icons/mailboxes_48.png | Bin 0 -> 491 bytes .../App_Themes/Default/Icons/odbc_48.png | Bin 0 -> 568 bytes .../Default/Icons/scheduledtasks_48.png | Bin 0 -> 777 bytes .../App_Themes/Default/Icons/sharedssl_48.png | Bin 0 -> 597 bytes .../Icons/sharepoint_sitecollections_48.png | Bin 0 -> 1018 bytes .../App_Themes/Default/Icons/vps_48.png | Bin 0 -> 3480 bytes .../App_Themes/Default/Icons/vpsforpc_48.png | Bin 0 -> 5363 bytes .../Icons/webapplicationsgallery_48.png | Bin 0 -> 587 bytes .../Default/Icons/webipaddresses_48.png | Bin 0 -> 597 bytes .../App_Themes/Default/Icons/websites_48.png | Bin 0 -> 597 bytes .../UserControls/OrganizationMenuControl.cs | 31 +++--- .../WebsitePanel/UserOrganization.ascx.cs | 89 ++++++++++-------- .../WebsitePanel/UserSpaces.ascx | 56 +++++++---- .../WebsitePanel/UserSpaces.ascx.cs | 24 ++++- .../WebsitePanel/UserSpaces.ascx.designer.cs | 28 ------ 34 files changed, 168 insertions(+), 158 deletions(-) create mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/App_Themes/Default/Icons/advancedstatistics_48.png create mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/App_Themes/Default/Icons/applicationsinstaller_48.png create mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/App_Themes/Default/Icons/blackberry_users_48.png create mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/App_Themes/Default/Icons/crm_orgs_48.png create mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/App_Themes/Default/Icons/crm_users_48.png create mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/App_Themes/Default/Icons/domains_48.png create mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/App_Themes/Default/Icons/enterprisestorage_folders_48.png create mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/App_Themes/Default/Icons/filemanager_48.png create mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/App_Themes/Default/Icons/ftp_48.png create mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/App_Themes/Default/Icons/lync_users_48.png create mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/App_Themes/Default/Icons/mail_accounts_48.png create mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/App_Themes/Default/Icons/mail_domains_48.png create mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/App_Themes/Default/Icons/mail_forwardings_48.png create mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/App_Themes/Default/Icons/mail_groups_48.png create mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/App_Themes/Default/Icons/mail_lists_48.png create mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/App_Themes/Default/Icons/mailboxes_48.png create mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/App_Themes/Default/Icons/odbc_48.png create mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/App_Themes/Default/Icons/scheduledtasks_48.png create mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/App_Themes/Default/Icons/sharedssl_48.png create mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/App_Themes/Default/Icons/sharepoint_sitecollections_48.png create mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/App_Themes/Default/Icons/vps_48.png create mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/App_Themes/Default/Icons/vpsforpc_48.png create mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/App_Themes/Default/Icons/webapplicationsgallery_48.png create mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/App_Themes/Default/Icons/webipaddresses_48.png create mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/App_Themes/Default/Icons/websites_48.png diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal.sln b/WebsitePanel/Sources/WebsitePanel.WebPortal.sln index bacd747a..4fc0c4ef 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal.sln +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal.sln @@ -1,5 +1,7 @@ Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio 2010 +# Visual Studio 2013 +VisualStudioVersion = 12.0.21005.1 +MinimumVisualStudioVersion = 10.0.40219.1 Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{BB38798E-1528-493C-868E-005102316536}" ProjectSection(SolutionItems) = preProject ..\..\LICENSE.txt = ..\..\LICENSE.txt @@ -36,4 +38,7 @@ Global GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE EndGlobalSection + GlobalSection(Performance) = preSolution + HasPerformanceSessions = true + EndGlobalSection EndGlobal diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/App_Data/ModulesData.config b/WebsitePanel/Sources/WebsitePanel.WebPortal/App_Data/ModulesData.config index 71b84f87..77a50c2a 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/App_Data/ModulesData.config +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/App_Data/ModulesData.config @@ -88,51 +88,46 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/App_Data/WebsitePanel_Modules.config b/WebsitePanel/Sources/WebsitePanel.WebPortal/App_Data/WebsitePanel_Modules.config index 751c3884..08973316 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/App_Data/WebsitePanel_Modules.config +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/App_Data/WebsitePanel_Modules.config @@ -54,11 +54,6 @@
- - - - - diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/App_Data/WebsitePanel_Pages.config b/WebsitePanel/Sources/WebsitePanel.WebPortal/App_Data/WebsitePanel_Pages.config index cca4b918..9dd556ee 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/App_Data/WebsitePanel_Pages.config +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/App_Data/WebsitePanel_Pages.config @@ -38,7 +38,6 @@ - diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/App_Themes/Default/Icons/advancedstatistics_48.png b/WebsitePanel/Sources/WebsitePanel.WebPortal/App_Themes/Default/Icons/advancedstatistics_48.png new file mode 100644 index 0000000000000000000000000000000000000000..aa4b049a89ead0e2419b75a9315e690206d1465f GIT binary patch literal 597 zcmV-b0;>IqP)teK4?_|hTC*Fb0e+A@KI}LT!?Aq;IlE$M)Zy{ za~&!I8L=2xTjD?(W$0OL-hp$7GmM{&p((*WAGryE7ORNjNF1?=Hsc};Ww16!wo$-s zD3GsB7Fy$^0`8=!v(o_3X%d0xkl#PeZ);4z6ibFa%r<-7PdI9UL}NMiDfD2mIx@qA z6gh5jt@T+?v4IH`sn8A2ftA>W@(5^0vS2^;Ws?{x;d03ij7esdF~KV$jNkI{;C0^v z0vLX8JZW(~rMuP-&)i>zV*99gQXn&Q+%gdT#^MTCU4}`-lUT|L#1y3!{Re1VmXr9j zjK4e3Cl`j0Xadk@0kKhg;*N!$07Vc(nlU*#H5tjHVv|Qw8s!!e#x^oiNHHW!qrO50 z(N`9Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D0pLkQK~!i%?U+9= z1VI>w*Pnz!LZMJ7P%D%oBqAgVr4PV2(CGClQ7Y&(K7xdVLaCIHP$(243JHaT-*0E$ zcyms6X5H-FW#1=xGPCc^=4N*1oteALFbu;m45K_fzAWONwj)Q`;%@0UwlakUT*hC!bKqxSEkysN-yxjE-G} zV)g+(rOEut&Gl7R&AEhkkTHHH96{!XBspO_wx96|Cs5ub2f(~Ywht^q#>5Rs&Y+GH zc0|YISh53kob80*H&ELo?ikAE0M~Fme{UdHAjbHaa1Oa=aN`r$j_qar7p@>zHBx2G9pzD*k z&zG%$=lmr&2YDu1hTH=P6LJ8~!zq9L0+XIVLzspK@D|E+3H2TFUcK=}6Pm=$;Hi^y zTb{BYyK*xccVBV}S6nro{|tZ~--nGq1^3{!tNwyVjWsCu3`0(%s{XDq48t%C!}uY~ Zz5ymPd<)@D$BF;|002ovPDHLkV1h$#{ICE3 literal 0 HcmV?d00001 diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/App_Themes/Default/Icons/blackberry_users_48.png b/WebsitePanel/Sources/WebsitePanel.WebPortal/App_Themes/Default/Icons/blackberry_users_48.png new file mode 100644 index 0000000000000000000000000000000000000000..1b7b9faa762cd158d4b2f093575550bc9779db7e GIT binary patch literal 674 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 literal 0 HcmV?d00001 diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/App_Themes/Default/Icons/ftp_48.png b/WebsitePanel/Sources/WebsitePanel.WebPortal/App_Themes/Default/Icons/ftp_48.png new file mode 100644 index 0000000000000000000000000000000000000000..af2004c8555ea9f258c9dc418787c28717f69a6e GIT binary patch literal 331 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezpTC#^NA%Cx&(BWL^R}Ea{HEjtmSN z`?>!lvI6;>1s;*b3=DjSL74G){)!Z!-~&$=$B+!?x7QAGG8qc6UI?B2VTEi&lWRl+ zYem2Y2I~zf>*Z{#HnW|VD^WYsE+E#l4r|*JH#|O6#_rxQ{lV3%rc3lUn*Evd;$|ej%}Z$| zxdWx2C-60X4Sck(vP0Vc@xICz(u-z3Q7zYx;6Cr*?F7$h_Lc Z|9-uFG}EaWF+jgEc)I$ztaD0e0s!~2g`EHZ literal 0 HcmV?d00001 diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/App_Themes/Default/Icons/lync_users_48.png b/WebsitePanel/Sources/WebsitePanel.WebPortal/App_Themes/Default/Icons/lync_users_48.png new file mode 100644 index 0000000000000000000000000000000000000000..3e9ffeaafc76018af2a06ccb85bc27bb81c00bb9 GIT binary patch literal 582 zcmV-M0=fN(P)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D0ozGLK~!i%?U=nT z1W_1n=O zoaE%>?9Q3pGrP$5Bu{2`es;ch_WaCj!!QiPFpNGjP%LvYBIo3yTqxGrwjs0AO@LUT ztWU|1XF1(m%}Z*46`4|KD{2dn%2$^@$yyjJmVXutP?3FkC+SC7=yiZexh8L9wh$@A zI%XAJCmxcQl5MZDXCcCZoa^!=*cOuj6UEZs{vwAZO^bc!lJ88W+a`1?ADgSCaQB%z zm=l~2@>8;JT<*$ic__2u-!)(0qOpCx++B(sm95~H;Je-==T!P7$_NW`LTZ3ib|mL8 zT9xt}=Yb3PE|-5km0%ND4QxyL106gYVVibBY9C;fIhLD}4jnQk_hipIF@!Kje|jN_Y_`MbAiz;{}I196OExG>a{HAi3L|=Lfi#XL40$$1kQ6 zTMeT;7r79pY^aN{psKc;2mBE9fm#R)s%pCcK(o1$Sv#&ztf(rM1?U)?$ofquf2*+M zIfd~*mA?Nk6oW@&f)Hp{5|THp*dz0=4A2VRya+~^B}qUgv3Y42hG7`SKcdn228as! U-C6NFga7~l07*qoM6N<$f`*y!CjbBd literal 0 HcmV?d00001 diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/App_Themes/Default/Icons/mail_accounts_48.png b/WebsitePanel/Sources/WebsitePanel.WebPortal/App_Themes/Default/Icons/mail_accounts_48.png new file mode 100644 index 0000000000000000000000000000000000000000..df5b6f8ba36a162f7bc61d5d1821cf8cb7c85ce6 GIT binary patch literal 420 zcmV;V0bBlwP){#=-tb;*AfH(00000V6|)}_@vUp zh4O2pm9CRi(%uVMHJ03V?Mui;z=KS2rscM4%308J#u!7-S@gtY74R(} zNAj1En5+Tb(LazC-Hd>^j$L=C_F_3(BqndY`G5^em0AYCo7Z&G)`C(=eP%~d2hB{h3R~O1X z2*~H^LaoPJayy5BpJZp@d!%)_+8>(LR^Te_zTi(i000000Qgrv0t^6|6pn1&zM={M O0000{#=-tb;*AfH(00000V6|)}_@vUp zh4O2pm9CRi(%uVMHJ03V?Mui;z=KS2rscM4%308J#u!7-S@gtY74R(} zNAj1En5+Tb(LazC-Hd>^j$L=C_F_3(BqndY`G5^em0AYCo7Z&G)`C(=eP%~d2hB{h3R~O1X z2*~H^LaoPJayy5BpJZp@d!%)_+8>(LR^Te_zTi(i000000Qgrv0t^6|6pn1&zM={M O0000{#=-tb;*AfH(00000V6|)}_@vUp zh4O2pm9CRi(%uVMHJ03V?Mui;z=KS2rscM4%308J#u!7-S@gtY74R(} zNAj1En5+Tb(LazC-Hd>^j$L=C_F_3(BqndY`G5^em0AYCo7Z&G)`C(=eP%~d2hB{h3R~O1X z2*~H^LaoPJayy5BpJZp@d!%)_+8>(LR^Te_zTi(i000000Qgrv0t^6|6pn1&zM={M O0000{#=-tb;*AfH(00000V6|)}_@vUp zh4O2pm9CRi(%uVMHJ03V?Mui;z=KS2rscM4%308J#u!7-S@gtY74R(} zNAj1En5+Tb(LazC-Hd>^j$L=C_F_3(BqndY`G5^em0AYCo7Z&G)`C(=eP%~d2hB{h3R~O1X z2*~H^LaoPJayy5BpJZp@d!%)_+8>(LR^Te_zTi(i000000Qgrv0t^6|6pn1&zM={M O0000{#=-tb;*AfH(00000V6|)}_@vUp zh4O2pm9CRi(%uVMHJ03V?Mui;z=KS2rscM4%308J#u!7-S@gtY74R(} zNAj1En5+Tb(LazC-Hd>^j$L=C_F_3(BqndY`G5^em0AYCo7Z&G)`C(=eP%~d2hB{h3R~O1X z2*~H^LaoPJayy5BpJZp@d!%)_+8>(LR^Te_zTi(i000000Qgrv0t^6|6pn1&zM={M O0000u!UY&KQlFiQ$ zs$}!ULD=TMOM=Ur{Hp9BeCD%BE7sN8|SLjP2088&r zMzWM!U29FsJN3mwK$2frPy+xojuxQkjsR4K`CG~fS{Ku&W2>8u-lcAv%38$cd0^-5 zQUhQRF$bFZ=l?P*fU6P@XfNuO!FOP>Y@? zsguA0kjlIXp&a8S2e>3QZwiA*4lpyBcR{cLaG1v+NC1Zoi!Te+RpFvkpx@c!REb0) hkw_#GiBSCsFaY2kJSbcHh|vH5002ovPDHLkV1kfA%pw2) literal 0 HcmV?d00001 diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/App_Themes/Default/Icons/odbc_48.png b/WebsitePanel/Sources/WebsitePanel.WebPortal/App_Themes/Default/Icons/odbc_48.png new file mode 100644 index 0000000000000000000000000000000000000000..46b5e2c589ca9dd549d1fbc951d15b1abae51da4 GIT binary patch literal 568 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 R+Wr6l002ovPDHLkV1nZ{KpFr5 literal 0 HcmV?d00001 diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/App_Themes/Default/Icons/webapplicationsgallery_48.png b/WebsitePanel/Sources/WebsitePanel.WebPortal/App_Themes/Default/Icons/webapplicationsgallery_48.png new file mode 100644 index 0000000000000000000000000000000000000000..7f778dd8795d9883c87fee1ede7797a9ab17e4af GIT binary patch literal 587 zcmV-R0<`^!P)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D0pLkQK~!i%?U+9= z1VI>w*Pnz!LZMJ7P%D%oBqAgVr4PV2(CGClQ7Y&(K7xdVLaCIHP$(243JHaT-*0E$ zcyms6X5H-FW#1=xGPCc^=4N*1oteALFbu;m45K_fzAWONwj)Q`;%@0UwlakUT*hC!bKqxSEkysN-yxjE-G} zV)g+(rOEut&Gl7R&AEhkkTHHH96{!XBspO_wx96|Cs5ub2f(~Ywht^q#>5Rs&Y+GH zc0|YISh53kob80*H&ELo?ikAE0M~Fme{UdHAjbHaa1Oa=aN`r$j_qar7p@>zHBx2G9pzD*k z&zG%$=lmr&2YDu1hTH=P6LJ8~!zq9L0+XIVLzspK@D|E+3H2TFUcK=}6Pm=$;Hi^y zTb{BYyK*xccVBV}S6nro{|tZ~--nGq1^3{!tNwyVjWsCu3`0(%s{XDq48t%C!}uY~ Zz5ymPd<)@D$BF;|002ovPDHLkV1h$#{ICE3 literal 0 HcmV?d00001 diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/App_Themes/Default/Icons/webipaddresses_48.png b/WebsitePanel/Sources/WebsitePanel.WebPortal/App_Themes/Default/Icons/webipaddresses_48.png new file mode 100644 index 0000000000000000000000000000000000000000..aa4b049a89ead0e2419b75a9315e690206d1465f GIT binary patch literal 597 zcmV-b0;>IqP)teK4?_|hTC*Fb0e+A@KI}LT!?Aq;IlE$M)Zy{ za~&!I8L=2xTjD?(W$0OL-hp$7GmM{&p((*WAGryE7ORNjNF1?=Hsc};Ww16!wo$-s zD3GsB7Fy$^0`8=!v(o_3X%d0xkl#PeZ);4z6ibFa%r<-7PdI9UL}NMiDfD2mIx@qA z6gh5jt@T+?v4IH`sn8A2ftA>W@(5^0vS2^;Ws?{x;d03ij7esdF~KV$jNkI{;C0^v z0vLX8JZW(~rMuP-&)i>zV*99gQXn&Q+%gdT#^MTCU4}`-lUT|L#1y3!{Re1VmXr9j zjK4e3Cl`j0Xadk@0kKhg;*N!$07Vc(nlU*#H5tjHVv|Qw8s!!e#x^oiNHHW!qrO50 z(N`9IqP)teK4?_|hTC*Fb0e+A@KI}LT!?Aq;IlE$M)Zy{ za~&!I8L=2xTjD?(W$0OL-hp$7GmM{&p((*WAGryE7ORNjNF1?=Hsc};Ww16!wo$-s zD3GsB7Fy$^0`8=!v(o_3X%d0xkl#PeZ);4z6ibFa%r<-7PdI9UL}NMiDfD2mIx@qA z6gh5jt@T+?v4IH`sn8A2ftA>W@(5^0vS2^;Ws?{x;d03ij7esdF~KV$jNkI{;C0^v z0vLX8JZW(~rMuP-&)i>zV*99gQXn&Q+%gdT#^MTCU4}`-lUT|L#1y3!{Re1VmXr9j zjK4e3Cl`j0Xadk@0kKhg;*N!$07Vc(nlU*#H5tjHVv|Qw8s!!e#x^oiNHHW!qrO50 z(N`9 <%@ Register Src="UserControls/ServerDetails.ascx" TagName="ServerDetails" TagPrefix="uc3" %> <%@ Register Src="UserControls/Comments.ascx" TagName="Comments" TagPrefix="uc4" %> +<%@ Register Src="UserOrganization.ascx" TagName="UserOrganization" TagPrefix="wsp" %> <%@ Import Namespace="WebsitePanel.Portal" %> @@ -16,33 +17,48 @@
- + <%# Eval("PackageName") %>
- + + - - -
- <%# Eval("Text") %> -
- -
    - - -
  • <%# Eval("Text") %>
  • -
    -
    -
-
- + + <%# Eval("Text") %> + + + + + + +
+ <%# Eval("Text") %> +
+ +
    + + +
  • <%# Eval("Text") %>
  • +
    +
    +
+
+ +
+
+
-
+ +
+ + + +
diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserSpaces.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserSpaces.ascx.cs index 9c47334a..3ed43f73 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserSpaces.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserSpaces.ascx.cs @@ -53,7 +53,7 @@ namespace WebsitePanel.Portal bool isUser = PanelSecurity.SelectedUser.Role == UserRole.User; // load icons data - xmlIcons = this.Module.SelectNodes("Icon"); + xmlIcons = this.Module.SelectNodes("Group"); if (isUser && xmlIcons != null) { @@ -84,6 +84,12 @@ namespace WebsitePanel.Portal { return PortalUtils.GetSpaceHomePageUrl(spaceId); } + public string GetOrgPageUrl(int spaceId) + { + string PID_SPACE_EXCHANGE_SERVER = "SpaceExchangeServer"; + return NavigatePageURL(PID_SPACE_EXCHANGE_SERVER, PortalUtils.SPACE_ID_PARAM, spaceId.ToString()); + } + protected void odsPackages_Selected(object sender, ObjectDataSourceStatusEventArgs e) { @@ -124,6 +130,8 @@ namespace WebsitePanel.Portal return items; } + + public MenuItemCollection GetIconMenuItems(object menuItems) { return (MenuItemCollection)menuItems; @@ -134,6 +142,13 @@ namespace WebsitePanel.Portal return ((MenuItemCollection)menuItems).Count > 0; } + public bool IsOrgPanelVisible(int packageId) + { + PackageContext cntx = PackagesHelper.GetCachedPackageContext(packageId); + return cntx.Groups.ContainsKey(ResourceGroups.HostedOrganizations); + } + + private MenuItem CreateMenuItem(PackageContext cntx, XmlNode xmlNode) { string pageId = GetXmlAttribute(xmlNode, "pageID"); @@ -181,7 +196,9 @@ namespace WebsitePanel.Portal } // process nested menu items - XmlNodeList xmlMenuNodes = xmlNode.SelectNodes("MenuItems/MenuItem"); + XmlNodeList xmlMenuNodes = xmlNode.SelectNodes("Icon"); + if (xmlMenuNodes.Count==0) + xmlMenuNodes = xmlNode.SelectNodes("MenuItems/MenuItem"); foreach (XmlNode xmlMenuNode in xmlMenuNodes) { MenuItem menuItem = CreateMenuItem(cntx, xmlMenuNode); @@ -189,6 +206,9 @@ namespace WebsitePanel.Portal item.ChildItems.Add(menuItem); } + // test + //return item; + if (display && !(disabled && item.ChildItems.Count == 0)) return item; diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserSpaces.ascx.designer.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserSpaces.ascx.designer.cs index c520a27a..cc9a065a 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserSpaces.ascx.designer.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserSpaces.ascx.designer.cs @@ -1,31 +1,3 @@ -// Copyright (c) 2014, Outercurve Foundation. -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without modification, -// are permitted provided that the following conditions are met: -// -// - Redistributions of source code must retain the above copyright notice, this -// list of conditions and the following disclaimer. -// -// - Redistributions in binary form must reproduce the above copyright notice, -// this list of conditions and the following disclaimer in the documentation -// and/or other materials provided with the distribution. -// -// - Neither the name of the Outercurve Foundation nor the names of its -// contributors may be used to endorse or promote products derived from this -// software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR -// ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -// ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - //------------------------------------------------------------------------------ // // This code was generated by a tool.