Skip to content

Commit c0cd1d4

Browse files
committed
fix: new user add roles
1 parent 7d326be commit c0cd1d4

File tree

4 files changed

+31
-7
lines changed

4 files changed

+31
-7
lines changed

resources/js/app/components/relation-view/roles-list-view.vue

+24-5
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,36 @@
11
<template>
22
<div class="roles-list-view">
33
<div>
4-
<div v-for="groupName in Object.keys(objectsByGroups)">
5-
<h4 class="is-small has-font-weight-bold has-text-transform-upper">{{ groupName }}</h4>
6-
<label v-for="role in objectsByGroups[groupName]" class="cursor-pointer">
7-
<input type="checkbox" :value="role" :disabled="userRolePriority > role.meta.priority" v-model="checkedRelations"/>
4+
<div
5+
v-for="groupName in Object.keys(objectsByGroups)"
6+
:key="groupName"
7+
>
8+
<h4 class="is-small has-font-weight-bold has-text-transform-upper">
9+
{{ groupName }}
10+
</h4>
11+
<label
12+
v-for="role in objectsByGroups[groupName]"
13+
class="cursor-pointer"
14+
:key="role.attributes.name"
15+
>
16+
<input
17+
type="checkbox"
18+
:value="role"
19+
:disabled="userRolePriority > role.meta.priority"
20+
v-model="checkedRelations"
21+
>
822
<span>{{ getRoleLabel(role.attributes.name, role.attributes.description) }}</span>
923
</label>
1024
</div>
1125
</div>
1226

1327
<div class="save-relations">
14-
<input type="hidden" :id="`${relationName}addRelated`" :name="`relations[${relationName}][addRelated]`" v-model="relationsData" />
28+
<input
29+
:id="`${relationName}addRelated`"
30+
:name="`relations[${relationName}][addRelated]`"
31+
type="hidden"
32+
v-model="relationsData"
33+
>
1534
</div>
1635
</div>
1736
</template>

resources/js/app/mixins/paginated-content.js

+4
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,10 @@ export const PaginatedContentMixin = {
7474
requestUrl = requestUrl.replace('view/relationships', 'view/0/relationships');
7575
}
7676

77+
if (requestUrl.indexOf('view/resources') >= 0) {
78+
requestUrl = requestUrl.replace('view/resources', 'view/0/resources');
79+
}
80+
7781
// if requestQueue is populated then abort all fetch request and start over
7882
if (this.requestsQueue.length > 0) {
7983
this.requestController.abort();

templates/Element/Form/roles.twig

+2-1
Original file line numberDiff line numberDiff line change
@@ -33,12 +33,13 @@
3333

3434
<div>
3535
{% set rolesGroups = config('RolesGroups') ? config('RolesGroups') : {} %}
36+
{% set userRoles = user and user.roles ? user.roles : [] %}
3637
<roles-list-view
3738
relation-name={{ relationName }}
3839
relation-label="{{ Layout.tr(relationName) }}"
3940
:related-objects="objects"
4041
:groups="{{ rolesGroups|length == 0 ? '{}' : rolesGroups|json_encode }}"
41-
:user-roles="{{ user.roles|default([])|json_encode }}"
42+
:user-roles="{{ userRoles|default([])|json_encode }}"
4243
@remove-relations="setRemovedRelated">
4344
</roles-list-view>
4445
{% do Form.unlockField('relations.' ~ relationName ~ '.addRelated') %}

templates/Pages/Modules/view.twig

+1-1
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@
7979
{{ element('Form/custom_right') }}
8080

8181
{# if `roles` in relationships (`users` only) display custom roles element #}
82-
{% if 'roles' in object.relationships|keys %}
82+
{% if 'roles' in object.relationships|keys or object.type == 'users' %}
8383
{{ element('Form/roles') }}
8484
{% endif %}
8585

0 commit comments

Comments
 (0)