Fix "Cannot edit item in read-only library" during sync
This commit is contained in:
parent
985f10d5ed
commit
41706a3a67
1 changed files with 14 additions and 18 deletions
|
@ -1485,15 +1485,10 @@ Zotero.Item.prototype._saveData = Zotero.Promise.coroutine(function* (env) {
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
let parentOptions = {
|
yield parentItem.save({
|
||||||
skipDateModifiedUpdate: true
|
skipDateModifiedUpdate: true,
|
||||||
};
|
skipEditCheck: env.options.skipEditCheck
|
||||||
// Apply options (e.g., skipNotifier) from outer save
|
});
|
||||||
for (let o in env.options) {
|
|
||||||
if (!o.startsWith('skip')) continue;
|
|
||||||
parentOptions[o] = env.options[o];
|
|
||||||
}
|
|
||||||
yield parentItem.save(parentOptions);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1542,7 +1537,8 @@ Zotero.Item.prototype._saveData = Zotero.Promise.coroutine(function* (env) {
|
||||||
|
|
||||||
mergeItem.removeRelation(predicate, thisURI);
|
mergeItem.removeRelation(predicate, thisURI);
|
||||||
yield mergeItem.save({
|
yield mergeItem.save({
|
||||||
skipDateModifiedUpdate: true
|
skipDateModifiedUpdate: true,
|
||||||
|
skipEditCheck: env.options.skipEditCheck
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -4138,13 +4134,10 @@ Zotero.Item.prototype._eraseData = Zotero.Promise.coroutine(function* (env) {
|
||||||
let toDelete = yield Zotero.DB.columnQueryAsync(sql, [this.id]);
|
let toDelete = yield Zotero.DB.columnQueryAsync(sql, [this.id]);
|
||||||
for (let i=0; i<toDelete.length; i++) {
|
for (let i=0; i<toDelete.length; i++) {
|
||||||
let obj = yield this.ObjectsClass.getAsync(toDelete[i]);
|
let obj = yield this.ObjectsClass.getAsync(toDelete[i]);
|
||||||
// Copy all options other than 'tx', which would cause a deadlock
|
yield obj.erase({
|
||||||
let options = {
|
skipParentRefresh: true,
|
||||||
skipParentRefresh: true
|
skipEditCheck: env.options.skipEditCheck
|
||||||
};
|
});
|
||||||
Object.assign(options, env.options);
|
|
||||||
delete options.tx;
|
|
||||||
yield obj.erase(options);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -4154,7 +4147,10 @@ Zotero.Item.prototype._eraseData = Zotero.Promise.coroutine(function* (env) {
|
||||||
);
|
);
|
||||||
for (let relatedItem of relatedItems) {
|
for (let relatedItem of relatedItems) {
|
||||||
relatedItem.removeRelatedItem(this);
|
relatedItem.removeRelatedItem(this);
|
||||||
relatedItem.save();
|
relatedItem.save({
|
||||||
|
skipDateModifiedUpdate: true,
|
||||||
|
skipEditCheck: env.options.skipEditCheck
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
// Clear fulltext cache
|
// Clear fulltext cache
|
||||||
|
|
Loading…
Add table
Reference in a new issue