webdav portal root quote added

This commit is contained in:
vfedosevich 2015-03-02 05:10:53 -08:00
parent 6bf818f1d8
commit 6dc1d0c259
8 changed files with 35 additions and 10 deletions

View file

@ -295,11 +295,11 @@ namespace WebsitePanel.WebDav.Core
{
XmlResponseList = XmlDoc.GetElementsByTagName("d:response");
}
var children = new WebDavHierarchyItem[XmlResponseList.Count];
var children = new WebDavResource[XmlResponseList.Count];
int counter = 0;
foreach (XmlNode XmlCurrentResponse in XmlResponseList)
{
var item = new WebDavHierarchyItem();
var item = new WebDavResource();
item.SetCredentials(_credentials);
foreach (XmlNode XmlCurrentNode in XmlCurrentResponse.ChildNodes)

View file

@ -50,6 +50,7 @@ namespace WebsitePanel.WebDav.Core
SendChunked = false;
AllowWriteStreamBuffering = false;
IsRootItem = item.IsRootItem;
SetCredentials(credentials);
SetHierarchyItem(item);
}

View file

@ -51,8 +51,8 @@ namespace WebsitePanel.WebDav.Core.Managers
{
Href = new Uri(x.Url),
ItemType = ItemType.Folder,
ContentLength = x.Size,
AllocatedSpace = x.FRSMQuotaMB,
ContentLength = x.Size * 1024 * 1024,
AllocatedSpace = x.FRSMQuotaMB * 1024 * 1024,
IsRootItem = true
}).ToArray();
}

View file

@ -295,6 +295,16 @@ tr.selected-file {
display: block;
}
.column-name {
position: relative;
}
.column-name #quota {
position: absolute;
right: 0px;
top: 20%;
}
/* Theme Mods */
input,div{border-radius:0px!important;}

View file

@ -151,11 +151,11 @@ namespace WebsitePanel.WebDavPortal.Controllers
if (string.IsNullOrEmpty(dtRequest.Search.Value) == false)
{
folderItems = _webdavManager.SearchFiles(WspContext.User.ItemId, pathPart, dtRequest.Search.Value, WspContext.User.Login, true).Select(x => new WebDavResource(null, x));
folderItems = _webdavManager.SearchFiles(WspContext.User.ItemId, pathPart, dtRequest.Search.Value, WspContext.User.Login, true).Cast<WebDavResource>();
}
else
{
folderItems = _webdavManager.OpenFolder(pathPart).Select(x=>new WebDavResource(null, x));
folderItems = _webdavManager.OpenFolder(pathPart).Cast<WebDavResource>();
}
var tableItems = Mapper.Map<IEnumerable<WebDavResource>, IEnumerable<ResourceTableItemModel>>(folderItems).ToList();

View file

@ -45,7 +45,9 @@ namespace WebsitePanel.WebDavPortal.Mapping.Profiles.Webdav
.ForMember(ti => ti.LastModified, x => x.MapFrom(hi => hi.LastModified))
.ForMember(ti => ti.LastModifiedFormated, x => x.MapFrom(hi => hi.LastModified == DateTime.MinValue ? "--" : (new WebDavResource(null, hi)).LastModified.ToString("dd/MM/yyyy hh:mm tt")))
.ForMember(ti => ti.IsRoot, x => x.MapFrom(hi => hi.IsRootItem))
.ForMember(ti => ti.Size, x => x.MapFrom(hi => hi.ContentLength))
.ForMember(ti => ti.Quota, x => x.MapFrom(hi => hi.AllocatedSpace))
.ForMember(ti => ti.IsFolder, x => x.MapFrom(hi => hi.ItemType == ItemType.Folder));
}
}

View file

@ -12,11 +12,14 @@ namespace WebsitePanel.WebDavPortal.Models.FileSystem
public bool IsTargetBlank { get; set; }
public bool IsFolder { get; set; }
public long Size { get; set; }
public bool IsRoot { get; set; }
public long Quota { get; set; }
public string Type { get; set; }
public DateTime LastModified { get; set; }
public string LastModifiedFormated { get; set; }
public string IconHref { get; set; }
public override dynamic this[int index]
{
get

View file

@ -86,10 +86,11 @@ WspFileBrowser.prototype = {
"columnDefs": [
{
"render": function(data, type, row) {
return '<img class="table-icon" src="' + row.IconHref + '"/>' +
'<a href="' + row.Url + '" ' + (row.IsTargetBlank ? 'target="_blank"' : '') + ' class="file-link ' + (row.IsFolder ? 'processing-dialog':'') + '" title="' + row.DisplayName + '">' +
return '<div class="column-name"><img class="table-icon" src="' + row.IconHref + '"/>' +
'<a href="' + row.Url + '" ' + (row.IsTargetBlank ? 'target="_blank"' : '') + ' class="file-link" title="' + row.DisplayName + '">' +
row.DisplayName +
'</a>';
'</a>' + (row.IsRoot ? '<span id="quota">' + wsp.fileBrowser.bytesToSize(row.Size) + ' / ' + wsp.fileBrowser.bytesToSize(row.Quota) + '</span>' : '')
+'</div>';
},
"targets": 0
},
@ -186,6 +187,14 @@ WspFileBrowser.prototype = {
}
});
};
},
bytesToSize: function(bytes) {
if (bytes == 0) return '0 Byte';
var k = 1024;
var sizes = ['Bytes', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'];
var i = Math.floor(Math.log(bytes) / Math.log(k));
return (bytes / Math.pow(k, i)).toPrecision(3) + ' ' + sizes[i];
}
};