Account Home Organization module
This commit is contained in:
parent
6acb71d4b3
commit
7696614304
34 changed files with 168 additions and 158 deletions
|
@ -46,19 +46,16 @@ 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; }
|
||||
set { }
|
||||
}
|
||||
|
||||
virtual public int ItemID
|
||||
{
|
||||
get { return PanelRequest.ItemID; }
|
||||
set { }
|
||||
}
|
||||
|
||||
|
||||
|
@ -194,7 +191,7 @@ namespace WebsitePanel.Portal.UserControls
|
|||
private void PrepareExchangeMenu(MenuItemCollection exchangeItems, bool hideItems)
|
||||
{
|
||||
if (Utils.CheckQouta(Quotas.EXCHANGE2007_MAILBOXES, Cntx))
|
||||
exchangeItems.Add(CreateMenuItem("Mailboxes", "mailboxes", @"Icons/accounting_mail_48.png"));
|
||||
exchangeItems.Add(CreateMenuItem("Mailboxes", "mailboxes", @"Icons/mailboxes_48.png"));
|
||||
|
||||
if (ShortMenu) return;
|
||||
|
||||
|
@ -260,8 +257,8 @@ namespace WebsitePanel.Portal.UserControls
|
|||
|
||||
private void PrepareCRMMenu(MenuItemCollection crmItems)
|
||||
{
|
||||
crmItems.Add(CreateMenuItem("CRMOrganization", "CRMOrganizationDetails", @"Images/crm_48.png"));
|
||||
crmItems.Add(CreateMenuItem("CRMUsers", "CRMUsers", @"Images/crm_48.png"));
|
||||
crmItems.Add(CreateMenuItem("CRMOrganization", "CRMOrganizationDetails", @"Icons/crm_orgs_48.png"));
|
||||
crmItems.Add(CreateMenuItem("CRMUsers", "CRMUsers", @"Icons/crm_users_48.png"));
|
||||
|
||||
if (ShortMenu) return;
|
||||
|
||||
|
@ -291,8 +288,8 @@ namespace WebsitePanel.Portal.UserControls
|
|||
|
||||
private void PrepareCRM2013Menu(MenuItemCollection crmItems)
|
||||
{
|
||||
crmItems.Add(CreateMenuItem("CRMOrganization", "CRMOrganizationDetails", @"Images/crm_48.png"));
|
||||
crmItems.Add(CreateMenuItem("CRMUsers", "CRMUsers", @"Images/crm_48.png"));
|
||||
crmItems.Add(CreateMenuItem("CRMOrganization", "CRMOrganizationDetails", @"Icons/crm_orgs_48.png"));
|
||||
crmItems.Add(CreateMenuItem("CRMUsers", "CRMUsers", @"Icons/crm_users_48.png"));
|
||||
|
||||
if (ShortMenu) return;
|
||||
|
||||
|
@ -323,7 +320,7 @@ namespace WebsitePanel.Portal.UserControls
|
|||
|
||||
private void PrepareBlackBerryMenu(MenuItemCollection bbItems)
|
||||
{
|
||||
bbItems.Add(CreateMenuItem("BlackBerryUsers", "blackberry_users", @"Images/blackberry48.png"));
|
||||
bbItems.Add(CreateMenuItem("BlackBerryUsers", "blackberry_users", @"Icons/blackberry_users_48.png"));
|
||||
}
|
||||
|
||||
private void PrepareSharePointMenuRoot(MenuItemCollection items)
|
||||
|
@ -349,7 +346,7 @@ namespace WebsitePanel.Portal.UserControls
|
|||
|
||||
private void PrepareSharePointMenu(MenuItemCollection spItems)
|
||||
{
|
||||
spItems.Add(CreateMenuItem("SiteCollections", "sharepoint_sitecollections", @"Images/Exchange/storage_limits_48.png"));
|
||||
spItems.Add(CreateMenuItem("SiteCollections", "sharepoint_sitecollections", @"Icons/sharepoint_sitecollections_48.png"));
|
||||
|
||||
if (ShortMenu) return;
|
||||
|
||||
|
@ -406,7 +403,7 @@ namespace WebsitePanel.Portal.UserControls
|
|||
|
||||
private void PrepareLyncMenu(MenuItemCollection lyncItems)
|
||||
{
|
||||
lyncItems.Add(CreateMenuItem("LyncUsers", "lync_users", @"Images/lync48.png"));
|
||||
lyncItems.Add(CreateMenuItem("LyncUsers", "lync_users", @"Icons/lync_users_48.png"));
|
||||
|
||||
if (ShortMenu) return;
|
||||
|
||||
|
@ -443,7 +440,7 @@ namespace WebsitePanel.Portal.UserControls
|
|||
|
||||
private void PrepareEnterpriseStorageMenu(MenuItemCollection enterpriseStorageItems)
|
||||
{
|
||||
enterpriseStorageItems.Add(CreateMenuItem("EnterpriseStorageFolders", "enterprisestorage_folders", @"Images/folder_48.png"));
|
||||
enterpriseStorageItems.Add(CreateMenuItem("EnterpriseStorageFolders", "enterprisestorage_folders", @"Icons/enterprisestorage_folders_48.png"));
|
||||
|
||||
if (ShortMenu) return;
|
||||
|
||||
|
@ -457,7 +454,7 @@ namespace WebsitePanel.Portal.UserControls
|
|||
return CreateMenuItem(text, key, null);
|
||||
}
|
||||
|
||||
private MenuItem CreateMenuItem(string text, string key, string img)
|
||||
virtual protected MenuItem CreateMenuItem(string text, string key, string img)
|
||||
{
|
||||
MenuItem item = new MenuItem();
|
||||
|
||||
|
@ -468,9 +465,9 @@ namespace WebsitePanel.Portal.UserControls
|
|||
if (ShowImg)
|
||||
{
|
||||
if (img==null)
|
||||
item.ImageUrl = ImagePath + "Icons/tool_48.png";
|
||||
item.ImageUrl = PortalUtils.GetThemedIcon("Icons/tool_48.png");
|
||||
else
|
||||
item.ImageUrl = ImagePath + img;
|
||||
item.ImageUrl = PortalUtils.GetThemedIcon(img);
|
||||
}
|
||||
|
||||
return item;
|
||||
|
|
|
@ -48,50 +48,20 @@ 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<packages.Rows.Count;i++)
|
||||
{
|
||||
int pId = (int)packages.Rows[i]["PackageID"];
|
||||
DataTable orgs = new OrganizationsHelper().GetOrganizations(pId, false);
|
||||
|
||||
for(int j=0;j<orgs.Rows.Count;j++)
|
||||
{
|
||||
DataRow org = orgs.Rows[j];
|
||||
int iId = (int)org["ItemID"];
|
||||
|
||||
if (packageId==0)
|
||||
{
|
||||
packageId = pId;
|
||||
itemID = iId;
|
||||
}
|
||||
|
||||
object isDefault = org["IsDefault"];
|
||||
if (isDefault is bool)
|
||||
{
|
||||
if ((bool)isDefault)
|
||||
{
|
||||
packageId = pId;
|
||||
itemID = iId;
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
int packageId = 0;
|
||||
override public int PackageId
|
||||
override public int PackageId
|
||||
{
|
||||
get
|
||||
{
|
||||
// test
|
||||
//return 1;
|
||||
return packageId;
|
||||
}
|
||||
set
|
||||
{
|
||||
packageId = value;
|
||||
}
|
||||
}
|
||||
|
||||
int itemID = 0;
|
||||
|
@ -99,6 +69,32 @@ namespace WebsitePanel.Portal
|
|||
{
|
||||
get
|
||||
{
|
||||
// test
|
||||
//return 1;
|
||||
if (itemID != 0) return itemID;
|
||||
if (PackageId == 0) return 0;
|
||||
|
||||
DataTable orgs = new OrganizationsHelper().GetOrganizations(PackageId, false);
|
||||
|
||||
for (int j = 0; j < orgs.Rows.Count; j++)
|
||||
{
|
||||
DataRow org = orgs.Rows[j];
|
||||
int iId = (int)org["ItemID"];
|
||||
|
||||
if (itemID == 0)
|
||||
itemID = iId;
|
||||
|
||||
object isDefault = org["IsDefault"];
|
||||
if (isDefault is bool)
|
||||
{
|
||||
if ((bool)isDefault)
|
||||
{
|
||||
itemID = iId;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return itemID;
|
||||
}
|
||||
}
|
||||
|
@ -106,8 +102,6 @@ namespace WebsitePanel.Portal
|
|||
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
FindDefaultOrg();
|
||||
|
||||
ShortMenu = true;
|
||||
ShowImg = true;
|
||||
|
||||
|
@ -127,6 +121,23 @@ namespace WebsitePanel.Portal
|
|||
|
||||
}
|
||||
|
||||
protected override MenuItem CreateMenuItem(string text, string key, string img)
|
||||
{
|
||||
string PID_SPACE_EXCHANGE_SERVER = "SpaceExchangeServer";
|
||||
|
||||
MenuItem item = new MenuItem();
|
||||
|
||||
item.Text = GetLocalizedString("Text." + text);
|
||||
item.NavigateUrl = PortalUtils.NavigatePageURL( PID_SPACE_EXCHANGE_SERVER, "ItemID", ItemID.ToString(),
|
||||
PortalUtils.SPACE_ID_PARAM + "=" + PackageId, DefaultPage.CONTROL_ID_PARAM + "=" + key
|
||||
/*, DefaultPage.MODULE_ID_PARAM + "=" + */ );
|
||||
|
||||
if (img == null)
|
||||
item.ImageUrl = PortalUtils.GetThemedIcon("Icons/tool_48.png");
|
||||
else
|
||||
item.ImageUrl = PortalUtils.GetThemedIcon(img);
|
||||
|
||||
return item;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -2,6 +2,7 @@
|
|||
<%@ Import Namespace="WebsitePanel.Portal" %>
|
||||
<%@ 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 @@
|
|||
<ItemTemplate>
|
||||
<div class="IconsBlock">
|
||||
<div class="IconsTitle">
|
||||
<asp:hyperlink id=lnkEdit runat="server" NavigateUrl='<%# GetSpaceHomePageUrl((int)Eval("PackageID")) %>'>
|
||||
<asp:hyperlink id="lnkEdit" runat="server" NavigateUrl='<%# GetSpaceHomePageUrl((int)Eval("PackageID")) %>'>
|
||||
<%# Eval("PackageName") %>
|
||||
</asp:hyperlink>
|
||||
</div>
|
||||
<div>
|
||||
<asp:DataList ID="PackageIcons" runat="server" DataSource='<%# GetIconsDataSource((int)Eval("PackageID")) %>'
|
||||
CellSpacing="1" RepeatColumns="5" RepeatDirection="Horizontal">
|
||||
|
||||
<asp:Repeater ID="PackageGroups" runat="server" DataSource='<%# GetIconsDataSource((int)Eval("PackageID")) %>' >
|
||||
<ItemTemplate>
|
||||
<asp:Panel ID="IconPanel" runat="server" CssClass="Icon">
|
||||
<asp:HyperLink ID="imgLink" runat="server" NavigateUrl='<%# Eval("NavigateURL") %>'><asp:Image ID="imgIcon" runat="server" ImageUrl='<%# Eval("ImageUrl") %>' /></asp:HyperLink>
|
||||
<br />
|
||||
<asp:HyperLink ID="lnkIcon" runat="server" NavigateUrl='<%# Eval("NavigateURL") %>'><%# Eval("Text") %></asp:HyperLink>
|
||||
</asp:Panel>
|
||||
<asp:Panel ID="IconMenu" runat="server" CssClass="IconMenu" Visible='<%# IsIconMenuVisible(Eval("ChildItems")) %>'>
|
||||
<ul>
|
||||
<asp:Repeater ID="MenuItems" runat="server" DataSource='<%# GetIconMenuItems(Eval("ChildItems")) %>'>
|
||||
<ItemTemplate>
|
||||
<li><asp:HyperLink ID="HyperLink1" runat="server" NavigateUrl='<%# Eval("NavigateURL") %>'><%# Eval("Text") %></asp:HyperLink></li>
|
||||
</ItemTemplate>
|
||||
</asp:Repeater>
|
||||
</ul>
|
||||
</asp:Panel>
|
||||
<ajaxToolkit:HoverMenuExtender TargetControlID="IconPanel" PopupControlID="IconMenu" runat="server"
|
||||
PopupPosition="Right" HoverCssClass="Icon Hover"></ajaxToolkit:HoverMenuExtender>
|
||||
<asp:hyperlink id="lnkGroup" runat="server">
|
||||
<%# Eval("Text") %>
|
||||
</asp:hyperlink>
|
||||
|
||||
<asp:DataList ID="PackageIcons" runat="server" DataSource='<%# GetIconMenuItems(Eval("ChildItems")) %>'
|
||||
CellSpacing="1" RepeatColumns="5" RepeatDirection="Horizontal">
|
||||
<ItemTemplate>
|
||||
<asp:Panel ID="IconPanel" runat="server" CssClass="Icon">
|
||||
<asp:HyperLink ID="imgLink" runat="server" NavigateUrl='<%# Eval("NavigateURL") %>'><asp:Image ID="imgIcon" runat="server" ImageUrl='<%# Eval("ImageUrl") %>' /></asp:HyperLink>
|
||||
<br />
|
||||
<asp:HyperLink ID="lnkIcon" runat="server" NavigateUrl='<%# Eval("NavigateURL") %>'><%# Eval("Text") %></asp:HyperLink>
|
||||
</asp:Panel>
|
||||
<asp:Panel ID="IconMenu" runat="server" CssClass="IconMenu" Visible='<%# IsIconMenuVisible(Eval("ChildItems")) %>'>
|
||||
<ul>
|
||||
<asp:Repeater ID="MenuItems" runat="server" DataSource='<%# GetIconMenuItems(Eval("ChildItems")) %>'>
|
||||
<ItemTemplate>
|
||||
<li><asp:HyperLink ID="HyperLink1" runat="server" NavigateUrl='<%# Eval("NavigateURL") %>'><%# Eval("Text") %></asp:HyperLink></li>
|
||||
</ItemTemplate>
|
||||
</asp:Repeater>
|
||||
</ul>
|
||||
</asp:Panel>
|
||||
<ajaxToolkit:HoverMenuExtender TargetControlID="IconPanel" PopupControlID="IconMenu" runat="server"
|
||||
PopupPosition="Right" HoverCssClass="Icon Hover"></ajaxToolkit:HoverMenuExtender>
|
||||
</ItemTemplate>
|
||||
</asp:DataList>
|
||||
|
||||
</ItemTemplate>
|
||||
</asp:DataList>
|
||||
</asp:Repeater>
|
||||
|
||||
</div>
|
||||
<asp:Panel ID="OrgPanel" runat="server" Visible='<%# IsOrgPanelVisible((int)Eval("PackageID")) %>'>
|
||||
<asp:hyperlink ID="linkOrg" runat="server" NavigateUrl='<%# GetOrgPageUrl((int)Eval("PackageID")) %>' meta:resourcekey="linkOrg" Text="Hosted Organization" />
|
||||
<wsp:UserOrganization ID="UserOrganization" runat="server" PackageId='<%# (int)Eval("PackageID") %>' />
|
||||
</asp:Panel>
|
||||
</div>
|
||||
</ItemTemplate>
|
||||
</asp:Repeater>
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
|
@ -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.
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue