add folder quota
This commit is contained in:
parent
878f67013e
commit
524c0f1a9e
9 changed files with 200 additions and 21 deletions
|
@ -144,4 +144,25 @@
|
|||
<data name="locAddDefaultGroup" xml:space="preserve">
|
||||
<value>Add Default Group</value>
|
||||
</data>
|
||||
<data name="locFolderSize" xml:space="preserve">
|
||||
<value>Folder Limit Size (Gb):</value>
|
||||
</data>
|
||||
<data name="locQuotaType" xml:space="preserve">
|
||||
<value>Quota Type:</value>
|
||||
</data>
|
||||
<data name="rangeFolderSize" xml:space="preserve">
|
||||
<value>*</value>
|
||||
</data>
|
||||
<data name="rbtnQuotaHard" xml:space="preserve">
|
||||
<value>Hard</value>
|
||||
</data>
|
||||
<data name="rbtnQuotaSoft" xml:space="preserve">
|
||||
<value>Soft</value>
|
||||
</data>
|
||||
<data name="valRequireFolderSize" xml:space="preserve">
|
||||
<value>valRequireFolderSize</value>
|
||||
</data>
|
||||
<data name="valRequireFolderSize.ErrorMessage" xml:space="preserve">
|
||||
<value>Enter Folder Size</value>
|
||||
</data>
|
||||
</root>
|
|
@ -33,6 +33,24 @@
|
|||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<tr>
|
||||
<td class="FormLabel150"><asp:Localize ID="locFolderSize" runat="server" meta:resourcekey="locFolderSize" Text="Folder Limit Size (Gb):"></asp:Localize></td>
|
||||
<td>
|
||||
<asp:TextBox ID="txtFolderSize" runat="server" CssClass="HugeTextBox200"></asp:TextBox>
|
||||
<asp:RequiredFieldValidator ID="valRequireFolderSize" runat="server" meta:resourcekey="valRequireFolderSize" ControlToValidate="txtFolderSize"
|
||||
ErrorMessage="Enter Folder Size" ValidationGroup="CreateFolder" Display="Dynamic" Text="*" SetFocusOnError="True"></asp:RequiredFieldValidator>
|
||||
<asp:RangeValidator ID="rangeFolderSize" runat="server" ControlToValidate="txtFolderSize" MaximumValue="99999999" MinimumValue="0.01" Type="Double"
|
||||
ValidationGroup="CreateFolder" Display="Dynamic" Text="*" SetFocusOnError="True"
|
||||
ErrorMessage="The quota you’ve entered exceeds the available quota for tenant" />
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="FormLabel150"><asp:Localize ID="locQuotaType" runat="server" meta:resourcekey="locQuotaType" Text="Quota Type:"></asp:Localize></td>
|
||||
<td class="FormRBtnL">
|
||||
<asp:RadioButton ID="rbtnQuotaSoft" runat="server" meta:resourcekey="rbtnQuotaSoft" Text="Soft" GroupName="QuotaType" Checked="true" />
|
||||
<asp:RadioButton ID="rbtnQuotaHard" runat="server" meta:resourcekey="rbtnQuotaHard" Text="Hard" GroupName="QuotaType" />
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="FormLabel150"><asp:Localize ID="locAddDefaultGroup" runat="server" meta:resourcekey="locAddDefaultGroup" Text="Add Default Group:"></asp:Localize></td>
|
||||
<td>
|
||||
|
|
|
@ -30,11 +30,18 @@ using System;
|
|||
using WebsitePanel.EnterpriseServer;
|
||||
using WebsitePanel.Providers.Common;
|
||||
using WebsitePanel.Providers.HostedSolution;
|
||||
using WebsitePanel.Providers.OS;
|
||||
|
||||
namespace WebsitePanel.Portal.ExchangeServer
|
||||
{
|
||||
public partial class EnterpriseStorageCreateFolder : WebsitePanelModuleBase
|
||||
{
|
||||
#region Constants
|
||||
|
||||
private const int OneGb = 1024;
|
||||
|
||||
#endregion
|
||||
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
if (!IsPostBack)
|
||||
|
@ -44,6 +51,17 @@ namespace WebsitePanel.Portal.ExchangeServer
|
|||
Response.Redirect(EditUrl("SpaceID", PanelSecurity.PackageId.ToString(), "enterprisestorage_folders",
|
||||
"ItemID=" + PanelRequest.ItemID));
|
||||
}
|
||||
|
||||
OrganizationStatistics organizationStats = ES.Services.Organizations.GetOrganizationStatisticsByOrganization(PanelRequest.ItemID);
|
||||
|
||||
if (organizationStats.AllocatedEnterpriseStorageSpace != -1)
|
||||
{
|
||||
OrganizationStatistics tenantStats = ES.Services.Organizations.GetOrganizationStatistics(PanelRequest.ItemID);
|
||||
|
||||
rangeFolderSize.MaximumValue = Math.Round((tenantStats.AllocatedEnterpriseStorageSpace - (decimal)tenantStats.UsedEnterpriseStorageSpace) / OneGb
|
||||
+ Utils.ParseDecimal(txtFolderSize.Text, 0), 2).ToString();
|
||||
rangeFolderSize.ErrorMessage = string.Format("The quota you’ve entered exceeds the available quota for tenant ({0}Gb)", rangeFolderSize.MaximumValue);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -69,7 +87,12 @@ namespace WebsitePanel.Portal.ExchangeServer
|
|||
ES.Services.EnterpriseStorage.CreateEnterpriseStorage(PanelSecurity.PackageId, PanelRequest.ItemID);
|
||||
}
|
||||
|
||||
ResultObject result = ES.Services.EnterpriseStorage.CreateEnterpriseFolder(PanelRequest.ItemID, txtFolderName.Text, chkAddDefaultGroup.Checked);
|
||||
ResultObject result = ES.Services.EnterpriseStorage.CreateEnterpriseFolder(
|
||||
PanelRequest.ItemID,
|
||||
txtFolderName.Text,
|
||||
(int)(decimal.Parse(txtFolderSize.Text) * OneGb),
|
||||
rbtnQuotaSoft.Checked ? QuotaType.Soft : QuotaType.Hard,
|
||||
chkAddDefaultGroup.Checked);
|
||||
|
||||
if (!result.IsSuccess && result.ErrorCodes.Count > 0)
|
||||
{
|
||||
|
|
|
@ -93,6 +93,69 @@ namespace WebsitePanel.Portal.ExchangeServer {
|
|||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.RequiredFieldValidator valRequireFolderName;
|
||||
|
||||
/// <summary>
|
||||
/// locFolderSize 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.Localize locFolderSize;
|
||||
|
||||
/// <summary>
|
||||
/// txtFolderSize 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.TextBox txtFolderSize;
|
||||
|
||||
/// <summary>
|
||||
/// valRequireFolderSize 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.RequiredFieldValidator valRequireFolderSize;
|
||||
|
||||
/// <summary>
|
||||
/// rangeFolderSize 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.RangeValidator rangeFolderSize;
|
||||
|
||||
/// <summary>
|
||||
/// locQuotaType 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.Localize locQuotaType;
|
||||
|
||||
/// <summary>
|
||||
/// rbtnQuotaSoft 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.RadioButton rbtnQuotaSoft;
|
||||
|
||||
/// <summary>
|
||||
/// rbtnQuotaHard 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.RadioButton rbtnQuotaHard;
|
||||
|
||||
/// <summary>
|
||||
/// locAddDefaultGroup control.
|
||||
/// </summary>
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue