Fix sync error after resetting read-only group
If an item needed to be erased, it would fail with "Cannot edit item in read-only library", because the deletion didn't skip the edit check.
This commit is contained in:
parent
640846961a
commit
cdaf73b3d0
2 changed files with 11 additions and 1 deletions
|
@ -277,7 +277,13 @@ Zotero.Sync.Data.Local = {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (toDelete.length) {
|
if (toDelete.length) {
|
||||||
yield objectsClass.erase(toDelete, { skipDeleteLog: true });
|
yield objectsClass.erase(
|
||||||
|
toDelete,
|
||||||
|
{
|
||||||
|
skipEditCheck: true,
|
||||||
|
skipDeleteLog: true
|
||||||
|
}
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Deleted objects
|
// Deleted objects
|
||||||
|
|
|
@ -281,6 +281,10 @@ describe("Zotero.Sync.Data.Local", function() {
|
||||||
var deletedItemKey = deletedItem.key;
|
var deletedItemKey = deletedItem.key;
|
||||||
yield deletedItem.eraseTx();
|
yield deletedItem.eraseTx();
|
||||||
|
|
||||||
|
// Make group read-only
|
||||||
|
group.editable = false;
|
||||||
|
yield group.saveTx();
|
||||||
|
|
||||||
yield Zotero.Sync.Data.Local.resetUnsyncedLibraryData(libraryID);
|
yield Zotero.Sync.Data.Local.resetUnsyncedLibraryData(libraryID);
|
||||||
|
|
||||||
assert.isNull(Zotero.SyncedSettings.get(group.libraryID, "testSetting"));
|
assert.isNull(Zotero.SyncedSettings.get(group.libraryID, "testSetting"));
|
||||||
|
|
Loading…
Add table
Reference in a new issue