Revision: 48
Author: tmyroadctfig
Date: 2006-06-18 02:43:19 -0700 (Sun, 18 Jun 2006)
ViewCVS: http://svn.sourceforge.net/nmailserver/?rev=48&view=rev
Log Message:
-----------
Fixed the folder ACL admin page. Other small fixes to the website.
Modified Paths:
--------------
NMail/branches/luke-dev/NMail.Administration.Web/FolderDetails.aspx
NMail/branches/luke-dev/NMail.Administration.Web/FolderDetails.aspx.cs
NMail/branches/luke-dev/NMail.Administration.Web/UserDetails.aspx
NMail/branches/luke-dev/NMail.Administration.Web/UserDetails.aspx.cs
NMail/branches/luke-dev/NMail.Administration.Web/ViewFolders.aspx
NMail/branches/luke-dev/NMail.Administration.Web/ViewUsers.aspx
Modified: NMail/branches/luke-dev/NMail.Administration.Web/FolderDetails.aspx
===================================================================
--- NMail/branches/luke-dev/NMail.Administration.Web/FolderDetails.aspx 2006-06-18 05:42:46 UTC (rev 47)
+++ NMail/branches/luke-dev/NMail.Administration.Web/FolderDetails.aspx 2006-06-18 09:43:19 UTC (rev 48)
@@ -1,219 +1,162 @@
<%@ Page Language="C#" MasterPageFile="~/MasterPage.master" AutoEventWireup="true" CodeFile="FolderDetails.aspx.cs" Inherits="FolderDetails" Title="Untitled Page" %>
<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder" Runat="Server">
- <h2>Folder Details</h2>
- <asp:Literal ID="StatusMessage" runat="server"></asp:Literal>
- <asp:DetailsView ID="FolderDetailsView" runat="server" AutoGenerateRows="False" CellPadding="4" DataSourceID="FolderDataSource" ForeColor="#333333" GridLines="None">
- <FooterStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
- <CommandRowStyle BackColor="#D1DDF1" Font-Bold="True" />
- <EditRowStyle BackColor="#2461BF" />
- <RowStyle BackColor="#EFF3FB" />
- <PagerStyle BackColor="#2461BF" ForeColor="White" HorizontalAlign="Center" />
- <Fields>
- <asp:BoundField DataField="FolderId" HeaderText="Folder Id" SortExpression="FolderId" InsertVisible="False" ReadOnly="True" />
- <asp:BoundField DataField="FolderName" HeaderText="Folder Name" ReadOnly="True" SortExpression="FolderName" />
- <asp:BoundField DataField="NameSpace" HeaderText="Namespace" ReadOnly="True" SortExpression="NameSpace" InsertVisible="False" />
- <asp:CheckBoxField DataField="HasChildren" HeaderText="Has Children" SortExpression="HasChildren" InsertVisible="False" ReadOnly="True" />
- <asp:CommandField ShowDeleteButton="True" />
- </Fields>
- <FieldHeaderStyle BackColor="#DEE8F5" Font-Bold="True" />
- <HeaderStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
- <AlternatingRowStyle BackColor="White" />
- </asp:DetailsView>
- <asp:ObjectDataSource ID="FolderDataSource" runat="server" SelectMethod="GetFolder"
- TypeName="NMail.Administration.Web.FolderDataSource" DeleteMethod="DeleteFolder" OnDeleted="FolderDataSource_Deleted" OnDeleting="FolderDataSource_Deleting" InsertMethod="CreateFolder">
- <SelectParameters>
- <asp:QueryStringParameter Name="folderId" QueryStringField="FolderId" Type="Int32" />
- </SelectParameters>
- <DeleteParameters>
- <asp:Parameter Name="folderId" Type="Int32" />
- </DeleteParameters>
- <InsertParameters>
- <asp:Parameter Name="folderName" Type="String" />
- </InsertParameters>
- </asp:ObjectDataSource>
- <h2>Sub-folders</h2>
- <asp:GridView ID="SubFoldersGridView" runat="server" AutoGenerateColumns="False" CellPadding="4"
- DataSourceID="FolderChildrenDataSource" ForeColor="#333333" GridLines="None">
- <FooterStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
- <Columns>
- <asp:BoundField DataField="FolderId" HeaderText="Folder Id" SortExpression="FolderId" />
- <asp:BoundField DataField="FolderName" HeaderText="Folder Name" ReadOnly="True" SortExpression="FolderName" />
- <asp:BoundField DataField="NameSpace" HeaderText="Namespace" ReadOnly="True" SortExpression="NameSpace" />
- <asp:CheckBoxField DataField="HasChildren" HeaderText="HasChildren" SortExpression="HasChildren" />
- <asp:HyperLinkField DataNavigateUrlFields="FolderId" DataNavigateUrlFormatString="FolderDetails.aspx?FolderId={0}"
- HeaderText="Details" Text="details" />
- </Columns>
- <RowStyle BackColor="#EFF3FB" />
- <EditRowStyle BackColor="#2461BF" />
- <SelectedRowStyle BackColor="#D1DDF1" Font-Bold="True" ForeColor="#333333" />
- <PagerStyle BackColor="#2461BF" ForeColor="White" HorizontalAlign="Center" />
- <HeaderStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
- <AlternatingRowStyle BackColor="White" />
- </asp:GridView>
- <asp:ObjectDataSource ID="FolderChildrenDataSource" runat="server" SelectMethod="GetSubFolders"
- TypeName="NMail.Administration.Web.FolderDataSource">
- <SelectParameters>
- <asp:QueryStringParameter Name="folderId" QueryStringField="FolderId" Type="Int32" />
- </SelectParameters>
- </asp:ObjectDataSource>
- <h2>Folder ACL</h2>
- <asp:GridView ID="AclGridView" runat="server" CellPadding="4" ForeColor="#333333" GridLines="None" AutoGenerateColumns="False" DataSourceID="FolderAclDataSource" ShowFooter="True">
- <FooterStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
- <RowStyle BackColor="#EFF3FB" />
- <EditRowStyle BackColor="#2461BF" />
- <SelectedRowStyle BackColor="#D1DDF1" Font-Bold="True" ForeColor="#333333" />
- <PagerStyle BackColor="#2461BF" ForeColor="White" HorizontalAlign="Center" />
- <HeaderStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
- <AlternatingRowStyle BackColor="White" />
- <Columns>
- <asp:TemplateField>
- <EditItemTemplate><!-- Don't show in edit --></EditItemTemplate>
- <ItemTemplate>
- <asp:LinkButton ID="DeleteLinkBtn" runat="server" OnClientClick="return confirm('Really delete this ACL entry?');" CommandName="Delete">Delete conf</asp:LinkButton>
- </ItemTemplate>
- <FooterTemplate>
- <asp:Button ID="CancelInsertAclEntryBtn" runat="server" Text="Cancel" OnClick="CancelInsertAclEntryBtn_Click"/>
- <asp:Button ID="InsertAclEntryBtn" runat="server" Text="Insert" OnClick="InsertAclEntryBtn_Click"/>
- </FooterTemplate>
- </asp:TemplateField>
- <asp:CommandField ShowEditButton="True" />
- <asp:TemplateField HeaderText="Identifier" SortExpression="Identifier">
- <EditItemTemplate>
- <asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("Identifier") %>'></asp:TextBox>
- </EditItemTemplate>
- <ItemTemplate>
- <asp:Label ID="Label1" runat="server" Text='<%# Bind("Identifier") %>'></asp:Label>
- </ItemTemplate>
- <FooterTemplate>
- <asp:TextBox ID="NewIdentifier" runat="server"></asp:TextBox>
- </FooterTemplate>
- </asp:TemplateField>
- <asp:TemplateField HeaderText="Insert" SortExpression="CanInsert">
- <EditItemTemplate>
- <asp:CheckBox ID="CheckBox1" runat="server" Checked='<%# Bind("CanInsert") %>' />
- </EditItemTemplate>
- <ItemTemplate>
- <asp:CheckBox ID="CheckBox1" runat="server" Checked='<%# Bind("CanInsert") %>' Enabled="false" />
- </ItemTemplate>
- <FooterTemplate>
- <asp:CheckBox ID="NewCanInsert" runat="server"></asp:CheckBox>
- </FooterTemplate>
- </asp:TemplateField>
- <asp:TemplateField HeaderText="Post" SortExpression="CanPost">
- <EditItemTemplate>
- <asp:CheckBox ID="CheckBox2" runat="server" Checked='<%# Bind("CanPost") %>' />
- </EditItemTemplate>
- <ItemTemplate>
- <asp:CheckBox ID="CheckBox2" runat="server" Checked='<%# Bind("CanPost") %>' Enabled="false" />
- </ItemTemplate>
- <FooterTemplate>
- <asp:CheckBox ID="NewCanPost" runat="server"></asp:CheckBox>
- </FooterTemplate>
- </asp:TemplateField>
- <asp:TemplateField HeaderText="Lookup" SortExpression="CanLookup">
- <EditItemTemplate>
- <asp:CheckBox ID="CheckBox3" runat="server" Checked='<%# Bind("CanLookup") %>' />
- </EditItemTemplate>
- <ItemTemplate>
- <asp:CheckBox ID="CheckBox3" runat="server" Checked='<%# Bind("CanLookup") %>' Enabled="false" />
- </ItemTemplate>
- <FooterTemplate>
- <asp:CheckBox ID="NewCanLookup" runat="server"></asp:CheckBox>
- </FooterTemplate>
- </asp:TemplateField>
- <asp:TemplateField HeaderText="Write" SortExpression="CanWrite">
- <EditItemTemplate>
- <asp:CheckBox ID="CheckBox4" runat="server" Checked='<%# Bind("CanWrite") %>' />
- </EditItemTemplate>
- <ItemTemplate>
- <asp:CheckBox ID="CheckBox4" runat="server" Checked='<%# Bind("CanWrite") %>' Enabled="false" />
- </ItemTemplate>
- <FooterTemplate>
- <asp:CheckBox ID="NewCanWrite" runat="server"></asp:CheckBox>
- </FooterTemplate>
- </asp:TemplateField>
- <asp:TemplateField HeaderText="Read" SortExpression="CanRead">
- <EditItemTemplate>
- <asp:CheckBox ID="CheckBox5" runat="server" Checked='<%# Bind("CanRead") %>' />
- </EditItemTemplate>
- <ItemTemplate>
- <asp:CheckBox ID="CheckBox5" runat="server" Checked='<%# Bind("CanRead") %>' Enabled="false" />
- </ItemTemplate>
- <FooterTemplate>
- <asp:CheckBox ID="NewCanRead" runat="server"></asp:CheckBox>
- </FooterTemplate>
- </asp:TemplateField>
- <asp:TemplateField HeaderText="Create Sub-folders" SortExpression="CanCreateFolders">
- <EditItemTemplate>
- <asp:CheckBox ID="CheckBox6" runat="server" Checked='<%# Bind("CanCreateFolders") %>' />
- </EditItemTemplate>
- <ItemTemplate>
- <asp:CheckBox ID="CheckBox6" runat="server" Checked='<%# Bind("CanCreateFolders") %>'
- Enabled="false" />
- </ItemTemplate>
- <FooterTemplate>
- <asp:CheckBox ID="NewCanCreateSubFolders" runat="server"></asp:CheckBox>
- </FooterTemplate>
- </asp:TemplateField>
- <asp:TemplateField HeaderText="Delete" SortExpression="CanDelete">
- <EditItemTemplate>
- <asp:CheckBox ID="CheckBox7" runat="server" Checked='<%# Bind("CanDelete") %>' />
- </EditItemTemplate>
- <ItemTemplate>
- <asp:CheckBox ID="CheckBox7" runat="server" Checked='<%# Bind("CanDelete") %>' Enabled="false" />
- </ItemTemplate>
- <FooterTemplate>
- <asp:CheckBox ID="NewCanDelete" runat="server"></asp:CheckBox>
- </FooterTemplate>
- </asp:TemplateField>
- <asp:TemplateField HeaderText="Alter Seen Flag" SortExpression="CanAlterSeenFlag">
- <EditItemTemplate>
- <asp:CheckBox ID="CheckBox8" runat="server" Checked='<%# Bind("CanAlterSeenFlag") %>' />
- </EditItemTemplate>
- <ItemTemplate>
- <asp:CheckBox ID="CheckBox8" runat="server" Checked='<%# Bind("CanAlterSeenFlag") %>'
- Enabled="false" />
- </ItemTemplate>
- <FooterTemplate>
- <asp:CheckBox ID="NewCanAlterSeenFlag" runat="server"></asp:CheckBox>
- </FooterTemplate>
- </asp:TemplateField>
- <asp:TemplateField HeaderText="Admin" SortExpression="AdministrativePrivileges">
- <EditItemTemplate>
- <asp:CheckBox ID="CheckBox9" runat="server" Checked='<%# Bind("AdministrativePrivileges") %>' />
- </EditItemTemplate>
- <ItemTemplate>
- <asp:CheckBox ID="CheckBox9" runat="server" Checked='<%# Bind("AdministrativePrivileges") %>'
- Enabled="false" />
- </ItemTemplate>
- <FooterTemplate>
- <asp:CheckBox ID="NewCanAdmin" runat="server"></asp:CheckBox>
- </FooterTemplate>
- </asp:TemplateField>
- </Columns>
- </asp:GridView>
- <asp:ObjectDataSource ID="FolderAclDataSource" runat="server" SelectMethod="GetFolderAcl"
- TypeName="NMail.Administration.Web.FolderDataSource" OnUpdating="FolderAclDataSource_Updating" UpdateMethod="SetStoreFolderAce" DeleteMethod="RemoveStoreFolderAce" InsertMethod="SetStoreFolderAce" OnDeleting="FolderAclDataSource_Deleting" OnInserting="FolderAclDataSource_Inserting">
- <SelectParameters>
- <asp:QueryStringParameter Name="folderId" QueryStringField="FolderId" Type="Int32" />
- </SelectParameters>
- <UpdateParameters>
- <asp:Parameter Name="folderId" Type="Int32" />
- <asp:Parameter Name="identifier" Type="String" />
- <asp:Parameter Name="privilege" Type="Object" />
- <asp:Parameter Name="aceType" Type="Object" />
- </UpdateParameters>
- <DeleteParameters>
- <asp:Parameter Name="folderId" Type="Int32" />
- <asp:Parameter Name="identifier" Type="String" />
- </DeleteParameters>
- <InsertParameters>
- <asp:Parameter Name="folderId" Type="Int32" />
- <asp:Parameter Name="identifier" Type="String" />
- <asp:Parameter Name="privilege" Type="Object" />
- <asp:Parameter Name="aceType" Type="Object" />
- </InsertParameters>
- </asp:ObjectDataSource>
- <asp:LinkButton ID="ShowInsertAclEntryBtn" runat="server" OnClick="ShowInsertAclEntryBtn_Click">Insert ACL Entry</asp:LinkButton>
+ <asp:Image ID="StatusImage" runat="server" Visible="false" />
+ <asp:Label ID="StatusMessage" runat="server"></asp:Label>
+
+ <asp:Panel ID="ConfirmPanel" runat="server" Visible="false">
+ <br />
+ <div style="border-right: black thin solid; padding-right: 0.5em; border-top: black thin solid; padding-left: 0.5em; padding-bottom: 0.5em; border-left: black thin solid; color: red; padding-top: 0.5em; border-bottom: black thin solid;">
+ <img src="Images/Tango/Question.png" />
+ Really delete this folder?
+ <asp:Button ID="yesBtn" runat="server" Text="Yes" OnClick="yesBtn_Click" />
+ <asp:Button ID="noBtn" runat="server" Text="No" OnClick="noBtn_Click" /></div>
+ </asp:Panel>
+
+ <asp:Panel ID="MainPanel" runat="server">
+ <h2>Folder Details</h2>
+ <asp:DetailsView ID="FolderDetailsView" runat="server" AutoGenerateRows="False" CellPadding="4" DataSourceID="FolderDataSource" ForeColor="#333333" GridLines="None" OnItemDeleting="FolderDetailsView_ItemDeleting">
+ <FooterStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
+ <CommandRowStyle BackColor="#D1DDF1" Font-Bold="True" />
+ <EditRowStyle BackColor="#2461BF" />
+ <RowStyle BackColor="#EFF3FB" />
+ <PagerStyle BackColor="#2461BF" ForeColor="White" HorizontalAlign="Center" />
+ <Fields>
+ <asp:BoundField DataField="FolderId" HeaderText="Folder Id" SortExpression="FolderId" InsertVisible="False" ReadOnly="True" />
+ <asp:BoundField DataField="FolderName" HeaderText="Folder Name" ReadOnly="True" SortExpression="FolderName" />
+ <asp:BoundField DataField="NameSpace" HeaderText="Namespace" ReadOnly="True" SortExpression="NameSpace" InsertVisible="False" />
+ <asp:CheckBoxField DataField="HasChildren" HeaderText="Has Children" SortExpression="HasChildren" InsertVisible="False" ReadOnly="True" />
+ <asp:CommandField ShowDeleteButton="True" />
+ </Fields>
+ <FieldHeaderStyle BackColor="#DEE8F5" Font-Bold="True" />
+ <HeaderStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
+ <AlternatingRowStyle BackColor="White" />
+ </asp:DetailsView>
+ <asp:ObjectDataSource ID="FolderDataSource" runat="server" SelectMethod="GetFolder"
+ TypeName="NMail.Administration.Web.FolderDataSource" DeleteMethod="DeleteFolder" OnDeleted="FolderDataSource_Deleted" OnDeleting="FolderDataSource_Deleting" InsertMethod="CreateFolder">
+ <SelectParameters>
+ <asp:QueryStringParameter Name="folderId" QueryStringField="FolderId" Type="Int32" />
+ </SelectParameters>
+ <DeleteParameters>
+ <asp:Parameter Name="folderId" Type="Int32" />
+ </DeleteParameters>
+ <InsertParameters>
+ <asp:Parameter Name="folderName" Type="String" />
+ </InsertParameters>
+ </asp:ObjectDataSource>
+
+ <h2>Sub-folders</h2>
+ <asp:GridView ID="SubFoldersGridView" runat="server" AutoGenerateColumns="False" CellPadding="4"
+ DataSourceID="FolderChildrenDataSource" ForeColor="#333333" GridLines="None">
+ <FooterStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
+ <Columns>
+ <asp:BoundField DataField="FolderId" HeaderText="Folder Id" SortExpression="FolderId" />
+ <asp:BoundField DataField="FolderName" HeaderText="Folder Name" ReadOnly="True" SortExpression="FolderName" />
+ <asp:BoundField DataField="NameSpace" HeaderText="Namespace" ReadOnly="True" SortExpression="NameSpace" />
+ <asp:CheckBoxField DataField="HasChildren" HeaderText="HasChildren" SortExpression="HasChildren" />
+ <asp:HyperLinkField DataNavigateUrlFields="FolderId" DataNavigateUrlFormatString="FolderDetails.aspx?FolderId={0}"
+ HeaderText="Details" Text="details" />
+ </Columns>
+ <RowStyle BackColor="#EFF3FB" />
+ <EditRowStyle BackColor="#2461BF" />
+ <SelectedRowStyle BackColor="#D1DDF1" Font-Bold="True" ForeColor="#333333" />
+ <PagerStyle BackColor="#2461BF" ForeColor="White" HorizontalAlign="Center" />
+ <HeaderStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
+ <AlternatingRowStyle BackColor="White" />
+ <EmptyDataTemplate>
+ This folder has no subfolders.<br />
+ </EmptyDataTemplate>
+ </asp:GridView>
+ <asp:ObjectDataSource ID="FolderChildrenDataSource" runat="server" SelectMethod="GetSubFolders"
+ TypeName="NMail.Administration.Web.FolderDataSource">
+ <SelectParameters>
+ <asp:QueryStringParameter Name="folderId" QueryStringField="FolderId" Type="Int32" />
+ </SelectParameters>
+ </asp:ObjectDataSource>
+
+ <asp:Image ID="AclStatusImage" runat="server" Visible="false" />
+ <asp:Label ID="AclStatusLabel" runat="server"></asp:Label>
+
+ <h2>Folder ACL</h2>
+ <asp:GridView ID="AclGridView" runat="server" CellPadding="4" ForeColor="#333333" GridLines="None" AutoGenerateColumns="False" DataSourceID="FolderAclDataSource" ShowFooter="True" DataKeyNames="Identifier" OnRowDeleting="AclGridView_RowDeleting">
+ <FooterStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
+ <RowStyle BackColor="#EFF3FB" />
+ <EditRowStyle BackColor="#2461BF" />
+ <SelectedRowStyle BackColor="#D1DDF1" Font-Bold="True" ForeColor="#333333" />
+ <PagerStyle BackColor="#2461BF" ForeColor="White" HorizontalAlign="Center" />
+ <HeaderStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
+ <AlternatingRowStyle BackColor="White" />
+ <Columns>
+ <asp:BoundField DataField="Identifier" HeaderText="Identifier" />
+ <asp:CheckBoxField DataField="CanInsert" HeaderText="Insert" />
+ <asp:CheckBoxField DataField="CanPost" HeaderText="Post" />
+ <asp:CheckBoxField DataField="CanLookup" HeaderText="Lookup" />
+ <asp:CheckBoxField DataField="CanWrite" HeaderText="Write" />
+ <asp:CheckBoxField DataField="CanRead" HeaderText="Read" />
+ <asp:CheckBoxField DataField="CanCreateFolders" HeaderText="Create Sub-folders" />
+ <asp:CheckBoxField DataField="CanDelete" HeaderText="Delete" />
+ <asp:CheckBoxField DataField="CanAlterSeenFlag" HeaderText="Alter Seen Flag" />
+ <asp:CheckBoxField DataField="AdministrativePrivileges" HeaderText="Admin" />
+
+ <asp:CommandField ShowEditButton="True" />
+ <asp:CommandField ShowDeleteButton="True" />
+ </Columns>
+ <EmptyDataTemplate>
+ This folder has no ACL entries.
+ </EmptyDataTemplate>
+ </asp:GridView>
+ <asp:ObjectDataSource ID="FolderAclDataSource" runat="server" SelectMethod="GetFolderAcl"
+ TypeName="NMail.Administration.Web.FolderDataSource" OnUpdating="FolderAclDataSource_InsertingOrUpdating" UpdateMethod="SetStoreFolderAce" DeleteMethod="RemoveStoreFolderAce" InsertMethod="SetStoreFolderAce" OnDeleting="FolderAclDataSource_Deleting" OnInserting="FolderAclDataSource_InsertingOrUpdating">
+ <SelectParameters>
+ <asp:QueryStringParameter Name="folderId" QueryStringField="FolderId" Type="Int32" />
+ </SelectParameters>
+ <UpdateParameters>
+ <asp:Parameter Name="folderId" Type="Int32" />
+ <asp:Parameter Name="identifier" Type="String" />
+ <asp:Parameter Name="privilege" Type="Object" />
+ <asp:Parameter Name="aceType" Type="Object" />
+ </UpdateParameters>
+ <DeleteParameters>
+ <asp:Parameter Name="folderId" Type="Int32" />
+ <asp:Parameter Name="identifier" Type="String" />
+ </DeleteParameters>
+ <InsertParameters>
+ <asp:Parameter Name="folderId" Type="Int32" />
+ <asp:Parameter Name="identifier" Type="String" />
+ <asp:Parameter Name="privilege" Type="Object" />
+ <asp:Parameter Name="aceType" Type="Object" />
+ </InsertParameters>
+ </asp:ObjectDataSource>
+ <br />
+ <asp:LinkButton ID="ShowInsertAclEntryBtn" runat="server" OnClick="ShowInsertAclEntryBtn_Click">Insert ACL Entry</asp:LinkButton>
+
+ <asp:Panel ID="InsertAclPanel" runat="server" Visible="false">
+ <h3>Add an ACL Entry</h3>
+ <asp:DetailsView ID="CreateAclDetailView" runat="server" AutoGenerateRows="False"
+ CellPadding="4" DataSourceID="FolderAclDataSource" DefaultMode="Insert" ForeColor="#333333"
+ GridLines="None" OnModeChanging="CreateAclDetailView_ModeChanging">
+ <FooterStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
+ <CommandRowStyle BackColor="#D1DDF1" Font-Bold="True" />
+ <EditRowStyle BackColor="#2461BF" />
+ <RowStyle BackColor="#EFF3FB" />
+ <PagerStyle BackColor="#2461BF" ForeColor="White" HorizontalAlign="Center" />
+ <Fields>
+ <asp:BoundField DataField="Identifier" HeaderText="Identifier" />
+ <asp:CheckBoxField DataField="CanInsert" HeaderText="Insert" />
+ <asp:CheckBoxField DataField="CanPost" HeaderText="Post" />
+ <asp:CheckBoxField DataField="CanLookup" HeaderText="Lookup" />
+ <asp:CheckBoxField DataField="CanWrite" HeaderText="Write" />
+ <asp:CheckBoxField DataField="CanRead" HeaderText="Read" />
+ <asp:CheckBoxField DataField="CanCreateFolders" HeaderText="Create Sub-folders" />
+ <asp:CheckBoxField DataField="CanDelete" HeaderText="Delete" />
+ <asp:CheckBoxField DataField="CanAlterSeenFlag" HeaderText="Alter Seen Flag" />
+ <asp:CheckBoxField DataField="AdministrativePrivileges" HeaderText="Admin" />
+ <asp:CommandField ShowInsertButton="True" />
+ </Fields>
+ <FieldHeaderStyle BackColor="#DEE8F5" Font-Bold="True" />
+ <HeaderStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
+ <AlternatingRowStyle BackColor="White" />
+ </asp:DetailsView>
+ </asp:Panel>
+ </asp:Panel>
</asp:Content>
Modified: NMail/branches/luke-dev/NMail.Administration.Web/FolderDetails.aspx.cs
===================================================================
--- NMail/branches/luke-dev/NMail.Administration.Web/FolderDetails.aspx.cs 2006-06-18 05:42:46 UTC (rev 47)
+++ NMail/branches/luke-dev/NMail.Administration.Web/FolderDetails.aspx.cs 2006-06-18 09:43:19 UTC (rev 48)
@@ -21,6 +21,8 @@
this.AclGridView.ShowFooter = false;
}
+ #region Folder Events
+
protected void FolderDataSource_Deleting(object sender, ObjectDataSourceMethodEventArgs e)
{
e.InputParameters["folderId"] = Request.QueryString["FolderId"];
@@ -30,82 +32,60 @@
{
LocalStoreFolderResult result = (LocalStoreFolderResult)e.ReturnValue;
+ // Display the result of the attempt to delete the user
switch (result)
{
case LocalStoreFolderResult.OkSuccessful:
this.StatusMessage.Text = "Folder deleted.";
+ this.StatusImage.ImageUrl = Request.ApplicationPath + @"/Images/GreenLight.png";
+
+ // Hide these controls, they shouldn't have any data now
+ this.MainPanel.Visible = false;
break;
case LocalStoreFolderResult.HasChildren:
this.StatusMessage.Text = "Cannot delete the folder because it still has sub-folders.";
+ this.StatusImage.ImageUrl = Request.ApplicationPath + @"/Images/Tango/Error.png";
break;
+ case LocalStoreFolderResult.NotPermitted:
+ this.StatusMessage.Text = "You are not permitted to delete this folder.";
+ this.StatusImage.ImageUrl = Request.ApplicationPath + @"/Images/Tango/Error.png";
+ break;
+
default:
- this.StatusMessage.Text = result.ToString();
+ this.StatusMessage.Text = string.Format("Unknown error occured while attempting to delete the folder: {0}", result.ToString());
+ this.StatusImage.ImageUrl = Request.ApplicationPath + @"/Images/Tango/Error.png";
break;
}
+
+ this.StatusImage.Visible = true;
}
- protected void FolderAclDataSource_Inserting(object sender, ObjectDataSourceMethodEventArgs e)
+ protected void yesBtn_Click(object sender, EventArgs e)
{
- StoreFolderPrivilege privilege = StoreFolderPrivilege.None;
+ // Got confirmation, send the delete command and hide the confirmation panel
+ this.FolderDataSource.Delete();
+ this.ConfirmPanel.Visible = false;
+ }
- if ((bool)e.InputParameters["NewCanAdmin"])
- {
- privilege = StoreFolderPrivilegeHelper.AddPrivileges(privilege, StoreFolderPrivilege.Admin);
- }
+ protected void noBtn_Click(object sender, EventArgs e)
+ {
+ // Got a cancel, hide the confirmation panel
+ this.ConfirmPanel.Visible = false;
+ }
- if ((bool)e.InputParameters["NewCanAlterSeenFlag"])
- {
- privilege = StoreFolderPrivilegeHelper.AddPrivileges(privilege, StoreFolderPrivilege.AlterSeenFlag);
- }
-
- if ((bool)e.InputParameters["NewCanCreateSubFolders"])
- {
- privilege = StoreFolderPrivilegeHelper.AddPrivileges(privilege, StoreFolderPrivilege.CreateFolders);
- }
-
- if ((bool)e.InputParameters["NewCanDelete"])
- {
- privilege = StoreFolderPrivilegeHelper.AddPrivileges(privilege, StoreFolderPrivilege.Delete);
- }
-
- if ((bool)e.InputParameters["NewCanInsert"])
- {
- privilege = StoreFolderPrivilegeHelper.AddPrivileges(privilege, StoreFolderPrivilege.Insert);
- }
-
- if ((bool)e.InputParameters["NewCanLookup"])
- {
- privilege = StoreFolderPrivilegeHelper.AddPrivileges(privilege, StoreFolderPrivilege.Lookup);
- }
-
- if ((bool)e.InputParameters["NewCanPost"])
- {
- privilege = StoreFolderPrivilegeHelper.AddPrivileges(privilege, StoreFolderPrivilege.Post);
- }
-
- if ((bool)e.InputParameters["NewCanRead"])
- {
- privilege = StoreFolderPrivilegeHelper.AddPrivileges(privilege, StoreFolderPrivilege.Read);
- }
-
- if ((bool)e.InputParameters["NewCanWrite"])
- {
- privilege = StoreFolderPrivilegeHelper.AddPrivileges(privilege, StoreFolderPrivilege.Write);
- }
-
- string identifier = (string)e.InputParameters["NewIdentifier"];
-
- e.InputParameters.Clear();
-
- e.InputParameters["Identifier"] = identifier;
- e.InputParameters["FolderId"] = this.Request.QueryString["FolderId"];
- e.InputParameters["Privilege"] = privilege;
- e.InputParameters["AceType"] = AcePrivilegeType.Allow;
+ protected void FolderDetailsView_ItemDeleting(object sender, DetailsViewDeleteEventArgs e)
+ {
+ // Display the confirmation panel and canel the event
+ this.ConfirmPanel.Visible = true;
+ e.Cancel = true;
}
+ #endregion
- protected void FolderAclDataSource_Updating(object sender, ObjectDataSourceMethodEventArgs e)
+ #region Folder ACL Events
+
+ protected void FolderAclDataSource_InsertingOrUpdating(object sender, ObjectDataSourceMethodEventArgs e)
{
StoreFolderPrivilege privilege = StoreFolderPrivilege.None;
@@ -167,30 +147,28 @@
protected void FolderAclDataSource_Deleting(object sender, ObjectDataSourceMethodEventArgs e)
{
string identifier = (string)e.InputParameters["Identifier"];
-
+
e.InputParameters.Clear();
e.InputParameters["Identifier"] = identifier;
e.InputParameters["FolderId"] = this.Request.QueryString["FolderId"];
}
- protected void ShowInsertAclEntryBtn_Click(object sender, EventArgs e)
+ protected void CreateAclDetailView_ModeChanging(object sender, DetailsViewModeEventArgs e)
{
- this.AclGridView.ShowFooter = true;
- this.ShowInsertAclEntryBtn.Visible = false;
+ // Hide the create ACL control if the user cancels
+ if (e.CancelingEdit)
+ {
+ this.InsertAclPanel.Visible = false;
+ this.ShowInsertAclEntryBtn.Visible = true;
+ e.Cancel = true;
+ }
}
- protected void CancelInsertAclEntryBtn_Click(object sender, EventArgs e)
+ protected void ShowInsertAclEntryBtn_Click(object sender, EventArgs e)
{
- this.AclGridView.ShowFooter = false;
- this.ShowInsertAclEntryBtn.Visible = true;
- }
-
- protected void InsertAclEntryBtn_Click(object sender, EventArgs e)
- {
- this.AclGridView.ShowFooter = false;
+ this.InsertAclPanel.Visible = true;
this.ShowInsertAclEntryBtn.Visible = false;
-
- this.FolderAclDataSource.Insert();
}
+ #endregion
}
Modified: NMail/branches/luke-dev/NMail.Administration.Web/UserDetails.aspx
===================================================================
--- NMail/branches/luke-dev/NMail.Administration.Web/UserDetails.aspx 2006-06-18 05:42:46 UTC (rev 47)
+++ NMail/branches/luke-dev/NMail.Administration.Web/UserDetails.aspx 2006-06-18 09:43:19 UTC (rev 48)
@@ -1,19 +1,20 @@
<%@ Page Language="C#" MasterPageFile="~/MasterPage.master" AutoEventWireup="true" CodeFile="UserDetails.aspx.cs" Inherits="UserDetails" Title="Untitled Page" %>
<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder" Runat="Server">
<asp:Image ID="StatusImage" runat="server" Visible="false" />
- <asp:Label ID="StatusMessage" runat="server" Visible="False"></asp:Label>
+ <asp:Label ID="StatusMessage" runat="server"></asp:Label>
- <asp:Panel ID="ConfirmPanel" runat="server">
- <div style="border-right: darkgray thin solid; padding-right: 0.5em; border-top: darkgray thin solid; padding-left: 0.5em; padding-bottom: 0.5em; margin: 1em; border-left: darkgray thin solid; color: red; padding-top: 0.5em; border-bottom: darkgray thin solid;">
+ <asp:Panel ID="ConfirmPanel" runat="server" Visible="false">
+ <br />
+ <div style="border-right: black thin solid; padding-right: 0.5em; border-top: black thin solid; padding-left: 0.5em; padding-bottom: 0.5em; border-left: black thin solid; color: red; padding-top: 0.5em; border-bottom: black thin solid;">
<img src="Images/Tango/Question.png" />
Really delete this user?
- <asp:Button ID="yesBtn" runat="server" Text="Yes" />
- <asp:Button ID="noBtn" runat="server" Text="No" /></div>
+ <asp:Button ID="yesBtn" runat="server" Text="Yes" OnClick="yesBtn_Click" />
+ <asp:Button ID="noBtn" runat="server" Text="No" OnClick="noBtn_Click" /></div>
</asp:Panel>
<h2>User Details</h2>
<asp:DetailsView ID="UserDetailsView" runat="server" AutoGenerateRows="False" CellPadding="4"
- DataSourceID="UserDataSource" ForeColor="#333333" GridLines="None">
+ DataSourceID="UserDataSource" ForeColor="#333333" GridLines="None" OnItemDeleting="UserDetailsView_ItemDeleting">
<FooterStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
<CommandRowStyle BackColor="#D1DDF1" Font-Bold="True" />
<EditRowStyle BackColor="#2461BF" />
Modified: NMail/branches/luke-dev/NMail.Administration.Web/UserDetails.aspx.cs
===================================================================
--- NMail/branches/luke-dev/NMail.Administration.Web/UserDetails.aspx.cs 2006-06-18 05:42:46 UTC (rev 47)
+++ NMail/branches/luke-dev/NMail.Administration.Web/UserDetails.aspx.cs 2006-06-18 09:43:19 UTC (rev 48)
@@ -22,13 +22,49 @@
{
LocalStoreUserResult result = (LocalStoreUserResult)e.ReturnValue;
- this.StatusMessage.Visible = true;
-
+ // Display the result of the attempt to delete the user
switch (result)
{
+ case LocalStoreUserResult.OkSuccessful:
+ this.StatusMessage.Text = "User deleted.";
+ this.StatusImage.ImageUrl = Request.ApplicationPath + @"/Images/GreenLight.png";
+
+ // Hide these controls, they shouldn't have any data now
+ this.UserDetailsView.Visible = false;
+ this.UserFoldersGridView.Visible = false;
+ break;
+
case LocalStoreUserResult.UserStillHasFolders:
this.StatusMessage.Text = "Could not delete the user because they still own folders.";
+ this.StatusImage.ImageUrl = Request.ApplicationPath + @"/Images/Tango/Error.png";
break;
+
+ default:
+ this.StatusMessage.Text = string.Format("Unknown error occured while attempting to delete the user: {0}", result.ToString());
+ this.StatusImage.ImageUrl = Request.ApplicationPath + @"/Images/Tango/Error.png";
+ break;
}
+
+ this.StatusImage.Visible = true;
}
+
+ protected void noBtn_Click(object sender, EventArgs e)
+ {
+ // Got a cancel, hide the confirmation panel
+ this.ConfirmPanel.Visible = false;
+ }
+
+ protected void yesBtn_Click(object sender, EventArgs e)
+ {
+ // Got confirmation, send the delete command and hide the confirmation panel
+ this.UserDataSource.Delete();
+ this.ConfirmPanel.Visible = false;
+ }
+
+ protected void UserDetailsView_ItemDeleting(object sender, DetailsViewDeleteEventArgs e)
+ {
+ // Display the confirmation panel and canel the event
+ this.ConfirmPanel.Visible = true;
+ e.Cancel = true;
+ }
}
Modified: NMail/branches/luke-dev/NMail.Administration.Web/ViewFolders.aspx
===================================================================
--- NMail/branches/luke-dev/NMail.Administration.Web/ViewFolders.aspx 2006-06-18 05:42:46 UTC (rev 47)
+++ NMail/branches/luke-dev/NMail.Administration.Web/ViewFolders.aspx 2006-06-18 09:43:19 UTC (rev 48)
@@ -17,6 +17,9 @@
<PagerStyle BackColor="#2461BF" ForeColor="White" HorizontalAlign="Center" />
<HeaderStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
<AlternatingRowStyle BackColor="White" />
+ <EmptyDataTemplate>
+ There are no folders currently in the system.
+ </EmptyDataTemplate>
</asp:GridView>
<asp:ObjectDataSource ID="FoldersDataSource" runat="server" SelectMethod="GetFolders"
TypeName="NMail.Administration.Web.FolderDataSource"></asp:ObjectDataSource>
Modified: NMail/branches/luke-dev/NMail.Administration.Web/ViewUsers.aspx
===================================================================
--- NMail/branches/luke-dev/NMail.Administration.Web/ViewUsers.aspx 2006-06-18 05:42:46 UTC (rev 47)
+++ NMail/branches/luke-dev/NMail.Administration.Web/ViewUsers.aspx 2006-06-18 09:43:19 UTC (rev 48)
@@ -18,6 +18,9 @@
<PagerStyle BackColor="#2461BF" ForeColor="White" HorizontalAlign="Center" />
<HeaderStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
<AlternatingRowStyle BackColor="White" />
+ <EmptyDataTemplate>
+ No users currently in the system.
+ </EmptyDataTemplate>
</asp:GridView>
<asp:ObjectDataSource ID="UserDataSource" runat="server" SelectMethod="GetUsers"
TypeName="NMail.Administration.Web.UserDataSource"></asp:ObjectDataSource>
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|