feat: 🎸 add messages for insufficient permissions

This commit is contained in:
Randall Morey committed 2021-08-24 16:47:33 -04:00
1 parent a79ec87954
commit 03e06a22a4
5 files changed
+21 -18

No files matched your search

+2 -1
View File
@@ -29,7 +29,8 @@ export default class CollectionAbility extends Ability {
* @return {boolean}
*/
hasAuthorizedCollectionAction(action) {
const { authorized_collection_actions } = this.model;
const authorized_collection_actions =
(this.model || {}).authorized_collection_actions || {};
const collection = this.collection || {};
return authorized_collection_actions[collection]?.includes(action);
}
+2
View File
@@ -32,6 +32,8 @@ titles:
descriptions:
empty-set: There are no items to display yet. You may be able to add items or try back later.
origin-initialization: To get started, please enter your origin URL
create-but-not-list: You do not have permission to list {resource}, but you can create new instances.
neither-list-nor-create: You do not have permission to list or create {resource}.
questions:
delete-confirm: Are you sure you want to delete this resource?
remove-confirm: Are you sure you want to remove this association?
@@ -1,7 +1,6 @@
import Route from '@ember/routing/route';
export default class ScopesScopeUsersIndexRoute extends Route {
// =methods
setupController(controller) {
@@ -9,5 +8,4 @@ export default class ScopesScopeUsersIndexRoute extends Route {
super.setupController(...arguments);
controller.setProperties({ scope });
}
}
+1 -1
View File
@@ -142,4 +142,4 @@
</main>
</sidebarLayout.body>
</Rose::Layout::Sidebar>
</Rose::Layout::Sidebar>
@@ -70,19 +70,21 @@
as |message|
>
<message.description>
{{t 'resources.user.description'}}
{{#if (can 'create collection' this.scope collection='users')}}
{{#unless (can 'list collection' this.scope collection='users')}}
<br>
<br>
<Rose::Notification
@style="info"
@heading="Create Only"
>
Oh noes! Resources you create won't appear here because you
have create permission, but not list.
</Rose::Notification>
{{/unless}}
{{#if (can 'list collection' this.scope collection='users')}}
{{! can list (at least): show default welcome message}}
{{t 'resources.user.description'}}
{{else if (can 'create collection' this.scope collection='users')}}
{{! can create (only): show create-but-not-list welcome message}}
{{t
'descriptions.create-but-not-list'
resource=(t 'resources.user.title_plural')
}}
{{else}}
{{! can neither list nor create }}
{{t
'descriptions.neither-list-nor-create'
resource=(t 'resources.user.title_plural')
}}
{{/if}}
</message.description>
{{#if (can 'create collection' this.scope collection='users')}}
@@ -98,4 +100,4 @@
</page.body>
</Rose::Layout::Page>
</Rose::Layout::Page>