[Libreoffice-commits] online.git: loleaflet/Makefile.am loleaflet/po loleaflet/src

Mike Kaganski (via logerrit) logerrit at kemper.freedesktop.org
Mon Jul 20 13:48:12 UTC 2020


 loleaflet/Makefile.am                   |    1 +
 loleaflet/po/templates/loleaflet-ui.pot |   10 ++++++++++
 loleaflet/src/control/Permission.js     |   12 +++++++++++-
 loleaflet/src/core/Socket.js            |    4 ++++
 4 files changed, 26 insertions(+), 1 deletion(-)

New commits:
commit 0c99f6830bb651b2bfa7243e8325358c6628ed08
Author:     Mike Kaganski <mike.kaganski at collabora.com>
AuthorDate: Tue Jul 14 20:33:13 2020 +0300
Commit:     Mike Kaganski <mike.kaganski at collabora.com>
CommitDate: Mon Jul 20 15:47:53 2020 +0200

    Warn user when the document could not be locked
    
    Change-Id: I66b584f5e95fd82dc5cb27d10d9629cf19cb61bd
    Reviewed-on: https://gerrit.libreoffice.org/c/online/+/98782
    Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice at gmail.com>
    Tested-by: Jenkins
    Reviewed-by: Mike Kaganski <mike.kaganski at collabora.com>

diff --git a/loleaflet/Makefile.am b/loleaflet/Makefile.am
index dfc9d5984..c2dc1f3c4 100644
--- a/loleaflet/Makefile.am
+++ b/loleaflet/Makefile.am
@@ -621,6 +621,7 @@ pot:
 		src/control/Control.NotebookbarCalc.js \
 		src/control/Control.NotebookbarImpress.js \
 		src/control/Control.NotebookbarBuilder.js \
+		src/control/Permission.js \
 		src/control/Ruler.js \
 		src/control/Signing.js \
 		src/control/Toolbar.js \
diff --git a/loleaflet/po/templates/loleaflet-ui.pot b/loleaflet/po/templates/loleaflet-ui.pot
index 25924eda4..d715eca95 100644
--- a/loleaflet/po/templates/loleaflet-ui.pot
+++ b/loleaflet/po/templates/loleaflet-ui.pot
@@ -898,6 +898,16 @@ msgstr ""
 msgid "Start Presentation"
 msgstr ""
 
+#: src/control/Permission.js:42
+msgid "The document could not be locked, and is opened in read-only mode."
+msgstr ""
+
+#: src/control/Permission.js:44
+msgid ""
+"\n"
+"Server returned this reason: \""
+msgstr ""
+
 #: src/control/Ruler.js:366
 msgid "Left Margin"
 msgstr ""
diff --git a/loleaflet/src/control/Permission.js b/loleaflet/src/control/Permission.js
index 3938fbc49..1ba08d90b 100644
--- a/loleaflet/src/control/Permission.js
+++ b/loleaflet/src/control/Permission.js
@@ -2,7 +2,7 @@
 /*
  * Document permission handler
  */
-/* global $ */
+/* global $ _ vex */
 L.Map.include({
 	setPermission: function (perm) {
 		if (perm === 'edit') {
@@ -38,6 +38,16 @@ L.Map.include({
 		}
 	},
 
+	onLockFailed: function(reason) {
+		var alertMsg = _('The document could not be locked, and is opened in read-only mode.');
+		if (reason) {
+			alertMsg += _('\nServer returned this reason: "') + reason + '"';
+		}
+
+		vex.dialog.alert({ message: alertMsg });
+		this.options.canTryLock = true;
+	},
+
 	_enterEditMode: function (perm) {
 		if (this.isPermissionReadOnly() && (window.mode.isMobile() || window.mode.isTablet())) {
 			this.sendInitUNOCommands();
diff --git a/loleaflet/src/core/Socket.js b/loleaflet/src/core/Socket.js
index 790c7885d..5c9f61382 100644
--- a/loleaflet/src/core/Socket.js
+++ b/loleaflet/src/core/Socket.js
@@ -334,6 +334,10 @@ L.Socket = L.Class.extend({
 
 			return;
 		}
+		else if (textMsg.startsWith('lockfailed:')) {
+			this._map.onLockFailed(textMsg.substring('lockfailed:'.length).trim());
+			return;
+		}
 		else if (textMsg.startsWith('wopi: ')) {
 			// Handle WOPI related messages
 			var wopiInfo = JSON.parse(textMsg.substring(textMsg.indexOf('{')));


More information about the Libreoffice-commits mailing list