Skip to content

Commit 42ca1c7

Browse files
committed
crate.settings: Remove owner by native array method splice
This fixes the following deprecations: - The removeObject method on ember-data's PromiseManyArray is deprecated. - The `removeObject` method on the class ManyArray is deprecated.
1 parent 5cc896d commit 42ca1c7

File tree

1 file changed

+11
-2
lines changed

1 file changed

+11
-2
lines changed

app/controllers/crate/settings.js

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,10 +36,12 @@ export default class CrateSettingsController extends Controller {
3636

3737
if (owner.kind === 'team') {
3838
this.notifications.success(`Team ${owner.get('display_name')} removed as crate owner`);
39-
this.crate.owner_team.removeObject(owner);
39+
let owner_team = await this.crate.owner_team;
40+
removeOwner(owner_team, owner);
4041
} else {
4142
this.notifications.success(`User ${owner.get('login')} removed as crate owner`);
42-
this.crate.owner_user.removeObject(owner);
43+
let owner_user = await this.crate.owner_user;
44+
removeOwner(owner_user, owner);
4345
}
4446
} catch (error) {
4547
let subject = owner.kind === 'team' ? `team ${owner.get('display_name')}` : `user ${owner.get('login')}`;
@@ -54,3 +56,10 @@ export default class CrateSettingsController extends Controller {
5456
}
5557
});
5658
}
59+
60+
function removeOwner(owners, target) {
61+
let idx = owners.indexOf(target);
62+
if (idx !== -1) {
63+
owners.splice(idx, 1);
64+
}
65+
}

0 commit comments

Comments
 (0)