From 5795ffb0bc8ca3e620a97fc66eb25c65cb33675e Mon Sep 17 00:00:00 2001 From: vfedosevich Date: Tue, 3 Feb 2015 05:07:16 -0800 Subject: [PATCH] webdav portal edit fix --- .../Owa/WopiServer.cs | 4 +-- .../Controllers/Api/OwaController.cs | 12 ++----- .../Controllers/FileSystemController.cs | 2 +- .../Scripts/appScripts/wsp.js | 32 ++++++++----------- 4 files changed, 19 insertions(+), 31 deletions(-) diff --git a/WebsitePanel/Sources/WebsitePanel.WebDav.Core/Owa/WopiServer.cs b/WebsitePanel/Sources/WebsitePanel.WebDav.Core/Owa/WopiServer.cs index 7da7cb5d..8400ca09 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebDav.Core/Owa/WopiServer.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebDav.Core/Owa/WopiServer.cs @@ -31,10 +31,10 @@ namespace WebsitePanel.WebDav.Core.Owa OwnerId = WspContext.User.Login, Size = resource.ContentLength, Version = DateTime.Now.ToString("s"), - SupportsCoauth = false, + SupportsCoauth = true, SupportsCobalt = true, SupportsFolders = true, - SupportsLocks = false, + SupportsLocks = true, SupportsScenarioLinks = false, SupportsSecureStore = false, SupportsUpdate = true, diff --git a/WebsitePanel/Sources/WebsitePanel.WebDavPortal/Controllers/Api/OwaController.cs b/WebsitePanel/Sources/WebsitePanel.WebDavPortal/Controllers/Api/OwaController.cs index a43e95c0..d2d84295 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebDavPortal/Controllers/Api/OwaController.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebDavPortal/Controllers/Api/OwaController.cs @@ -73,13 +73,9 @@ namespace WebsitePanel.WebDavPortal.Controllers.Api } [HttpPost] - public async Task Cobalt(int accessTokenId) + public HttpResponseMessage Cobalt(int accessTokenId) { - var memoryStream = new MemoryStream(); - - await Request.Content.CopyToAsync(memoryStream); - - var responseBatch = _cobaltManager.ProcessRequest(accessTokenId, memoryStream); + var responseBatch = _cobaltManager.ProcessRequest(accessTokenId, HttpContext.Current.Request.InputStream); var correlationId = Request.Headers.GetValues("X-WOPI-CorrelationID").FirstOrDefault() ?? ""; @@ -90,11 +86,9 @@ namespace WebsitePanel.WebDavPortal.Controllers.Api { responseBatch.CopyTo(stream); stream.Close(); - }); + }, "application/octet-stream"); - response.Content.Headers.ContentType = new MediaTypeHeaderValue("application/octet-stream"); response.Content.Headers.ContentLength = responseBatch.Length; - response.Headers.Add("X-WOPI-CorellationID", correlationId); response.Headers.Add("request-id", correlationId); diff --git a/WebsitePanel/Sources/WebsitePanel.WebDavPortal/Controllers/FileSystemController.cs b/WebsitePanel/Sources/WebsitePanel.WebDavPortal/Controllers/FileSystemController.cs index 55e887b7..28b6e19f 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebDavPortal/Controllers/FileSystemController.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebDavPortal/Controllers/FileSystemController.cs @@ -97,7 +97,7 @@ namespace WebsitePanel.WebDavPortal.Controllers string wopiSrc = Server.UrlDecode(url); - string owaOpenerUri = permissions.HasFlag(WebDavPermissions.Write) ? owaOpener.OwaView : owaOpener.OwaView; + string owaOpenerUri = permissions.HasFlag(WebDavPermissions.Write) ? owaOpener.OwaEditor : owaOpener.OwaView; var uri = string.Format("{0}/{1}WOPISrc={2}&access_token={3}", WebDavAppConfigManager.Instance.OfficeOnline.Url, owaOpenerUri, Server.UrlEncode(wopiSrc), Server.UrlEncode(accessToken.AccessToken.ToString("N"))); diff --git a/WebsitePanel/Sources/WebsitePanel.WebDavPortal/Scripts/appScripts/wsp.js b/WebsitePanel/Sources/WebsitePanel.WebDavPortal/Scripts/appScripts/wsp.js index 157b821b..d47652c9 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebDavPortal/Scripts/appScripts/wsp.js +++ b/WebsitePanel/Sources/WebsitePanel.WebDavPortal/Scripts/appScripts/wsp.js @@ -19,25 +19,6 @@ $(document).on('click', '.element-container', function (e) { } else { - if (isMobileDevice()) { - var now = new Date().getTime(); - var lastTouch = $(this).data('lastTouch') || now + 1; - var delta = now - lastTouch; - - if (delta < 500 && delta > 0) { - wsp.fileBrowser.openItem(this); - - $(this).data('lastTouch', 0); - - } else { - wsp.fileBrowser.clearAllSelectedItems(); - - wsp.fileBrowser.selectItem(this); - } - - $(this).data('lastTouch', now); - } - wsp.fileBrowser.clearAllSelectedItems(); wsp.fileBrowser.selectItem(this); @@ -46,6 +27,19 @@ $(document).on('click', '.element-container', function (e) { wsp.fileBrowser.refreshDeletionBlock(); }); +$(document).on('touchstart', '.element-container', function(e) { + var now = new Date().getTime(); + var lastTouch = $(this).data('lastTouch') || now + 1; + var delta = now - lastTouch; + + if (delta < 300 && delta > 0) { + wsp.fileBrowser.openItem(this); + $(this).data('lastTouch', 0); + } + + $(this).data('lastTouch', now); +}); + //Double click file open $(document).on('dblclick', '.element-container', function (e) { wsp.fileBrowser.openItem(this);