Merge
|
@ -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
|
||||
|
|
|
@ -88,51 +88,46 @@
|
|||
</ModuleData>
|
||||
|
||||
<ModuleData id="SpaceIcons">
|
||||
<Icon pageID="SpaceDomains" resourceGroup="OS" imageUrl="icons/world_48.png" />
|
||||
<Icon pageID="SpaceWeb" disabled="True" imageUrl="icons/location_48.png">
|
||||
<MenuItems>
|
||||
<MenuItem pageID="SpaceWebSites" resourceGroup="Web" />
|
||||
<MenuItem pageID="SpaceWebIPAddresses" resourceGroup="Web" />
|
||||
<MenuItem pageID="SpaceSharedSSL" resourceGroup="OS" quota="Web.SharedSSL" />
|
||||
<MenuItem pageID="SpaceAdvancedStatistics" resourceGroup="Statistics" />
|
||||
</MenuItems>
|
||||
</Icon>
|
||||
<Icon pageID="SpaceFtpAccounts" resourceGroup="FTP" imageUrl="icons/folder_up_48.png"/>
|
||||
<Icon pageID="SpaceFileManager" resourceGroup="OS" quota="OS.FileManager" imageUrl="icons/cabinet_48.png"/>
|
||||
<Icon pageID="SpaceDatabases" disabled="True" imageUrl="icons/database2_48.png">
|
||||
<MenuItems>
|
||||
<MenuItem pageID="SpaceMsSql2000" resourceGroup="MsSQL2000"/>
|
||||
<MenuItem pageID="SpaceMsSql2005" resourceGroup="MsSQL2005"/>
|
||||
<MenuItem pageID="SpaceMsSql2008" resourceGroup="MsSQL2008"/>
|
||||
<MenuItem pageID="SpaceMsSql2012" resourceGroup="MsSQL2012"/>
|
||||
<MenuItem pageID="SpaceMySql4" resourceGroup="MySQL4"/>
|
||||
<MenuItem pageID="SpaceMySql5" resourceGroup="MySQL5"/>
|
||||
<MenuItem pageID="SpaceOdbc" resourceGroup="OS" quota="OS.ODBC"/>
|
||||
</MenuItems>
|
||||
</Icon>
|
||||
<Icon pageID="SpaceMail" resourceGroup="Mail" disabled="True" imageUrl="icons/mail_48.png">
|
||||
<MenuItems>
|
||||
<MenuItem pageID="SpaceMailAccounts" quota="Mail.Accounts"/>
|
||||
<MenuItem pageID="SpaceMailForwardings" quota="Mail.Forwardings"/>
|
||||
<MenuItem pageID="SpaceMailGroups" quota="Mail.Groups"/>
|
||||
<MenuItem pageID="SpaceMailLists" quota="Mail.Lists"/>
|
||||
<MenuItem pageID="SpaceMailDomains" resourceGroup="Mail"/>
|
||||
</MenuItems>
|
||||
</Icon>
|
||||
<Icon pageID="SpaceSharePoint" resourceGroup="SharePoint" disabled="True" imageUrl="icons/colors_48.png">
|
||||
<MenuItems>
|
||||
<MenuItem pageID="SpaceSharePointSites"/>
|
||||
<MenuItem pageID="SpaceSharePointUsers"/>
|
||||
</MenuItems>
|
||||
</Icon>
|
||||
<Icon pageID="SpaceVPS" resourceGroup="VPS" imageUrl="images/vps/servers_48.png" />
|
||||
<Icon pageID="SpaceVPSForPC" resourceGroup="VPSForPC" imageUrl="images/vps/icon-home-botbar-cloud.png" />
|
||||
<Icon pageID="SpaceExchangeServer" resourceGroup="Hosted Organizations" imageUrl="icons/enterprise.png"/>
|
||||
<Icon pageID="SpaceWebApplicationsGallery" resourceGroup="Web" quota="Web.WebAppGallery" imageUrl="icons/dvd_disc_48.png"/>
|
||||
<Icon pageID="SpaceApplicationsInstaller" resourceGroup="OS" quota="OS.AppInstaller" imageUrl="icons/dvd_disc_48.png"/>
|
||||
<Icon pageID="SpaceScheduledTasks" resourceGroup="OS" quota="OS.ScheduledTasks" imageUrl="icons/calendar_month_2_clock_48.png"/>
|
||||
<!--MenuItem url="http://phpmysqladmin.com" title="phpMyAdmin" target="_blank"
|
||||
resourceGroup="MySQL4"/-->
|
||||
<Group pageID="SpaceHome" title="System">
|
||||
<Icon pageID="SpaceDomains" resourceGroup="OS" imageUrl="icons/domains_48.png" />
|
||||
<Icon pageID="SpaceFtpAccounts" resourceGroup="FTP" imageUrl="icons/ftp_48.png"/>
|
||||
<Icon pageID="SpaceFileManager" resourceGroup="OS" quota="OS.FileManager" imageUrl="icons/filemanager_48.png"/>
|
||||
<Icon pageID="SpaceApplicationsInstaller" resourceGroup="OS" quota="OS.AppInstaller" imageUrl="icons/applicationsinstaller_48.png"/>
|
||||
<Icon pageID="SpaceScheduledTasks" resourceGroup="OS" quota="OS.ScheduledTasks" imageUrl="icons/scheduledtasks_48.png"/>
|
||||
</Group>
|
||||
<Group pageID="SpaceWeb" title="Web & Applications">
|
||||
<Icon pageID="SpaceWebSites" resourceGroup="Web" imageUrl="icons/websites_48.png" />
|
||||
<Icon pageID="SpaceWebIPAddresses" resourceGroup="Web" imageUrl="icons/webipaddresses_48.png" />
|
||||
<Icon pageID="SpaceSharedSSL" resourceGroup="OS" quota="Web.SharedSSL" imageUrl="icons/sharedssl_48.png" />
|
||||
<Icon pageID="SpaceAdvancedStatistics" resourceGroup="Statistics" imageUrl="icons/advancedstatistics_48.png" />
|
||||
<Icon pageID="SpaceWebApplicationsGallery" resourceGroup="Web" quota="Web.WebAppGallery" imageUrl="icons/webapplicationsgallery_48.png"/>
|
||||
</Group>
|
||||
<Group pageID="SpaceMail" title="Email" resourceGroup="Mail" >
|
||||
<Icon pageID="SpaceMailAccounts" quota="Mail.Accounts" imageUrl="icons/mail_accounts_48.png"/>
|
||||
<Icon pageID="SpaceMailForwardings" quota="Mail.Forwardings" imageUrl="icons/mail_forwardings_48.png"/>
|
||||
<Icon pageID="SpaceMailGroups" quota="Mail.Groups" imageUrl="icons/mail_groups_48.png"/>
|
||||
<Icon pageID="SpaceMailLists" quota="Mail.Lists" imageUrl="icons/mail_lists_48.png"/>
|
||||
<Icon pageID="SpaceMailDomains" resourceGroup="Mail" imageUrl="icons/mail_domains_48.png"/>
|
||||
</Group>
|
||||
<Group pageID="SpaceDatabases" title="Databases" disabled="True">
|
||||
<Icon pageID="SpaceMsSql2000" resourceGroup="MsSQL2000" imageUrl="icons/mssql_48.png"/>
|
||||
<Icon pageID="SpaceMsSql2005" resourceGroup="MsSQL2005" imageUrl="icons/mssql_48.png"/>
|
||||
<Icon pageID="SpaceMsSql2008" resourceGroup="MsSQL2008" imageUrl="icons/mssql_48.png"/>
|
||||
<Icon pageID="SpaceMsSql2012" resourceGroup="MsSQL2012" imageUrl="icons/mssql_48.png"/>
|
||||
<Icon pageID="SpaceMySql4" resourceGroup="MySQL4" imageUrl="icons/mysql_48.png"/>
|
||||
<Icon pageID="SpaceMySql5" resourceGroup="MySQL5" imageUrl="icons/mysql_48.png"/>
|
||||
<Icon pageID="SpaceOdbc" resourceGroup="OS" quota="OS.ODBC" imageUrl="icons/odbc_48.png"/>
|
||||
</Group>
|
||||
<Group pageID="SpaceHome" title="VPS" disabled="True">
|
||||
<Icon pageID="SpaceVPS" resourceGroup="VPS" imageUrl="icons/vps_48.png" />
|
||||
<Icon pageID="SpaceVPSForPC" resourceGroup="VPSForPC" imageUrl="icons/vpsforpc_48.png" />
|
||||
</Group>
|
||||
<!--
|
||||
<Group pageID="SpaceSharePoint" resourceGroup="SharePoint" disabled="True">
|
||||
<Icon pageID="SpaceSharePointSites" imageUrl="icons/colors_48.png"/>
|
||||
<Icon pageID="SpaceSharePointUsers" imageUrl="icons/colors_48.png"/>
|
||||
</Group>
|
||||
-->
|
||||
</ModuleData>
|
||||
|
||||
<ModuleData id="HostedSolutionMenu">
|
||||
|
|
|
@ -54,7 +54,7 @@
|
|||
<Control key="create_space" src="WebsitePanel/UserCreateSpace.ascx" title="UserCreateSpace" type="View" icon="sphere_add_48.png" />
|
||||
</Controls>
|
||||
</ModuleDefinition>
|
||||
<ModuleDefinition id="UserNotes">
|
||||
<ModuleDefinition id="UserNotes">
|
||||
<Controls>
|
||||
<Control key="" src="WebsitePanel/UserAccountNotes.ascx" title="UserAccountNotes" type="View" />
|
||||
</Controls>
|
||||
|
|
|
@ -786,4 +786,7 @@
|
|||
<data name="ModuleTitle.PhoneNumbers" xml:space="preserve">
|
||||
<value>Phone Numbers</value>
|
||||
</data>
|
||||
<data name="ModuleTitle.UserOrganization" xml:space="preserve">
|
||||
<value>Hosted Organization</value>
|
||||
</data>
|
||||
</root>
|
After Width: | Height: | Size: 597 B |
After Width: | Height: | Size: 587 B |
After Width: | Height: | Size: 674 B |
After Width: | Height: | Size: 660 B |
After Width: | Height: | Size: 660 B |
After Width: | Height: | Size: 1.2 KiB |
After Width: | Height: | Size: 246 B |
After Width: | Height: | Size: 438 B |
After Width: | Height: | Size: 331 B |
After Width: | Height: | Size: 582 B |
After Width: | Height: | Size: 420 B |
After Width: | Height: | Size: 420 B |
After Width: | Height: | Size: 420 B |
After Width: | Height: | Size: 420 B |
After Width: | Height: | Size: 420 B |
After Width: | Height: | Size: 491 B |
After Width: | Height: | Size: 568 B |
After Width: | Height: | Size: 777 B |
After Width: | Height: | Size: 597 B |
After Width: | Height: | Size: 1,018 B |
After Width: | Height: | Size: 3.4 KiB |
After Width: | Height: | Size: 5.2 KiB |
After Width: | Height: | Size: 587 B |
After Width: | Height: | Size: 597 B |
After Width: | Height: | Size: 597 B |
|
@ -0,0 +1,252 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="gvPackagesCreationDate.Header" xml:space="preserve">
|
||||
<value>Creation Date</value>
|
||||
</data>
|
||||
<data name="gvPackagesHostingPlan.Header" xml:space="preserve">
|
||||
<value>Hosting Plan</value>
|
||||
</data>
|
||||
<data name="gvPackagesName.Header" xml:space="preserve">
|
||||
<value>Name</value>
|
||||
</data>
|
||||
<data name="gvPackagesPricing.Header" xml:space="preserve">
|
||||
<value>Pricing</value>
|
||||
</data>
|
||||
<data name="gvPackagesServer.Header" xml:space="preserve">
|
||||
<value>Server</value>
|
||||
</data>
|
||||
<data name="gvPackagesStatus.Header" xml:space="preserve">
|
||||
<value>Status</value>
|
||||
</data>
|
||||
<data name="selPackage.AlternateText" xml:space="preserve">
|
||||
<value>Switch to this Space</value>
|
||||
</data>
|
||||
<data name="Text.ActiveSyncPolicy" xml:space="preserve">
|
||||
<value>ActiveSync Policy</value>
|
||||
</data>
|
||||
<data name="Text.BlackBerryGroup" xml:space="preserve">
|
||||
<value>BlackBerry</value>
|
||||
</data>
|
||||
<data name="Text.BlackBerryUsers" xml:space="preserve">
|
||||
<value>BlackBerry Users</value>
|
||||
</data>
|
||||
<data name="Text.Contacts" xml:space="preserve">
|
||||
<value>Contacts</value>
|
||||
</data>
|
||||
<data name="Text.CRM2013Group" xml:space="preserve">
|
||||
<value>CRM 2013</value>
|
||||
</data>
|
||||
<data name="Text.CRMGroup" xml:space="preserve">
|
||||
<value>CRM</value>
|
||||
</data>
|
||||
<data name="Text.CRMOrganization" xml:space="preserve">
|
||||
<value>CRM Organization</value>
|
||||
</data>
|
||||
<data name="Text.CRMUsers" xml:space="preserve">
|
||||
<value>CRM Users</value>
|
||||
</data>
|
||||
<data name="Text.Disclaimers" xml:space="preserve">
|
||||
<value>Disclaimers</value>
|
||||
</data>
|
||||
<data name="Text.DistributionLists" xml:space="preserve">
|
||||
<value>Distribution Lists</value>
|
||||
</data>
|
||||
<data name="Text.DomainNames" xml:space="preserve">
|
||||
<value>Domains</value>
|
||||
</data>
|
||||
<data name="Text.EnterpriseStorageDriveMaps" xml:space="preserve">
|
||||
<value>Drive Maps</value>
|
||||
</data>
|
||||
<data name="Text.EnterpriseStorageFolders" xml:space="preserve">
|
||||
<value>Folders</value>
|
||||
</data>
|
||||
<data name="Text.EnterpriseStorageGroup" xml:space="preserve">
|
||||
<value>Enterprise Storage</value>
|
||||
</data>
|
||||
<data name="Text.ExchangeDomainNames" xml:space="preserve">
|
||||
<value>Accepted Domains</value>
|
||||
</data>
|
||||
<data name="Text.ExchangeGroup" xml:space="preserve">
|
||||
<value>Exchange</value>
|
||||
</data>
|
||||
<data name="Text.LyncFederationDomains" xml:space="preserve">
|
||||
<value>Lync Federation Domains</value>
|
||||
</data>
|
||||
<data name="Text.LyncGroup" xml:space="preserve">
|
||||
<value>Lync</value>
|
||||
</data>
|
||||
<data name="Text.LyncPhoneNumbers" xml:space="preserve">
|
||||
<value>Phone Numbers</value>
|
||||
</data>
|
||||
<data name="Text.LyncUserPlans" xml:space="preserve">
|
||||
<value>Lync User Plans</value>
|
||||
</data>
|
||||
<data name="Text.LyncUsers" xml:space="preserve">
|
||||
<value>Lync Users</value>
|
||||
</data>
|
||||
<data name="Text.Mailboxes" xml:space="preserve">
|
||||
<value>Mailboxes</value>
|
||||
</data>
|
||||
<data name="Text.MailboxPlans" xml:space="preserve">
|
||||
<value>Mailbox Plans</value>
|
||||
</data>
|
||||
<data name="Text.OCSGroup" xml:space="preserve">
|
||||
<value>OCS</value>
|
||||
</data>
|
||||
<data name="Text.OCSUsers" xml:space="preserve">
|
||||
<value>OCS Users</value>
|
||||
</data>
|
||||
<data name="Text.OrganizationGroup" xml:space="preserve">
|
||||
<value>Organization</value>
|
||||
</data>
|
||||
<data name="Text.OrganizationHome" xml:space="preserve">
|
||||
<value>Organization Home</value>
|
||||
</data>
|
||||
<data name="Text.PublicFolders" xml:space="preserve">
|
||||
<value>Public Folders</value>
|
||||
</data>
|
||||
<data name="Text.RetentionPolicy" xml:space="preserve">
|
||||
<value>Retention Policy</value>
|
||||
</data>
|
||||
<data name="Text.RetentionPolicyTag" xml:space="preserve">
|
||||
<value>Retention Policy Tag</value>
|
||||
</data>
|
||||
<data name="Text.SecurityGroups" xml:space="preserve">
|
||||
<value>Groups</value>
|
||||
</data>
|
||||
<data name="Text.Setup" xml:space="preserve">
|
||||
<value>Setup</value>
|
||||
</data>
|
||||
<data name="Text.SharePointGroup" xml:space="preserve">
|
||||
<value>SharePoint</value>
|
||||
</data>
|
||||
<data name="Text.SiteCollections" xml:space="preserve">
|
||||
<value>Site Collections</value>
|
||||
</data>
|
||||
<data name="Text.StorageLimits" xml:space="preserve">
|
||||
<value>Storage Settings</value>
|
||||
</data>
|
||||
<data name="Text.StorageUsage" xml:space="preserve">
|
||||
<value>Storage Usage</value>
|
||||
</data>
|
||||
<data name="Text.Users" xml:space="preserve">
|
||||
<value>Users</value>
|
||||
</data>
|
||||
</root>
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,477 @@
|
|||
// 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 int PackageId
|
||||
{
|
||||
get { return PanelSecurity.PackageId; }
|
||||
set { }
|
||||
}
|
||||
|
||||
virtual public int ItemID
|
||||
{
|
||||
get { return PanelRequest.ItemID; }
|
||||
set { }
|
||||
}
|
||||
|
||||
|
||||
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/mailboxes_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", @"Icons/crm_orgs_48.png"));
|
||||
crmItems.Add(CreateMenuItem("CRMUsers", "CRMUsers", @"Icons/crm_users_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", @"Icons/crm_orgs_48.png"));
|
||||
crmItems.Add(CreateMenuItem("CRMUsers", "CRMUsers", @"Icons/crm_users_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", @"Icons/blackberry_users_48.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", @"Icons/sharepoint_sitecollections_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", @"Icons/lync_users_48.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", @"Icons/enterprisestorage_folders_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);
|
||||
}
|
||||
|
||||
virtual protected 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 = PortalUtils.GetThemedIcon("Icons/tool_48.png");
|
||||
else
|
||||
item.ImageUrl = PortalUtils.GetThemedIcon(img);
|
||||
}
|
||||
|
||||
return item;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
|
@ -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" %>
|
||||
|
||||
|
||||
<asp:Panel ID="UserOrgPanel" runat="server" Visible="false">
|
||||
<asp:DataList ID="OrgIcons" runat="server"
|
||||
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>
|
||||
</ItemTemplate>
|
||||
</asp:DataList>
|
||||
</asp:Panel>
|
||||
|
|
@ -0,0 +1,143 @@
|
|||
// 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
|
||||
{
|
||||
|
||||
int packageId = 0;
|
||||
override public int PackageId
|
||||
{
|
||||
get
|
||||
{
|
||||
// test
|
||||
//return 1;
|
||||
return packageId;
|
||||
}
|
||||
set
|
||||
{
|
||||
packageId = value;
|
||||
}
|
||||
}
|
||||
|
||||
int itemID = 0;
|
||||
override public int ItemID
|
||||
{
|
||||
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;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
ShortMenu = true;
|
||||
ShowImg = true;
|
||||
|
||||
|
||||
if (PackageId > 0)
|
||||
{
|
||||
MenuItemCollection items = new MenuItemCollection();
|
||||
|
||||
BindMenu(items);
|
||||
UserOrgPanel.Visible = true;
|
||||
|
||||
OrgIcons.DataSource = items;
|
||||
OrgIcons.DataBind();
|
||||
}
|
||||
else
|
||||
UserOrgPanel.Visible = false;
|
||||
|
||||
}
|
||||
|
||||
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;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,33 @@
|
|||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace WebsitePanel.Portal {
|
||||
|
||||
|
||||
public partial class UserOrganization {
|
||||
|
||||
/// <summary>
|
||||
/// UserOrgPanel control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Panel UserOrgPanel;
|
||||
|
||||
/// <summary>
|
||||
/// OrgIcons control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.DataList OrgIcons;
|
||||
}
|
||||
}
|
|
@ -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.
|
||||
|
|
|
@ -602,6 +602,9 @@
|
|||
<Compile Include="UserControls\EditFeedsList.ascx.designer.cs">
|
||||
<DependentUpon>EditFeedsList.ascx</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="UserControls\OrganizationMenuControl.cs">
|
||||
<SubType>ASPXCodeBehind</SubType>
|
||||
</Compile>
|
||||
<Compile Include="UserControls\OrgIdPolicyEditor.ascx.cs">
|
||||
<DependentUpon>OrgIdPolicyEditor.ascx</DependentUpon>
|
||||
<SubType>ASPXCodeBehind</SubType>
|
||||
|
@ -630,6 +633,13 @@
|
|||
<Compile Include="Lync\UserControls\AllocatePackagePhoneNumbers.ascx.designer.cs">
|
||||
<DependentUpon>AllocatePackagePhoneNumbers.ascx</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="UserOrganization.ascx.cs">
|
||||
<DependentUpon>UserOrganization.ascx</DependentUpon>
|
||||
<SubType>ASPXCodeBehind</SubType>
|
||||
</Compile>
|
||||
<Compile Include="UserOrganization.ascx.designer.cs">
|
||||
<DependentUpon>UserOrganization.ascx</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="VPSForPC\MonitoringPage.aspx.cs">
|
||||
<DependentUpon>MonitoringPage.aspx</DependentUpon>
|
||||
<SubType>ASPXCodeBehind</SubType>
|
||||
|
@ -4147,6 +4157,7 @@
|
|||
<Content Include="UserControls\OrgPolicyEditor.ascx" />
|
||||
<Content Include="UserControls\PackagePhoneNumbers.ascx" />
|
||||
<Content Include="Lync\UserControls\AllocatePackagePhoneNumbers.ascx" />
|
||||
<Content Include="UserOrganization.ascx" />
|
||||
<Content Include="VPSForPC\MonitoringPage.aspx" />
|
||||
<Content Include="VPSForPC\VdcAccountVLanAdd.ascx" />
|
||||
<Content Include="VPSForPC\VdcAccountVLanNetwork.ascx" />
|
||||
|
@ -5354,6 +5365,9 @@
|
|||
<SubType>Designer</SubType>
|
||||
</Content>
|
||||
<Content Include="ExchangeServer\App_LocalResources\EnterpriseStorageCreateDriveMap.ascx.resx" />
|
||||
<Content Include="App_LocalResources\UserOrganization.ascx.resx">
|
||||
<SubType>Designer</SubType>
|
||||
</Content>
|
||||
<EmbeddedResource Include="UserControls\App_LocalResources\EditDomainsList.ascx.resx">
|
||||
<SubType>Designer</SubType>
|
||||
</EmbeddedResource>
|
||||
|
|