Include libraryID in group.erase() notifier data

This commit is contained in:
Dan Stillman 2015-06-08 03:01:19 -04:00
parent ec89a98f9d
commit b43a735b93
2 changed files with 27 additions and 1 deletions

View File

@ -260,6 +260,8 @@ Zotero.Group.prototype.save = Zotero.Promise.coroutine(function* () {
* Deletes group and all descendant objects
**/
Zotero.Group.prototype.erase = Zotero.Promise.coroutine(function* () {
Zotero.debug("Removing group " + this.id);
Zotero.DB.requireTransaction();
// Delete items
@ -291,7 +293,11 @@ Zotero.Group.prototype.erase = Zotero.Promise.coroutine(function* () {
Zotero.Groups.unregister(this.id);
//yield Zotero.purgeDataObjects();
}.bind(this))
Zotero.Notifier.queue('delete', 'group', this.id);
var notifierData = {};
notifierData[this.id] = {
libraryID: this.libraryID
};
Zotero.Notifier.queue('delete', 'group', this.id, notifierData);
});

View File

@ -10,6 +10,26 @@ describe("Zotero.Group", function () {
}.bind(this));
assert.isFalse(Zotero.Groups.exists(id));
})
it("should provide libraryID in extraData", function* () {
var group = yield createGroup();
var libraryID = group.libraryID;
var deferred = Zotero.Promise.defer();
var observerID = Zotero.Notifier.registerObserver({
notify: function (event, type, ids, extraData) {
deferred.resolve(extraData[ids[0]]);
}
}, ['group'], "test");
try {
yield group.eraseTx();
let extraData = yield deferred.promise;
assert.equal(extraData.libraryID, libraryID);
}
finally {
Zotero.Notifier.unregisterObserver(observerID);
}
})
})
describe("#fromJSON()", function () {