[Libreoffice-commits] online.git: Branch 'distro/collabora/co-4-2' - loleaflet/src wsd/DocumentBroker.cpp wsd/Storage.cpp wsd/Storage.hpp
Michael Meeks (via logerrit)
logerrit at kemper.freedesktop.org
Tue Jul 21 18:48:04 UTC 2020
loleaflet/src/control/Control.DocumentNameInput.js | 7 +++----
loleaflet/src/map/handler/Map.WOPI.js | 4 ++++
wsd/DocumentBroker.cpp | 2 ++
wsd/Storage.cpp | 4 +++-
wsd/Storage.hpp | 6 ++++++
5 files changed, 18 insertions(+), 5 deletions(-)
New commits:
commit be15790e24d628ccaf5dc722d432c1829d6767ba
Author: Michael Meeks <michael.meeks at collabora.com>
AuthorDate: Tue Jun 9 17:43:58 2020 +0100
Commit: Andras Timar <andras.timar at collabora.com>
CommitDate: Tue Jul 21 20:47:43 2020 +0200
Add support for BreadcrumbDocName.
Change-Id: I06c56e92dd3acf9269140ecefb0c8bc731191260
Reviewed-on: https://gerrit.libreoffice.org/c/online/+/95960
Tested-by: Jenkins
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice at gmail.com>
Reviewed-by: Michael Meeks <michael.meeks at collabora.com>
Reviewed-on: https://gerrit.libreoffice.org/c/online/+/98193
Reviewed-by: Andras Timar <andras.timar at collabora.com>
diff --git a/loleaflet/src/control/Control.DocumentNameInput.js b/loleaflet/src/control/Control.DocumentNameInput.js
index 28db57f41..cfc4e5998 100644
--- a/loleaflet/src/control/Control.DocumentNameInput.js
+++ b/loleaflet/src/control/Control.DocumentNameInput.js
@@ -40,7 +40,7 @@ L.Control.DocumentNameInput = L.Control.extend({
},
documentNameCancel: function() {
- $('#document-name-input').val(this.map['wopi'].BaseFileName);
+ $('#document-name-input').val(this.map['wopi'].BreadcrumbDocName);
this.map._onGotFocus();
},
@@ -97,10 +97,9 @@ L.Control.DocumentNameInput = L.Control.extend({
},
onWopiProps: function(e) {
- if (e.BaseFileName !== null) {
+ if (e.BaseFileName !== null)
// set the document name into the name field
- $('#document-name-input').val(e.BaseFileName);
- }
+ $('#document-name-input').val(e.BreadcrumbDocName !== undefined ? e.BreadcrumbDocName : e.BaseFileName);
if (e.UserCanNotWriteRelative === false) {
// Save As allowed
diff --git a/loleaflet/src/map/handler/Map.WOPI.js b/loleaflet/src/map/handler/Map.WOPI.js
index da79219e8..3e41b7fae 100644
--- a/loleaflet/src/map/handler/Map.WOPI.js
+++ b/loleaflet/src/map/handler/Map.WOPI.js
@@ -10,6 +10,7 @@ L.Map.WOPI = L.Handler.extend({
// wouldn't be possible otherwise.
PostMessageOrigin: '*',
BaseFileName: '',
+ BreadcrumbDocName: '',
DocumentLoadedTime: false,
HidePrintOption: false,
HideSaveOption: false,
@@ -76,6 +77,9 @@ L.Map.WOPI = L.Handler.extend({
}
this.BaseFileName = wopiInfo['BaseFileName'];
+ this.BreadcrumbDocName = wopiInfo['BreadcrumbDocName'];
+ if (this.BreadcrumbDocName === undefined)
+ this.BreadcrumbDocName = this.BaseFileName;
this.HidePrintOption = !!wopiInfo['HidePrintOption'];
this.HideSaveOption = !!wopiInfo['HideSaveOption'];
this.HideExportOption = !!wopiInfo['HideExportOption'];
diff --git a/wsd/DocumentBroker.cpp b/wsd/DocumentBroker.cpp
index 2c0ec41c2..086ad1699 100644
--- a/wsd/DocumentBroker.cpp
+++ b/wsd/DocumentBroker.cpp
@@ -663,6 +663,8 @@ bool DocumentBroker::load(const std::shared_ptr<ClientSession>& session, const s
wopifileinfo->setHideExportOption(true);
wopiInfo->set("BaseFileName", wopiStorage->getFileInfo().getFilename());
+ if (wopifileinfo->getBreadcrumbDocName().size())
+ wopiInfo->set("BreadcrumbDocName", wopifileinfo->getBreadcrumbDocName());
if (!wopifileinfo->getTemplateSaveAs().empty())
wopiInfo->set("TemplateSaveAs", wopifileinfo->getTemplateSaveAs());
diff --git a/wsd/Storage.cpp b/wsd/Storage.cpp
index a27240bf1..3acbccbc4 100644
--- a/wsd/Storage.cpp
+++ b/wsd/Storage.cpp
@@ -613,6 +613,7 @@ std::unique_ptr<WopiStorage::WOPIFileInfo> WopiStorage::getWOPIFileInfo(const Au
std::string watermarkText;
std::string templateSaveAs;
std::string templateSource;
+ std::string breadcrumbDocName;
bool canWrite = false;
bool enableOwnerTermination = false;
std::string postMessageOrigin;
@@ -719,6 +720,7 @@ std::unique_ptr<WopiStorage::WOPIFileInfo> WopiStorage::getWOPIFileInfo(const Au
JsonUtil::findJSONValue(object, "SupportsLocks", supportsLocks);
JsonUtil::findJSONValue(object, "SupportsRename", supportsRename);
JsonUtil::findJSONValue(object, "UserCanRename", userCanRename);
+ JsonUtil::findJSONValue(object, "BreadcrumbDocName", breadcrumbDocName);
bool booleanFlag = false;
if (JsonUtil::findJSONValue(object, "DisableChangeTrackingRecord", booleanFlag))
disableChangeTrackingRecord = (booleanFlag ? WOPIFileInfo::TriState::True : WOPIFileInfo::TriState::False);
@@ -750,7 +752,7 @@ std::unique_ptr<WopiStorage::WOPIFileInfo> WopiStorage::getWOPIFileInfo(const Au
watermarkText = overrideWatermarks;
return std::unique_ptr<WopiStorage::WOPIFileInfo>(new WOPIFileInfo(
- {userId, obfuscatedUserId, userName, userExtraInfo, watermarkText, templateSaveAs, templateSource,
+ {userId, obfuscatedUserId, userName, userExtraInfo, watermarkText, templateSaveAs, templateSource, breadcrumbDocName,
canWrite, postMessageOrigin, hidePrintOption, hideSaveOption, hideExportOption,
enableOwnerTermination, disablePrint, disableExport, disableCopy,
disableInactiveMessages, downloadAsPostMessage, userCanNotWriteRelative, enableInsertRemoteImage, enableShare,
diff --git a/wsd/Storage.hpp b/wsd/Storage.hpp
index e5ea41101..e8795ab85 100644
--- a/wsd/Storage.hpp
+++ b/wsd/Storage.hpp
@@ -381,6 +381,7 @@ public:
const std::string& watermarkText,
const std::string& templateSaveAs,
const std::string& templateSource,
+ const std::string& breadcrumbDocName,
const bool userCanWrite,
const std::string& postMessageOrigin,
const bool hidePrintOption,
@@ -409,6 +410,7 @@ public:
_watermarkText(watermarkText),
_templateSaveAs(templateSaveAs),
_templateSource(templateSource),
+ _breadcrumbDocName(breadcrumbDocName),
_userCanWrite(userCanWrite),
_postMessageOrigin(postMessageOrigin),
_hidePrintOption(hidePrintOption),
@@ -447,6 +449,8 @@ public:
const std::string& getTemplateSource() const { return _templateSource; }
+ const std::string& getBreadcrumbDocName() const { return _breadcrumbDocName; }
+
bool getUserCanWrite() const { return _userCanWrite; }
std::string& getPostMessageOrigin() { return _postMessageOrigin; }
@@ -510,6 +514,8 @@ public:
std::string _templateSaveAs;
/// In case we want to use this file as a template.
std::string _templateSource;
+ /// User readable string of document name to show in UI, if present.
+ std::string _breadcrumbDocName;
/// If user accessing the file has write permission
bool _userCanWrite;
/// WOPI Post message property
More information about the Libreoffice-commits
mailing list