add feature to set user defined expiration on every user close #4
This commit is contained in:
@@ -116,7 +116,7 @@
|
||||
<q-td :props="props">
|
||||
<q-select
|
||||
v-if="responsibles.length > 0"
|
||||
:disable="!user.isPermittedTo('members', 'write')"
|
||||
:readonly="!user.isPermittedTo('members', 'write')"
|
||||
:options="responsibles"
|
||||
:option-label="(opt) => opt.firstName + ' ' + opt.lastName"
|
||||
v-model="props.row.responsiblePerson"
|
||||
@@ -164,12 +164,12 @@
|
||||
ref="editOneDialog"
|
||||
endpoint="members/edit"
|
||||
query-id
|
||||
v-on:update="updateMembers"
|
||||
v-on:update="updateMember"
|
||||
></EditOneDialog>
|
||||
<EditAllDialog
|
||||
ref="editAllDialog"
|
||||
:responsibles="responsibles"
|
||||
v-on:update="updateMembers"
|
||||
v-on:update="updateMember"
|
||||
></EditAllDialog>
|
||||
<OkDialog
|
||||
ref="okDialog"
|
||||
@@ -326,11 +326,13 @@ function removeMember(...removeMembers: Members) {
|
||||
});
|
||||
}
|
||||
|
||||
function updateMember(member: Member) {
|
||||
function updateMember(member: Member | null) {
|
||||
if (!member) NotifyResponse(i18n.global.t('memberUpdated'));
|
||||
appApi
|
||||
.post('/members/edit', [member])
|
||||
.then(() => NotifyResponse(i18n.global.t('memberUpdated')))
|
||||
.catch((err) => NotifyResponse(err, 'error'));
|
||||
updateMembers().catch((err) => NotifyResponse(err, 'error'));
|
||||
}
|
||||
|
||||
function addToEvent() {
|
||||
|
||||
@@ -37,6 +37,14 @@ export function useUserTable() {
|
||||
sortable: true,
|
||||
style: 'width: 120px; max-width: 120px;',
|
||||
},
|
||||
{
|
||||
name: 'expiration',
|
||||
align: 'left' as const,
|
||||
label: i18n.global.t('expiration'),
|
||||
field: 'expiration',
|
||||
sortable: true,
|
||||
style: 'width: 120px; max-width: 120px;',
|
||||
},
|
||||
{ name: 'option', align: 'center' as const, label: '', field: 'option', icon: 'option' },
|
||||
]);
|
||||
|
||||
|
||||
@@ -67,17 +67,7 @@
|
||||
</q-input>
|
||||
</template>
|
||||
<template v-slot:body-cell="props">
|
||||
<q-td v-if="props.col.name === 'role'" :props="props">
|
||||
<q-select
|
||||
:readonly="!user.isPermittedTo('userSettings', 'write') || !autorized(props.row)"
|
||||
dense
|
||||
v-model="props.row.role"
|
||||
:options="localRoles"
|
||||
@update:model-value="updateUser(props.row)"
|
||||
></q-select>
|
||||
</q-td>
|
||||
<q-td
|
||||
v-else
|
||||
:props="props"
|
||||
:style="
|
||||
autorized(props.row) && user.isPermittedTo('userSettings', 'write')
|
||||
@@ -93,6 +83,34 @@
|
||||
{{ props.value }}
|
||||
</q-td>
|
||||
</template>
|
||||
<template v-slot:body-cell-role="props">
|
||||
<q-td :props="props">
|
||||
<q-select
|
||||
:readonly="!user.isPermittedTo('userSettings', 'write') || !autorized(props.row)"
|
||||
dense
|
||||
v-model="props.row.role"
|
||||
:options="localRoles"
|
||||
@update:model-value="updateUser(props.row)"
|
||||
></q-select>
|
||||
</q-td>
|
||||
</template>
|
||||
<template v-slot:body-cell-expiration="props">
|
||||
<q-td
|
||||
:props="props"
|
||||
:style="
|
||||
autorized(props.row) && user.isPermittedTo('userSettings', 'write')
|
||||
? 'cursor: pointer'
|
||||
: ''
|
||||
"
|
||||
@click="
|
||||
autorized(props.row) && user.isPermittedTo('userSettings', 'write')
|
||||
? openSingleValueDialog(props.col.label, props.col.name, props.row)
|
||||
: ''
|
||||
"
|
||||
>
|
||||
{{ props.value === 'never' ? $t('never') : props.value }}
|
||||
</q-td>
|
||||
</template>
|
||||
<template v-slot:body-cell-option="props">
|
||||
<q-td :props="props">
|
||||
<q-btn
|
||||
@@ -112,9 +130,8 @@
|
||||
</div>
|
||||
<EditOneDialog
|
||||
ref="editOneDialog"
|
||||
endpoint="users/edit"
|
||||
query-id
|
||||
v-on:update="updateUsers"
|
||||
v-on:update="(val) => updateUser(val)"
|
||||
></EditOneDialog>
|
||||
<EditAllDialog ref="editAllDialog" :roles="localRoles" v-on:update="updateUsers"></EditAllDialog>
|
||||
<OkDialog
|
||||
|
||||
Reference in New Issue
Block a user