Partial checkin on litigation hold

This commit is contained in:
robvde 2013-01-21 17:01:00 +04:00
parent 65594c80cc
commit 61d803b26b
16 changed files with 243 additions and 72 deletions

View file

@ -5073,6 +5073,12 @@
<data name="Quota.Exchange2007.EnablePlansEditing" xml:space="preserve">
<value>Enable Mailbox Plans Editing</value>
</data>
<data name="Quota.Exchange2007.AllowLitigationHold" xml:space="preserve">
<value>Allow Litigation Hold</value>
</data>
<data name="Quota.Exchange2007.RecoverableItemsSpace" xml:space="preserve">
<value>Recoverable Items Storage, MB</value>
</data>
<data name="Error.LYNC_DELETE_DOMAIN" xml:space="preserve">
<value>Error deleting organization domain name. See audit log for more details.</value>
</data>

View file

@ -163,9 +163,9 @@
<value>Enable Litigation Hold</value>
</data>
<data name="locLitigationHoldSpace.Text" xml:space="preserve">
<value>Litigation Hold Space:</value>
<value>Litigation Hold Storage:</value>
</data>
<data name="secLitigationHoldSettings.Text" xml:space="preserve">
<value>Litigation Hold Settings</value>
<value>Litigation Hold</value>
</data>
</root>

View file

@ -207,4 +207,7 @@
<data name="Unlimited.Text" xml:space="preserve">
<value>Unlimited</value>
</data>
<data name="lnkExchangeLitigationHold.Text" xml:space="preserve">
<value>Litigation Hold Storage (Mb):</value>
</data>
</root>

View file

@ -69,11 +69,12 @@
</asp:UpdatePanel>
</asp:Panel>
<wsp:CollapsiblePanel id="secLitigationHoldSettings" runat="server" TargetControlID="LitigationHoldSettings" meta:resourcekey="secGeneral" Text="General"></wsp:CollapsiblePanel>
<wsp:CollapsiblePanel id="secLitigationHoldSettings" runat="server" TargetControlID="LitigationHoldSettings" meta:resourcekey="secLitigationHoldSettings" Text="Litigation Hold"></wsp:CollapsiblePanel>
<asp:Panel ID="LitigationHoldSettings" runat="server" Height="0" style="overflow:hidden;">
<asp:UpdatePanel ID="LitigationHoldUpdatePanel" runat="server" UpdateMode="Conditional" ChildrenAsTriggers="true">
<ContentTemplate>
<table>
<!--
<tr>
<td></td>
<td>
@ -82,6 +83,7 @@
<br />
</td>
</tr>
-->
<tr>
<td class="FormLabel150"><asp:Localize ID="locLitigationHoldSpace" runat="server" meta:resourcekey="locLitigationHoldSpace" Text="Litigation Hold Space:"></asp:Localize></td>
<td>

View file

@ -102,7 +102,7 @@ namespace WebsitePanel.Portal.ExchangeServer
secCalendarSettings.Visible = ((account.AccountType == ExchangeAccountType.Equipment) | (account.AccountType == ExchangeAccountType.Room));
chkEnableLitigationHold.Checked = mailbox.EnableLitigationHold;
secLitigationHoldSettings.Visible = mailbox.EnableLitigationHold;
litigationHoldSpace.QuotaUsedValue = Convert.ToInt32(stats.LitigationHoldTotalSize / 1024 / 1024);
litigationHoldSpace.QuotaValue = (stats.LitigationHoldMaxSize == -1) ? -1 : (int)Math.Round((double)(stats.LitigationHoldMaxSize / 1024 / 1024));

View file

@ -1,30 +1,3 @@
// Copyright (c) 2012, 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.

View file

@ -118,6 +118,15 @@
<wsp:QuotaViewer ID="exchangeStorageStats" QuotaTypeId="2" runat="server" DisplayGauge="true" />
</td>
</tr>
<tr class="OrgStatsRow" id="rowExchangeLitigationHold" runat="server">
<td align="right" nowrap>
<asp:HyperLink ID="lnkExchangeLitigationHold" runat="server" meta:resourcekey="lnkExchangeLitigationHold"></asp:HyperLink>
</td>
<td>
<wsp:QuotaViewer ID="exchangeLitigationHoldStats" QuotaTypeId="2" runat="server" DisplayGauge="true" />
</td>
</tr>
</asp:Panel>
<asp:Panel runat="server" ID="besStatsPanel">

View file

@ -43,7 +43,7 @@ namespace WebsitePanel.Portal.ExchangeServer
}
private void BindExchangeStats(bool hideItems)
private void BindExchangeStats(bool hideItems, PackageContext cntx)
{
OrganizationStatistics exchangeOrgStats = ES.Services.ExchangeServer.GetOrganizationStatisticsByOrganization(PanelRequest.ItemID);
OrganizationStatistics exchangeTenantStats = ES.Services.ExchangeServer.GetOrganizationStatistics(PanelRequest.ItemID);
@ -63,6 +63,10 @@ namespace WebsitePanel.Portal.ExchangeServer
lnkFolders.NavigateUrl = EditUrl("ItemID", PanelRequest.ItemID.ToString(), "public_folders",
"SpaceID=" + PanelSecurity.PackageId.ToString());
lnkExchangeLitigationHold.NavigateUrl = EditUrl("ItemID", PanelRequest.ItemID.ToString(), "storage_usage",
"SpaceID=" + PanelSecurity.PackageId.ToString());
mailboxesStats.QuotaUsedValue = exchangeOrgStats.CreatedMailboxes;
mailboxesStats.QuotaValue = exchangeOrgStats.AllocatedMailboxes;
if (exchangeOrgStats.AllocatedMailboxes != -1) mailboxesStats.QuotaAvailable = exchangeTenantStats.AllocatedMailboxes - exchangeTenantStats.CreatedMailboxes;
@ -103,6 +107,19 @@ namespace WebsitePanel.Portal.ExchangeServer
foldersStats.QuotaValue = exchangeOrgStats.AllocatedPublicFolders;
if (exchangeOrgStats.AllocatedPublicFolders != -1) foldersStats.QuotaAvailable = exchangeTenantStats.AllocatedPublicFolders - exchangeTenantStats.CreatedPublicFolders;
}
if ((!hideItems) && (Utils.CheckQouta(Quotas.EXCHANGE2007_ALLOWLITIGATIONHOLD, cntx)))
{
exchangeLitigationHoldStats.QuotaUsedValue = exchangeOrgStats.UsedLitigationHoldSpace;
exchangeLitigationHoldStats.QuotaValue = exchangeOrgStats.AllocatedLitigationHoldSpace;
if (exchangeOrgStats.AllocatedLitigationHoldSpace != -1)
{
exchangeLitigationHoldStats.QuotaAvailable = exchangeTenantStats.AllocatedLitigationHoldSpace - exchangeTenantStats.UsedLitigationHoldSpace;
}
}
else
this.rowExchangeLitigationHold.Style.Add("display", "none");
}
private void BindOrgStats()
@ -160,7 +177,7 @@ namespace WebsitePanel.Portal.ExchangeServer
if (cntx.Groups.ContainsKey(ResourceGroups.Exchange))
{
exchangeStatsPanel.Visible = true;
BindExchangeStats(hideItems);
BindExchangeStats(hideItems, cntx);
}
else
exchangeStatsPanel.Visible = false;

View file

@ -1,31 +1,3 @@
// Copyright (c) 2012, 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.
@ -328,6 +300,33 @@ namespace WebsitePanel.Portal.ExchangeServer {
/// </remarks>
protected global::WebsitePanel.Portal.QuotaViewer exchangeStorageStats;
/// <summary>
/// rowExchangeLitigationHold control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlTableRow rowExchangeLitigationHold;
/// <summary>
/// lnkExchangeLitigationHold 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.HyperLink lnkExchangeLitigationHold;
/// <summary>
/// exchangeLitigationHoldStats control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::WebsitePanel.Portal.QuotaViewer exchangeLitigationHoldStats;
/// <summary>
/// besStatsPanel control.
/// </summary>

View file

@ -320,6 +320,7 @@
</Compile>
<Compile Include="ProviderControls\CRM2011_Settings.ascx.cs">
<DependentUpon>CRM2011_Settings.ascx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
</Compile>
<Compile Include="ProviderControls\CRM2011_Settings.ascx.designer.cs">
<DependentUpon>CRM2011_Settings.ascx</DependentUpon>