Merge pull request #2284 from loganhz/role

Update hasOwner check logic
This commit is contained in:
Westly Wright 2018-09-20 09:36:30 -07:00 committed by GitHub
commit fc3f960429
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 14 additions and 1 deletions

View File

@ -175,7 +175,7 @@ export default Component.extend({
} }
}); });
if (get(this, 'isNew') || this.hasOwner()) { if (get(this, 'isNew') || this.useCustomizedOwner() || this.hasOwner()) {
return PromiseAll(add.map((x) => x.save())).then(() => { return PromiseAll(add.map((x) => x.save())).then(() => {
return PromiseAll(update.map((x) => x.save())).then(() => { return PromiseAll(update.map((x) => x.save())).then(() => {
return PromiseAll(remove.map((x) => x.delete())).then(() => { return PromiseAll(remove.map((x) => x.delete())).then(() => {
@ -196,6 +196,19 @@ export default Component.extend({
} }
}, },
useCustomizedOwner() {
const roles = get(this, 'roles') || [];
const context = get(this, 'primaryResource.type');
const ownerRole = roles.findBy('id', `${ context }-owner`);
const defaultRoles = roles.filterBy(`${ context }CreatorDefault`, true);
if ( ownerRole && !get(ownerRole, 'locked') && get(ownerRole, `${ context }CreatorDefault`) && get(defaultRoles, 'length') === 1 ){
return false;
} else {
return true;
}
},
hasOwner() { hasOwner() {
let memberArray = get(this, 'memberArray'); let memberArray = get(this, 'memberArray');
let matches = []; let matches = [];