From 1a9a81a1ba53cdb57486c5dd62294481c64754a9 Mon Sep 17 00:00:00 2001 From: Paolo Arena Date: Mon, 4 Oct 2021 15:55:43 +0200 Subject: [PATCH] fixed "Booking Users" --- src/components/CDateTime/CDateTime.vue | 2 +- .../CEventsCalendar/CEventsCalendar.ts | 61 ++++++++++++++++++- .../CEventsCalendar/CEventsCalendar.vue | 7 ++- src/components/CGallery/CGallery.vue | 8 +-- src/components/CGridTableRec/CGridTableRec.ts | 27 ++------ src/components/CMyFieldDb/CMyFieldDb.vue | 2 +- src/components/CMyPopupEdit/CMyPopupEdit.vue | 26 ++++---- .../CMySingleEvent/CMySingleEvent.ts | 1 + .../CMySingleEvent/CMySingleEvent.vue | 2 +- .../CPhotosGallery/CPhotosGallery.vue | 2 +- src/components/CShareWithUs/CShareWithUs.vue | 4 +- src/components/CSignUp/CSignUp.vue | 4 +- src/components/CVideoPromo/CVideoPromo.vue | 2 +- src/db/static_data.ts | 2 +- src/mixins/mixin-events.ts | 2 +- src/root/evento/evento.ts | 1 + src/rootgen/admin/eventlist/eventlist.ts | 27 ++++++-- src/rootgen/admin/eventlist/eventlist.vue | 4 +- src/store/Modules/tools.ts | 3 - .../projects/proj-list/proj-list.vue.off | 46 +++++++------- 20 files changed, 145 insertions(+), 88 deletions(-) diff --git a/src/components/CDateTime/CDateTime.vue b/src/components/CDateTime/CDateTime.vue index 78e4d478..e6fd1f45 100755 --- a/src/components/CDateTime/CDateTime.vue +++ b/src/components/CDateTime/CDateTime.vue @@ -13,7 +13,7 @@ :dense="dense" mask="####-##-## ##:##" debounce="500" - @input="changeval" + @update:model-value="changeval" :input-class="getclass()" > diff --git a/src/components/CEventsCalendar/CEventsCalendar.ts b/src/components/CEventsCalendar/CEventsCalendar.ts index 04d12134..d00c82cf 100755 --- a/src/components/CEventsCalendar/CEventsCalendar.ts +++ b/src/components/CEventsCalendar/CEventsCalendar.ts @@ -4,7 +4,7 @@ import { useUserStore } from '@store/UserStore' import { useGlobalStore } from '@store/globalStore' import { useQuasar } from 'quasar' import { colors, Screen, Platform, date } from 'quasar' -import { EState, IBookedEvent, IBookedEventPage, IEvents, IMessage, IMessagePage } from '@model' +import { EState, IBookedEvent, IBookedEventPage, IEvents, IMessage, IMessagePage, IParamDialog } from '@model' import { Logo } from '../logo' import { Footer } from '../Footer' import { CTitle } from '../CTitle' @@ -25,6 +25,8 @@ import { useCalendarStore } from '@store/CalendarStore' import { func_tools, toolsext } from '@store/Modules/toolsext' import { useMessageStore } from '@store/MessageStore' import { static_data } from '@/db/static_data' +import { lists } from '@store/Modules/lists' +import translate from '@/globalroutines/util' export default defineComponent({ name: 'CEventsCalendar', @@ -441,6 +443,61 @@ export default defineComponent({ tools.CancelEvent($q, eventparam) } + function executefunc(mythisq: any, table: string, func: number, par: IParamDialog) { + + if (func === lists.MenuAction.DELETE) { + // console.log('param1', par.param1) + calendarStore.CancelBookingEvent({ + ideventbook: par.param1, + notify: par.param2 === true ? '1' : '0', + }).then((ris: any) => { + if (ris) { + tools.showPositiveNotif(mythisq, t('cal.canceledbooking') + ' "' + par.param3 + '"') + if (bookEventpage.value) + bookEventpage.value.show = false + } else { + tools.showNegativeNotif(mythisq, t('cal.cancelederrorbooking')) + } + }) + } + } + + function CancelBookingEvent(mythisq: any, eventparam: IEvents, bookeventid: string, notify: boolean, mythis?: any) { + + const mytitle = translate('cal.titlebooking') + const mytext = translate('cal.cancelbooking') + ' ' + tools.gettextevent(eventparam) + '?' + const ok = translate('dialog.yes') + const funcok = lists.MenuAction.DELETE + const table = '' + const funccancel = 0 + const par = { + param1: bookeventid, + param2: notify, + param3: eventparam.title, + } + + console.log('CancelBookingEvent ', eventparam) + return $q.dialog({ + message: mytext, + html: true, + ok: { + label: ok, + push: true, + }, + title: mytitle, + cancel: true, + persistent: false, + }).onOk(() => { + // console.log('OK') + executefunc($q, table, funcok, par) + return true + }).onCancel(() => { + // console.log('CANCEL') + executefunc($q, table, funccancel, par) + return false + }) + } + function duplicateEvent(eventparam: any, numgg: number, numev = 1) { for (let i = 0; i < numev; ++i) { globalStore.DuplicateRec({ table: costanti.TABEVENTS, id: eventparam._id }).then((rec) => { @@ -962,6 +1019,8 @@ export default defineComponent({ createContribType, static_data, editEvent, + EState, + CancelBookingEvent, } } }) diff --git a/src/components/CEventsCalendar/CEventsCalendar.vue b/src/components/CEventsCalendar/CEventsCalendar.vue index 7acdbd64..97043c2a 100755 --- a/src/components/CEventsCalendar/CEventsCalendar.vue +++ b/src/components/CEventsCalendar/CEventsCalendar.vue @@ -465,12 +465,13 @@ + @click="CancelBookingEvent($q, myevent, bookEventForm._id, true)"> diff --git a/src/components/CGallery/CGallery.vue b/src/components/CGallery/CGallery.vue index 73fd4787..562c3602 100755 --- a/src/components/CGallery/CGallery.vue +++ b/src/components/CGallery/CGallery.vue @@ -52,7 +52,7 @@ label="Id" dense @keyup.enter.stop - @input="save" + @update:model-value="save" debounce="1000" autofocus> @@ -71,7 +71,7 @@ :label="$t('disc.order')" dense @keyup.enter.stop - @input="save" + @update:model-value="save" debounce="1000" autofocus> --> @@ -79,7 +79,7 @@ label="Alt" dense @keyup.enter.stop - @input="save" + @update:model-value="save" debounce="1000" autofocus> --> @@ -89,7 +89,7 @@ dense :label="$t('proj.longdescr')" @keyup.enter.stop - @input="save" + @update:model-value="save" debounce="1000" autofocus> diff --git a/src/components/CGridTableRec/CGridTableRec.ts b/src/components/CGridTableRec/CGridTableRec.ts index 133e64f3..e776ff64 100755 --- a/src/components/CGridTableRec/CGridTableRec.ts +++ b/src/components/CGridTableRec/CGridTableRec.ts @@ -532,27 +532,9 @@ export default defineComponent({ } - function executefunc(table: string, func: number, par: IParamDialog) { - const globalStore = useGlobalStore() - const calendarStore = useCalendarStore() + function exec_func_table(table: string, func: number, par: IParamDialog) { - if (func === lists.MenuAction.DELETE) { - // console.log('param1', par.param1) - calendarStore.CancelBookingEvent({ - ideventbook: par.param1, - notify: par.param2 === true ? '1' : '0', - }).then((ris: any) => { - if (ris) { - tools.showPositiveNotif($q, t('cal.canceledbooking') + ' "' + par.param3 + '"') - //++Todo: Calendar FIX: - // if (myself.bookEventpage) - // myself.bookEventpage.show = false - } else { - tools.showNegativeNotif($q, t('cal.cancelederrorbooking')) - } - }) - } else if (func === lists.MenuAction.DELETE_RECTABLE) { - // console.log('param1', par.param1) + if (func === lists.MenuAction.DELETE_RECTABLE) { globalStore.DeleteRec({ table, id: par.param1 }).then((ris) => { if (ris) { ActionAfterYes(func, par.param2, null) @@ -562,7 +544,6 @@ export default defineComponent({ } }) } else if (func === lists.MenuAction.DUPLICATE_RECTABLE) { - // console.log('param1', par.param1) globalStore.DuplicateRec({ table, id: par.param1 }).then((ris) => { if (ris) { ActionAfterYes(func, par.param2, ris.data) @@ -598,11 +579,11 @@ export default defineComponent({ persistent: false, }).onOk(() => { // console.log('OK') - executefunc(table, col.action, par) + exec_func_table(table, col.action, par) return true }).onCancel(() => { // console.log('CANCEL') - executefunc(table, funccancel, par) + exec_func_table(table, funccancel, par) return false }) diff --git a/src/components/CMyFieldDb/CMyFieldDb.vue b/src/components/CMyFieldDb/CMyFieldDb.vue index 84bc2d53..edc0ed85 100755 --- a/src/components/CMyFieldDb/CMyFieldDb.vue +++ b/src/components/CMyFieldDb/CMyFieldDb.vue @@ -225,7 +225,7 @@ @@ -86,7 +86,7 @@ @@ -94,7 +94,7 @@
@@ -103,7 +103,7 @@
+ @update:model-value="changeCol">
diff --git a/src/components/CMySingleEvent/CMySingleEvent.ts b/src/components/CMySingleEvent/CMySingleEvent.ts index e900c46b..00a0ee92 100755 --- a/src/components/CMySingleEvent/CMySingleEvent.ts +++ b/src/components/CMySingleEvent/CMySingleEvent.ts @@ -89,6 +89,7 @@ export default defineComponent({ isEventEnabled, findEventIndex, UpdateDbByFields, + selected, } } diff --git a/src/components/CMySingleEvent/CMySingleEvent.vue b/src/components/CMySingleEvent/CMySingleEvent.vue index 905db1d1..41802547 100644 --- a/src/components/CMySingleEvent/CMySingleEvent.vue +++ b/src/components/CMySingleEvent/CMySingleEvent.vue @@ -2,7 +2,7 @@
+ :nofooter="true">
diff --git a/src/components/CPhotosGallery/CPhotosGallery.vue b/src/components/CPhotosGallery/CPhotosGallery.vue index 64e26ecc..0c1c8b2b 100755 --- a/src/components/CPhotosGallery/CPhotosGallery.vue +++ b/src/components/CPhotosGallery/CPhotosGallery.vue @@ -13,7 +13,7 @@ dense label="Altezza" emit-value map-options - @input="changedim" + @update:model-value="changedim" >
diff --git a/src/components/CShareWithUs/CShareWithUs.vue b/src/components/CShareWithUs/CShareWithUs.vue index 1ea346da..228c86d8 100755 --- a/src/components/CShareWithUs/CShareWithUs.vue +++ b/src/components/CShareWithUs/CShareWithUs.vue @@ -28,7 +28,7 @@ - +
@@ -80,7 +80,7 @@ @click="add_newshare(shared.description)"> - +
diff --git a/src/components/CSignUp/CSignUp.vue b/src/components/CSignUp/CSignUp.vue index 88632adb..b9fe95df 100755 --- a/src/components/CSignUp/CSignUp.vue +++ b/src/components/CSignUp/CSignUp.vue @@ -14,7 +14,7 @@ v-model="signup.email" rounded outlined @blur="v$.email.$touch" - @input="changeemail()" + @update:model-value="changeemail()" :error="v$.email.$error" :error-message="tools.errorMsg( 'email', v$.email)" maxlength="50" @@ -31,7 +31,7 @@ v-model="signup.username" rounded outlined @blur="v$.username.$touch" - @input="changeusername" + @update:model-value="changeusername" :error="v$.username.$error" @keydown.space="(event) => event.preventDefault()" maxlength="20" diff --git a/src/components/CVideoPromo/CVideoPromo.vue b/src/components/CVideoPromo/CVideoPromo.vue index e031238e..be42c725 100755 --- a/src/components/CVideoPromo/CVideoPromo.vue +++ b/src/components/CVideoPromo/CVideoPromo.vue @@ -24,7 +24,7 @@ diff --git a/src/db/static_data.ts b/src/db/static_data.ts index 1e0a8f82..598cdcab 100755 --- a/src/db/static_data.ts +++ b/src/db/static_data.ts @@ -18,7 +18,7 @@ const functionality: IFunctionality = { ENABLE_PROJECTS_LOADING: false, SHOW_IF_IS_SERVER_CONNECTION: false, SHOW_MESSAGES: false, - BOOKING_EVENTS: false, + BOOKING_EVENTS: true, ENABLE_ECOMMERCE: true, ENABLE_REG_CNM: true, } diff --git a/src/mixins/mixin-events.ts b/src/mixins/mixin-events.ts index 52452792..c8cefae6 100755 --- a/src/mixins/mixin-events.ts +++ b/src/mixins/mixin-events.ts @@ -11,7 +11,7 @@ import { useI18n } from '@/boot/i18n' // You can declare a mixin as the same style as components. export default function () { function getImgEvent(event: IEvents) { - if (!!event.img) + if (event && !!event.img) return event.img else return 'images/noimg.png' diff --git a/src/root/evento/evento.ts b/src/root/evento/evento.ts index 19b771fb..c885c578 100755 --- a/src/root/evento/evento.ts +++ b/src/root/evento/evento.ts @@ -139,6 +139,7 @@ export default defineComponent({ isnotmyevent, setmeta, myevent, + selected, } } diff --git a/src/rootgen/admin/eventlist/eventlist.ts b/src/rootgen/admin/eventlist/eventlist.ts index 34ba42b0..e0aece4b 100755 --- a/src/rootgen/admin/eventlist/eventlist.ts +++ b/src/rootgen/admin/eventlist/eventlist.ts @@ -3,7 +3,16 @@ import { tools } from '@src/store/Modules/tools' import { func_tools } from '@src/store/Modules/toolsext' import { CTitle } from '../../../components/CTitle/index' import { CMyPage } from '../../../components/CMyPage/index' -import { IBookedEvent, ICalendarState, IEvents, ITodo, ITodosState, IUserState, IUserFields } from '@src/model' +import { + IBookedEvent, + ICalendarState, + IEvents, + ITodo, + ITodosState, + IUserState, + IUserFields, + IParamDialog +} from '@src/model' import { lists } from '@src/store/Modules/lists' import MixinUsers from '@src/mixins/mixin-users' @@ -14,6 +23,7 @@ import { useCalendarStore } from '@store/CalendarStore' import { useUserStore } from '@store/UserStore' import { useQuasar } from 'quasar' import { useI18n } from '@/boot/i18n' +import translate from '@/globalroutines/util' export default defineComponent({ name: 'Eventlist', @@ -21,6 +31,7 @@ export default defineComponent({ setup() { + const showpeople = ref(false) const shownote = ref(false) const eventsel = ref(null) const showPrev = ref(false) @@ -36,6 +47,8 @@ export default defineComponent({ const { UpdateDbByFields } = MixinEvents() + const { isValidUsername } = MixinUsers() + function getEventList() { const eventsloc: IEvents[] = [] @@ -115,10 +128,6 @@ export default defineComponent({ return eventsloc } - function mostra() { - return $route.name - } - function showall() { return $route.name === 'otherpages.admin.usereventlist' } @@ -134,7 +143,9 @@ export default defineComponent({ getNumEvent() } + function change_rec(eventparam: any) { + console.log('change_rec') UpdateDbByFields($q, eventparam) } @@ -151,6 +162,12 @@ export default defineComponent({ getTeacherByUsername, numrec, shownote, + showpeople, + eventsel, + isValidUsername, + gettitle, + change_rec, + $q, } } }) diff --git a/src/rootgen/admin/eventlist/eventlist.vue b/src/rootgen/admin/eventlist/eventlist.vue index 30af8fa3..f70fb871 100755 --- a/src/rootgen/admin/eventlist/eventlist.vue +++ b/src/rootgen/admin/eventlist/eventlist.vue @@ -115,7 +115,7 @@ autogrow type="textarea" debounce="500" input-class="myinput-area" - @input="change_rec(eventsel)"> + @update:model-value="change_rec(eventsel)"> @@ -161,7 +161,7 @@ + @click="tools.CancelBookingEvent($q, eventsel, eventbook._id, false)"> diff --git a/src/store/Modules/tools.ts b/src/store/Modules/tools.ts index 7ee7910f..8b30ffa9 100644 --- a/src/store/Modules/tools.ts +++ b/src/store/Modules/tools.ts @@ -1709,9 +1709,6 @@ export const tools = { }).then((ris: any) => { if (ris) { this.showPositiveNotif(mythisq, t('cal.canceledbooking') + ' "' + par.param3 + '"') - //++Todo: Calendar FIX: - // if (myself.bookEventpage) - // myself.bookEventpage.show = false } else { this.showNegativeNotif(mythisq, t('cal.cancelederrorbooking')) } diff --git a/src/views/projects/proj-list/proj-list.vue.off b/src/views/projects/proj-list/proj-list.vue.off index 3f97497c..79999b90 100755 --- a/src/views/projects/proj-list/proj-list.vue.off +++ b/src/views/projects/proj-list/proj-list.vue.off @@ -206,7 +206,7 @@ :label="$t('proj.longdescr')" outlined debounce="1000" - @input="modifyfieldproj('privacywrite')" + @update:model-value="modifyfieldproj('privacywrite')" autogrow style="flex: auto"> @@ -235,7 +235,7 @@ :readonly="readonly_PanelPrivacySel" rounded outlined v-model="itemselproj.groupId" :options="selectGroup" :label="$t('proj.group')" emit-value map-options - @input="modifyfieldproj('groupId')"> + @update:model-value="modifyfieldproj('groupId')">
@@ -247,7 +247,7 @@ :readonly="readonly_PanelPrivacySel" rounded outlined v-model="itemselproj.respUsername" :options="selectResp" :label="$t('proj.respUsername')" emit-value map-options - @input="modifyfieldproj('respUsername')"> + @update:model-value="modifyfieldproj('respUsername')"> @@ -259,14 +259,14 @@ :readonly="readonly_PanelPrivacySel" rounded outlined v-model="itemselproj.viceRespUsername" :options="selectResp" :label="$t('proj.viceRespUsername')" emit-value map-options - @input="modifyfieldproj('viceRespUsername')"> + @update:model-value="modifyfieldproj('viceRespUsername')"> + @update:model-value="modifyfieldproj('vice2RespUsername')"> @@ -277,7 +277,7 @@ style="min-width: 150px" :readonly="readonly_PanelPrivacySel" rounded outlined v-model="itemselproj.tipovisu" :options="selectTipoVisu" - @input="modifyfieldproj('tipovisu')" + @update:model-value="modifyfieldproj('tipovisu')" :label="$t('proj.tipovisu')" emit-value map-options> @@ -290,7 +290,7 @@ :readonly="readonly_PanelPrivacySel" rounded outlined v-model="itemselproj.privacyread" :options="selectPrivacy" :label="$t('proj.privacyread')" emit-value map-options - @input="modifyfieldproj('privacyread')"> + @update:model-value="modifyfieldproj('privacyread')"> @@ -301,7 +301,7 @@ style="min-width: 200px" :readonly="readonly_PanelPrivacySel" rounded outlined v-model="itemselproj.privacywrite" :options="selectPrivacy" :label="$t('proj.privacywrite')" emit-value map-options - @input="modifyfieldproj('privacywrite')"> + @update:model-value="modifyfieldproj('privacywrite')"> @@ -330,7 +330,7 @@ :label="$t('proj.longdescr')" outlined :readonly="readonly_PanelPrivacy" - @input="modifyfieldtodo('descr')" + @update:model-value="modifyfieldtodo('descr')" debounce="1000" autogrow style="flex: auto"> @@ -349,7 +349,7 @@ :label="$t('proj.note')" outlined :readonly="readonly_PanelPrivacy" - @input="modifyfieldtodo('note')" + @update:model-value="modifyfieldtodo('note')" debounce="1000" autogrow style="flex: auto"> @@ -365,7 +365,7 @@ v-model="itemtodosel.pos" type="number" debounce="500" - @input="modifyfieldtodo('pos')" + @update:model-value="modifyfieldtodo('pos')" rounded outlined style="max-width: 100px;" :label="$t('dashboard.posizione')"> @@ -378,7 +378,7 @@ @@ -390,7 +390,7 @@ :idmain="itemtodosel.category" table="todos" mykey="assignedToUsers" - @input="modifyfieldtodo('assignedToUsers')" + @update:model-value="modifyfieldtodo('assignedToUsers')" :type="costanti.FieldType.multiselect" jointable="workers"> @@ -403,7 +403,7 @@ rounded outlined v-model="itemtodosel.statustodo" :options="selectStatus" :readonly="readonly_PanelPrivacy" :label="$t('todo.status')" emit-value map-options - @input="modifyfieldtodo('statustodo')"> + @update:model-value="modifyfieldtodo('statustodo')"> @@ -485,7 +485,7 @@ readonly v-model="itemselproj.hoursplanned" rounded outlined - @input="modifyfieldproj('hoursplanned')" + @update:model-value="modifyfieldproj('hoursplanned')" :label="$t('proj.hoursplanned')" debounce="500"> @@ -500,7 +500,7 @@
@@ -508,7 +508,7 @@
@@ -520,7 +520,7 @@ style="min-width: 150px" :readonly="readonly_PanelPrivacySel" rounded outlined v-model="itemselproj.actualphase" :options="selectPhase" - @input="modifyfieldproj('actualphase')" + @update:model-value="modifyfieldproj('actualphase')" :label="$t('proj.actualphase')" emit-value map-options> @@ -530,7 +530,7 @@ style="min-width: 150px" :readonly="readonly_PanelPrivacySel" rounded outlined v-model="itemselproj.totalphases" :options="selectPhase" - @input="modifyfieldproj('totalphases')" + @update:model-value="modifyfieldproj('totalphases')" :label="$t('proj.totalphases')" emit-value map-options> @@ -599,7 +599,7 @@ :descr="$t('proj.progresstask')" :readonly="readonly_PanelPrivacy" :progressval="itemtodosel.progress" - :slider="true" @input="itemtodosel.progress = arguments[0]"> + :slider="true" @update:model-value="itemtodosel.progress = arguments[0]">
@@ -608,7 +608,7 @@ @@ -619,7 +619,7 @@
@@ -630,7 +630,7 @@