This commit is contained in:
Zuzanna 2025-11-18 13:40:23 +01:00
parent cccda1bcdb
commit f04526b5f7
3 changed files with 15 additions and 6 deletions

View File

@ -316,7 +316,7 @@ const factory = (UserObject, Util, Hash,
var userObjects = _getUserObjects(Env);
var data = {};
userObjects.some(function (uo) {
data = uo.getFileData(id, editable);
data = uo.getFileData(id, editable, Env.edPublic);
if (data && Object.keys(data).length) { return true; }
});
return data;

View File

@ -318,7 +318,7 @@ const factory = (Util, Hash,
};
// Get data from AllFiles (Cryptpad_RECENTPADS)
var getFileData = exp.getFileData = function (file, editable) {
var getFileData = exp.getFileData = function (file, editable, edPub) {
if (!file) { return; }
var link;
try {
@ -338,6 +338,13 @@ const factory = (Util, Hash,
console.error(err);
data = {};
}
if (data.owners) {
var owner = data?.owners.includes(edPub)
editable = owner ? true : editable
}
console.trace("data check2", data)
if (!editable) {
data = JSON.parse(JSON.stringify(data));
if (data.href && data.href.indexOf('#') === -1) {

View File

@ -1253,8 +1253,9 @@ define([
// falsy (open in preview if default is not using the app)
var defaultInApp = ['application/pdf'];
var openFile = function (el, isRo, app) {
console.log("data check", edPublic)
// In anonymous drives, `el` already contains file data
var data = el.channel ? el : manager.getFileData(el);
var data = manager.getFileData(el, !isRo, edPublic);
if (data.static) {
if (data.href) {
@ -1263,7 +1264,7 @@ define([
}
return;
}
console.log("data!", data)
if (!data || (!data.href && !data.roHref)) {
return void logError("Missing data for the file", el, data);
}
@ -2275,7 +2276,7 @@ define([
})
}
var hrefData = Hash.parsePadUrl(href);
console.log(hrefData)
console.log("data add", data)
if (hrefData.type) {
$element.addClass('cp-border-color-'+hrefData.type);
@ -3827,10 +3828,11 @@ define([
if (isElementSelected($element)) {
selectElement($element);
}
addFileData(id, $element);
$element.prepend($icon).dblclick(function () {
openFile(id);
});
addFileData(id, $element);
$element.click(function(e) {
e.stopPropagation();
onElementClick(e, $element);