This commit is contained in:
vfedosevich 2015-01-16 02:49:58 -08:00
commit 605428f419
47 changed files with 1063 additions and 417 deletions

View file

@ -293,4 +293,5 @@ UL.ActionButtons LI {margin-bottom: 12px;}
p.warningText {font-size:14px; color:Red; text-align:center;}
.Hidden {display: none;}
.LinkText {color:#428bca;}
.WrapText { white-space: normal;}
.WrapText { white-space: normal;}
.chosen-container { margin-top: -30px; }

File diff suppressed because one or more lines are too long

Binary file not shown.

After

Width:  |  Height:  |  Size: 538 B

View file

@ -28,12 +28,14 @@
using System;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.Caching;
using WebsitePanel.EnterpriseServer;
using System.Collections;
namespace WebsitePanel.Portal
{
@ -162,6 +164,33 @@ namespace WebsitePanel.Portal
return ES.Services.Packages.GetRawMyPackages(PanelSecurity.SelectedUserId);
}
public Hashtable GetMyPackages(int index, int PackagesPerPage)
{
Hashtable ret = new Hashtable();
DataTable table = ES.Services.Packages.GetRawMyPackages(PanelSecurity.SelectedUserId).Tables[0];
if(table.Rows.Count > 0) {
System.Collections.Generic.IEnumerable<DataRow> dr = table.AsEnumerable().Skip(PackagesPerPage * index - PackagesPerPage).Take(PackagesPerPage);
DataSet set = new DataSet();
set.Tables.Add(dr.CopyToDataTable());
ret.Add("DataSet", set);
ret.Add("RowCount", table.Rows.Count);
}
return ret;
}
public DataSet GetMyPackage(int packageid) {
DataSet ret = new DataSet();
DataTable table = ES.Services.Packages.GetRawMyPackages(PanelSecurity.SelectedUserId).Tables[0];
if(table.Rows.Count > 0) {
DataTable t = table.Select("PackageID = " + packageid).CopyToDataTable();
ret.Tables.Add(t);
}
return ret;
}
#region Packages Paged ODS Methods
DataSet dsPackagesPaged;

View file

@ -34,6 +34,9 @@
<div class="ToolLink">
<asp:HyperLink ID="lnkDelete" runat="server" meta:resourcekey="lnkDelete" Text="Delete"></asp:HyperLink>
</div>
<div class="ToolLink">
<asp:CheckBox ID="chkDefault" runat="server" meta:resourcekey="chkDefaultSpace" AutoPostBack="true" OnCheckedChanged="chkDefault_CheckedChanged" Text="Default space" />
</div>
</div>
<br />
<wsp:CollapsiblePanel id="StatusHeader" runat="server"

View file

@ -45,20 +45,22 @@ namespace WebsitePanel.Portal
{
protected void Page_Load(object sender, EventArgs e)
{
BindSpace();
if(!IsPostBack) {
BindSpace();
UserInfo user = UsersHelper.GetUser(PanelSecurity.EffectiveUserId);
UserInfo user = UsersHelper.GetUser(PanelSecurity.EffectiveUserId);
if (user != null)
{
PackageContext cntx = PackagesHelper.GetCachedPackageContext(PanelSecurity.PackageId);
if ((user.Role == UserRole.User) & (Utils.CheckQouta(Quotas.EXCHANGE2007_ISCONSUMER, cntx)))
if (user != null)
{
lnkSummaryLetter.Visible = false;
PackageContext cntx = PackagesHelper.GetCachedPackageContext(PanelSecurity.PackageId);
if ((user.Role == UserRole.User) & (Utils.CheckQouta(Quotas.EXCHANGE2007_ISCONSUMER, cntx)))
{
lnkSummaryLetter.Visible = false;
}
}
}
}
private void BindSpace()
@ -68,6 +70,7 @@ namespace WebsitePanel.Portal
if (package != null)
{
litSpaceName.Text = PortalAntiXSS.EncodeOld(package.PackageName);
chkDefault.Checked = package.DefaultTopPackage;
// bind space status
PackageStatus status = (PackageStatus)package.StatusId;
@ -131,5 +134,10 @@ namespace WebsitePanel.Portal
return;
}
}
protected void chkDefault_CheckedChanged(object sender, EventArgs e) {
ES.Services.Packages.SetDefaultTopPackage(PanelSecurity.SelectedUserId, PanelSecurity.PackageId);
return;
}
}
}

View file

@ -29,10 +29,9 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:2.0.50727.1873
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
@ -158,6 +157,15 @@ namespace WebsitePanel.Portal {
/// </remarks>
protected global::System.Web.UI.WebControls.HyperLink lnkDelete;
/// <summary>
/// chkDefault 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.CheckBox chkDefault;
/// <summary>
/// StatusHeader control.
/// </summary>

View file

@ -95,7 +95,7 @@ namespace WebsitePanel.Portal
txtBackupsPath.Text = settings["BackupsPath"];
}
// WPI
settings = ES.Services.System.GetSystemSettings(WSP.SystemSettings.WPI_SETTINGS);
@ -175,6 +175,7 @@ namespace WebsitePanel.Portal
}
// WPI
/*
settings[FEED_ENABLE_MICROSOFT] = wpiMicrosoftFeed.Checked.ToString();

View file

@ -5,61 +5,66 @@
<%@ Register Src="UserOrganization.ascx" TagName="UserOrganization" TagPrefix="wsp" %>
<%@ Import Namespace="WebsitePanel.Portal" %>
<script src="/JavaScript/jquery-1.4.4.min.js" type="text/javascript"></script>
<script src="/JavaScript/chosen.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(function () {
$(".chosen-select").chosen({ width: "200px" });
});
</script>
<asp:Panel id="ButtonsPanel" runat="server" class="FormButtonsBar UserSpaces">
<asp:Button ID="btnAddItem" runat="server" meta:resourcekey="btnAddItem" Text="Create Hosting Space" CssClass="Button3" OnClick="btnAddItem_Click" />
<asp:Button ID="btnAddItem" runat="server" meta:resourcekey="btnAddItem" Text="Create Hosting Space" CssClass="Button3" OnClick="btnAddItem_Click" />
</asp:Panel>
<asp:Panel ID="UserPackagesPanel" runat="server" Visible="false">
<asp:Repeater ID="PackagesList" runat="server" EnableViewState="false">
<ItemTemplate>
<div class="IconsBlock">
<div class="IconsTitle">
<asp:hyperlink id="lnkEdit" runat="server" NavigateUrl='<%# GetSpaceHomePageUrl((int)Eval("PackageID")) %>'>
<%# Eval("PackageName") %>
</asp:hyperlink>
</div>
<div>
<div class="IconsBlock">
<div class="IconsTitle">
<asp:DropDownList ID="ddlPackageSelect" OnSelectedIndexChanged="openSelectedPackage" AutoPostBack="true" CssClass="chosen-select" runat="server" Visible="false" />
</div>
<asp:Repeater ID="PackagesList" runat="server" EnableViewState="false">
<ItemTemplate>
<div>
<asp:Repeater ID="PackageGroups" runat="server" DataSource='<%# GetIconsDataSource((int)Eval("PackageID")) %>' >
<ItemTemplate>
<asp:Repeater ID="PackageGroups" runat="server" DataSource='<%# GetIconsDataSource((int)Eval("PackageID")) %>' >
<ItemTemplate>
<asp:Label ID="lblGroup" runat="server" CssClass="LinkText" Text='<%# Eval("Text") %>' />
<asp:Label ID="lblGroup" runat="server" CssClass="LinkText" Text='<%# Eval("Text") %>' />
<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>
<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:Repeater>
</ItemTemplate>
</asp:Repeater>
</div>
</div>
<asp:Panel ID="OrgPanel" runat="server" Visible='<%# IsOrgPanelVisible((int)Eval("PackageID")) %>'>
<wsp:UserOrganization ID="UserOrganization" runat="server" PackageId='<%# (int)Eval("PackageID") %>' />
</asp:Panel>
</ItemTemplate>
</asp:Repeater>
</div>
<asp:Panel ID="OrgPanel" runat="server" Visible='<%# IsOrgPanelVisible((int)Eval("PackageID")) %>'>
<wsp:UserOrganization ID="UserOrganization" runat="server" PackageId='<%# (int)Eval("PackageID") %>' />
</asp:Panel>
</ItemTemplate>
</asp:Repeater>
</div>
<asp:Panel ID="EmptyPackagesList" runat="server" Visible="false" CssClass="FormBody">
<asp:Literal ID="litEmptyList" runat="server" EnableViewState="false"></asp:Literal>
</asp:Panel>

View file

@ -36,6 +36,7 @@ using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using WSP = WebsitePanel.EnterpriseServer;
using WebsitePanel.EnterpriseServer;
using System.Xml;
@ -46,9 +47,10 @@ namespace WebsitePanel.Portal
public partial class UserSpaces : WebsitePanelModuleBase
{
XmlNodeList xmlIcons = null;
DataSet myPackages;
protected void Page_Load(object sender, EventArgs e)
{
// check for user
bool isUser = PanelSecurity.SelectedUser.Role == UserRole.User;
@ -57,15 +59,29 @@ namespace WebsitePanel.Portal
if (isUser && xmlIcons != null)
{
if(!IsPostBack)
{
myPackages = new PackagesHelper().GetMyPackages();
myPackages.Tables[0].DefaultView.Sort = "DefaultTopPackage DESC, PackageId ASC";
ddlPackageSelect.DataSource = myPackages.Tables[0].DefaultView;
ddlPackageSelect.DataTextField = myPackages.Tables[0].Columns[2].ColumnName;
ddlPackageSelect.DataValueField = myPackages.Tables[0].Columns[0].ColumnName;
ddlPackageSelect.DataBind();
}
// USER
UserPackagesPanel.Visible = true;
PackagesList.DataSource = new PackagesHelper().GetMyPackages();
PackagesList.DataBind();
if (PackagesList.Items.Count == 0)
if(!IsPostBack)
{
litEmptyList.Text = GetLocalizedString("gvPackages.Empty");
EmptyPackagesList.Visible = true;
if(ddlPackageSelect.Items.Count == 0) {
litEmptyList.Text = GetLocalizedString("gvPackages.Empty");
EmptyPackagesList.Visible = true;
} else {
ddlPackageSelect.Visible = true;
myPackages = new PackagesHelper().GetMyPackage(int.Parse(ddlPackageSelect.SelectedValue));
PackagesList.DataSource = myPackages;
PackagesList.DataBind();
}
}
}
else
@ -223,5 +239,10 @@ namespace WebsitePanel.Portal
{
return node.Attributes[name] != null ? node.Attributes[name].Value : null;
}
public void openSelectedPackage(Object sender, EventArgs e) {
PackagesList.DataSource = new PackagesHelper().GetMyPackage(int.Parse(ddlPackageSelect.SelectedValue));
PackagesList.DataBind();
}
}
}

View file

@ -67,6 +67,15 @@ namespace WebsitePanel.Portal {
/// </remarks>
protected global::System.Web.UI.WebControls.Panel UserPackagesPanel;
/// <summary>
/// ddlPackageSelect 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.DropDownList ddlPackageSelect;
/// <summary>
/// PackagesList control.
/// </summary>

File diff suppressed because one or more lines are too long