From 828865a508bf5b7e6fa254c22dc9ea47ddb352f8 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Daniel=20Calvi=C3=B1o=20S=C3=A1nchez?=
Date: Mon, 1 Feb 2021 03:34:36 +0100
Subject: [PATCH] Fix settings scope menu hidden when lookup server upload is
disabled
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
When upload to the lookup server is disabled the scope menu was hidden
in the personal information settings. However, even if the lookup server
upload is disabled the personal information is still accesible from the
local server as well as trusted servers. Users should be able to still
set if their information is available to other users or if it is
private, so now the scope menu is always show (although the "Public"
option is hidden if the lookup server upload is disabled).
If the user set the information as public before the upload to the
lookup server was disabled the menu will also show the "Public" option
as active, although disabled. Setting the visibility to any of the other
options will hide the "Public" option from the menu (until the lookup
server upload is enabled again).
Signed-off-by: Daniel Calviño Sánchez
---
apps/settings/css/settings.scss | 12 ++++
apps/settings/js/federationscopemenu.js | 11 +++
apps/settings/js/templates.js | 72 ++++++++++++++-----
.../templates/federationscopemenu.handlebars | 10 +++
.../settings/personal/personal.info.php | 21 ++----
5 files changed, 94 insertions(+), 32 deletions(-)
diff --git a/apps/settings/css/settings.scss b/apps/settings/css/settings.scss
index 7b90a261c9..3b2e1fb78c 100644
--- a/apps/settings/css/settings.scss
+++ b/apps/settings/css/settings.scss
@@ -372,6 +372,18 @@ select {
font-weight: bold;
}
}
+
+ &.disabled {
+ /* !important is needed to override important opacity of
+ * ".popovermenu li > .menuitem.active" */
+ opacity: .5 !important;
+
+ cursor: default;
+
+ span {
+ cursor: default;
+ }
+ }
}
}
}
diff --git a/apps/settings/js/federationscopemenu.js b/apps/settings/js/federationscopemenu.js
index a2ca77bbf8..381ab1164b 100644
--- a/apps/settings/js/federationscopemenu.js
+++ b/apps/settings/js/federationscopemenu.js
@@ -117,6 +117,17 @@
break;
}
+ var lookupServerUploadEnabled = $('#lookupServerUploadEnabled').val();
+ if (!lookupServerUploadEnabled && !this._scopes[2].active) {
+ this._scopes[2].hidden = true
+ } else if (!lookupServerUploadEnabled && this._scopes[2].active) {
+ this._scopes[2].hidden = false
+ this._scopes[2].disabled = true
+ } else {
+ this._scopes[2].hidden = false
+ this._scopes[2].disabled = false
+ }
+
this.render();
this.$el.removeClass('hidden');
diff --git a/apps/settings/js/templates.js b/apps/settings/js/templates.js
index 25c2e79004..2cd8179f3e 100644
--- a/apps/settings/js/templates.js
+++ b/apps/settings/js/templates.js
@@ -1,6 +1,15 @@
(function() {
var template = Handlebars.template, templates = OC.Settings.Templates = OC.Settings.Templates || {};
templates['federationscopemenu'] = template({"1":function(container,depth0,helpers,partials,data) {
+ var stack1, lookupProperty = container.lookupProperty || function(parent, propertyName) {
+ if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
+ return parent[propertyName];
+ }
+ return undefined
+ };
+
+ return ((stack1 = lookupProperty(helpers,"unless").call(depth0 != null ? depth0 : (container.nullContext || {}),(depth0 != null ? lookupProperty(depth0,"hidden") : depth0),{"name":"unless","hash":{},"fn":container.program(2, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":3,"column":2},"end":{"line":25,"column":13}}})) != null ? stack1 : "");
+},"2":function(container,depth0,helpers,partials,data) {
var stack1, helper, alias1=depth0 != null ? depth0 : (container.nullContext || {}), alias2=container.hooks.helperMissing, alias3="function", alias4=container.escapeExpression, lookupProperty = container.lookupProperty || function(parent, propertyName) {
if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
return parent[propertyName];
@@ -8,22 +17,49 @@ templates['federationscopemenu'] = template({"1":function(container,depth0,helpe
return undefined
};
- return "
\n";
},"useData":true});
})();
\ No newline at end of file
diff --git a/apps/settings/js/templates/federationscopemenu.handlebars b/apps/settings/js/templates/federationscopemenu.handlebars
index 4bd945b094..c9d86c6314 100644
--- a/apps/settings/js/templates/federationscopemenu.handlebars
+++ b/apps/settings/js/templates/federationscopemenu.handlebars
@@ -1,7 +1,12 @@