add feature to set user defined expiration on every user close #4
This commit is contained in:
@@ -18,7 +18,15 @@
|
||||
<q-btn class="q-ma-md" color="primary" no-caps @click="addAttendees">{{ localTitle }}</q-btn>
|
||||
</div>
|
||||
</DialogFrame>
|
||||
<EditAllDialog ref="newEventRef" v-on:update="(val) => resolveNewEvent(val)"></EditAllDialog>
|
||||
<EditAllDialog
|
||||
ref="newEventRef"
|
||||
v-on:update="
|
||||
(val) => {
|
||||
resolveNewEvent(val);
|
||||
NotifyResponse($t('memberUpdated'));
|
||||
}
|
||||
"
|
||||
></EditAllDialog>
|
||||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
|
||||
@@ -2,24 +2,46 @@
|
||||
<DialogFrame ref="dialog" :header-title="'Edit ' + localTitle">
|
||||
<div class="row justify-center">
|
||||
<q-input autofocus :label="localTitle" filled v-model="value" @keyup.enter="save">
|
||||
<template v-if="['firstVisit', 'lastVisit', 'date'].includes(localField)" v-slot:prepend>
|
||||
<template
|
||||
v-if="['firstVisit', 'lastVisit', 'date', 'expiration'].includes(localField)"
|
||||
v-slot:prepend
|
||||
>
|
||||
<q-icon name="event" class="cursor-pointer">
|
||||
<q-popup-proxy cover transition-show="scale" transition-hide="scale">
|
||||
<q-date v-model="value" mask="YYYY-MM-DD HH:mm:ss">
|
||||
<div class="row items-center justify-end">
|
||||
<q-btn :label="$t('now')" color="primary" no-caps flat @click="setTimeNow" />
|
||||
<q-btn
|
||||
v-if="localField"
|
||||
:label="$t('never')"
|
||||
color="primary"
|
||||
no-caps
|
||||
flat
|
||||
@click="value = 'never'"
|
||||
/>
|
||||
<q-btn no-caps v-close-popup :label="$t('close')" color="primary" flat />
|
||||
</div>
|
||||
</q-date>
|
||||
</q-popup-proxy>
|
||||
</q-icon>
|
||||
</template>
|
||||
<template v-if="['firstVisit', 'lastVisit', 'date'].includes(localField)" v-slot:append>
|
||||
<template
|
||||
v-if="['firstVisit', 'lastVisit', 'date', 'expiration'].includes(localField)"
|
||||
v-slot:append
|
||||
>
|
||||
<q-icon name="access_time" class="cursor-pointer">
|
||||
<q-popup-proxy cover transition-show="scale" transition-hide="scale">
|
||||
<q-time with-seconds v-model="value" mask="YYYY-MM-DD HH:mm:ss" format24h>
|
||||
<div class="row items-center justify-end">
|
||||
<q-btn :label="$t('now')" color="primary" no-caps flat @click="setTimeNow" />
|
||||
<q-btn
|
||||
v-if="localField"
|
||||
:label="$t('never')"
|
||||
color="primary"
|
||||
no-caps
|
||||
flat
|
||||
@click="value = 'never'"
|
||||
/>
|
||||
<q-btn no-caps v-close-popup :label="$t('close')" color="primary" flat />
|
||||
</div>
|
||||
</q-time>
|
||||
@@ -40,7 +62,6 @@ import { ref } from 'vue';
|
||||
import { appApi } from 'src/boot/axios';
|
||||
import type { Member } from 'src/vueLib/models/member';
|
||||
import { useNotify } from 'src/vueLib/general/useNotify';
|
||||
import { i18n } from 'src/boot/lang';
|
||||
|
||||
const dialog = ref();
|
||||
const localMember = ref();
|
||||
@@ -51,7 +72,6 @@ const value = ref('');
|
||||
const props = defineProps({
|
||||
endpoint: {
|
||||
type: String,
|
||||
required: true,
|
||||
},
|
||||
});
|
||||
|
||||
@@ -74,6 +94,12 @@ function save() {
|
||||
dialog.value.close();
|
||||
return;
|
||||
}
|
||||
|
||||
if (!props.endpoint) {
|
||||
localMember.value[localField.value] = value.value;
|
||||
emit('update', localMember.value);
|
||||
return;
|
||||
}
|
||||
payload = [
|
||||
{
|
||||
id: localMember.value.id,
|
||||
@@ -85,7 +111,6 @@ function save() {
|
||||
.post(props.endpoint, payload)
|
||||
.then(() => {
|
||||
emit('update');
|
||||
NotifyResponse(i18n.global.t('memberUpdated'));
|
||||
dialog.value.close();
|
||||
})
|
||||
.catch((err) => {
|
||||
|
||||
@@ -91,10 +91,11 @@
|
||||
v-model="localUser.role"
|
||||
></q-select>
|
||||
<q-input
|
||||
class="col-5"
|
||||
class="col-5 q-mt-xl"
|
||||
:label="$t('expires')"
|
||||
filled
|
||||
v-model="localUser.expires"
|
||||
type="datetime-local"
|
||||
v-model="localUser.expiration"
|
||||
></q-input>
|
||||
</div>
|
||||
</div>
|
||||
@@ -131,7 +132,6 @@ const localUser = ref<User>({
|
||||
user: '',
|
||||
email: '',
|
||||
role: '',
|
||||
expires: '',
|
||||
});
|
||||
|
||||
const props = defineProps({
|
||||
@@ -156,7 +156,6 @@ async function open(user: User | null) {
|
||||
user: '',
|
||||
email: '',
|
||||
role: '',
|
||||
expires: '',
|
||||
};
|
||||
newUser.value = true;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user