- Finished Booking an Event

- Starting UsersList (creating CGridTableRec component to view and edit a db table)
This commit is contained in:
Paolo Arena
2019-10-13 20:46:09 +02:00
parent 5803cfb2a4
commit 96b7b7a48b
25 changed files with 27105 additions and 104 deletions

View File

@@ -71,7 +71,7 @@ export namespace ApiTool {
idapp: process.env.APP_ID
}
console.log('mydata', mydata)
// console.log('mydata', mydata)
UserStore.mutations.setServerCode(tools.EMPTY)
UserStore.mutations.setResStatus(0)

View File

@@ -1,65 +0,0 @@
import { ICfgServer, IConfig, IBookingState, IListRoutes, IMenuList, StateConnection } from 'model'
import { storeBuilder } from './Store/Store'
import Vue from 'vue'
import translate from './../../globalroutines/util'
import urlBase64ToUint8Array from '../../js/utility'
import Api from '@api'
import * as Types from '@src/store/Api/ApiTypes'
import { costanti } from '@src/store/Modules/costanti'
import { tools } from '@src/store/Modules/tools'
import { toolsext } from '@src/store/Modules/toolsext'
import { GlobalStore, Projects, Todos, UserStore } from '@store'
import { static_data } from '@src/db/static_data'
import { db_data } from '@src/db/db_data'
import { IEvents } from '../../model'
import { serv_constants } from '@src/store/Modules/serv_constants'
const state: IBookingState = {
bookinglist: []
}
const b = storeBuilder.module<IBookingState>('BookingModule', state)
// Getters
namespace Getters {
export const getters = {
}
}
namespace Mutations {
export const mutations = {
}
}
namespace Actions {
async function loadAfterLogin(context) {
return true
}
export const actions = {
loadAfterLogin: b.dispatch(loadAfterLogin)
}
}
const stateGetter = b.state()
// Module
const BookingModule = {
get state() {
return stateGetter()
},
actions: Actions.actions,
getters: Getters.getters,
mutations: Mutations.mutations
}
export default BookingModule

View File

@@ -480,10 +480,15 @@ namespace Actions {
.then((res) => {
state.networkDataReceived = true
console.log('******* checkUpdates RES :', res.data.cfgServer)
// console.log('******* checkUpdates RES :', res.data.cfgServer)
if (res.data.cfgServer) {
state.cfgServer = [...res.data.cfgServer]
console.log('res.data.cfgServer', res.data.cfgServer)
// console.log('res.data.cfgServer', res.data.cfgServer)
}
// console.log('res.data.userslist', res.data.usersList)
if (res.data.usersList) {
UserStore.mutations.setusersList(res.data.usersList)
}
// console.log('********** res', 'state.todos', state.todos, 'checkPending', checkPending)

View File

@@ -47,19 +47,19 @@ const stateGetter = b.state()
namespace Getters {
const findEventBooked = b.read((mystate: ICalendarState) => (myevent: IEvents, isconfirmed: boolean) => {
return mystate.bookedevent.find((bookedevent) => (bookedevent.id_bookedevent === myevent._id) && ((isconfirmed && bookedevent.booked) || (!isconfirmed)))
return mystate.bookedevent.find((bookedevent) => (bookedevent.id_bookedevent === myevent._id) && (bookedevent.userId === UserStore.state.userId) && ((isconfirmed && bookedevent.booked) || (!isconfirmed)))
}, 'findEventBooked')
const getNumParticipants = b.read((mystate: ICalendarState) => (myevent: IEvents) => {
const myarr = mystate.bookedevent.filter((bookedevent) => (bookedevent.id_bookedevent === myevent._id) && (bookedevent.booked))
const getNumParticipants = b.read((mystate: ICalendarState) => (myevent: IEvents, showall) => {
const myarr = mystate.bookedevent.filter((bookedevent) => (bookedevent.id_bookedevent === myevent._id) && (bookedevent.booked) && (showall || (!showall && bookedevent.userId === UserStore.state.userId) ))
if (myarr)
return myarr.reduce((sum, bookedevent) => sum + bookedevent.numpeople, 0)
else
return 0
}, 'getNumParticipants')
const getEventsBookedByIdEvent = b.read((mystate: ICalendarState) => (idevent) => {
return mystate.bookedevent.filter((bookedevent) => (bookedevent.id_bookedevent === idevent) && (bookedevent.booked))
const getEventsBookedByIdEvent = b.read((mystate: ICalendarState) => (idevent, showall) => {
return mystate.bookedevent.filter((bookedevent) => (bookedevent.id_bookedevent === idevent) && (bookedevent.booked) && (showall || (!showall && bookedevent.userId === UserStore.state.userId) ))
}, 'getEventsBookedByIdEvent')
export const getters = {
@@ -89,7 +89,7 @@ namespace Mutations {
namespace Actions {
async function loadAfterLogin(context) {
console.log('CalendarStore: loadAfterLogin')
// console.log('CalendarStore: loadAfterLogin')
// Load local data
state.editable = db_data.userdata.calendar_editable
state.eventlist = db_data.events
@@ -101,7 +101,7 @@ namespace Actions {
}
// Load local data
console.log('CALENDAR loadAfterLogin', 'userid=', UserStore.state.userId)
// console.log('CALENDAR loadAfterLogin', 'userid=', UserStore.state.userId)
let ris = null

View File

@@ -7,7 +7,7 @@ import router from '@router'
import { serv_constants } from '../Modules/serv_constants'
import { tools } from '../Modules/tools'
import { toolsext } from '@src/store/Modules/toolsext'
import { GlobalStore, UserStore, Todos, Projects, BookingStore, CalendarStore } from '@store'
import { GlobalStore, UserStore, Todos, Projects, CalendarStore } from '@store'
import globalroutines from './../../globalroutines/index'
import { static_data } from '@src/db/static_data'
@@ -15,6 +15,7 @@ import { db_data } from '@src/db/db_data'
import translate from './../../globalroutines/util'
import * as Types from '@src/store/Api/ApiTypes'
import { ICfgServer } from '@src/model'
const bcrypt = require('bcryptjs')
@@ -91,6 +92,10 @@ namespace Getters {
return '(' + userId + ')'
}, 'getNameSurnameByUserId')
const getUsersList = b.read((mystate: IUserState) => {
return mystate.usersList
}, 'getUsersList')
const IsMyFriend = b.read((state) => (userIdOwner) => {
// ++TODO Check if userIdOwner is my friend
// userIdOwner is my friend ?
@@ -104,7 +109,7 @@ namespace Getters {
}, 'IsMyGroup')
const getUserByUserId = b.read((mystate: IUserState) => (userId): IUserState => {
return mystate.usersList.find((item) => item.userId === userId)
return mystate.usersList.find((item) => item._id === userId)
}, 'getUserByUserId')
export const getters = {
@@ -134,6 +139,9 @@ namespace Getters {
},
get getUserByUserId() {
return getUserByUserId()
},
get getUsersList() {
return getUsersList()
}
// get fullName() { return fullName();},
}
@@ -171,6 +179,11 @@ namespace Mutations {
state.password = newstr
}
function setusersList(mystate: IUserState, usersList: IUserList[]) {
// console.log('setusersList', usersList)
mystate.usersList = [...usersList]
}
function setemail(state: IUserState, newstr: string) {
state.email = newstr
}
@@ -267,7 +280,8 @@ namespace Mutations {
setAuth: b.commit(setAuth),
clearAuthData: b.commit(clearAuthData),
setErrorCatch: b.commit(setErrorCatch),
getMsgError: b.commit(getMsgError)
getMsgError: b.commit(getMsgError),
setusersList: b.commit(setusersList)
}
}
@@ -306,6 +320,15 @@ namespace Actions {
}
async function saveUserChange(context, user: IUserState) {
console.log('saveUserChange', user)
return await Api.SendReq(`/users/${user.userId}`, 'PATCH', { user })
.then((res) => {
return (res.data.code === serv_constants.RIS_CODE_OK)
})
}
async function requestpwd(context, paramquery: IUserState) {
const usertosend = {
@@ -583,14 +606,14 @@ namespace Actions {
// state.isLogged = true
state.isLogged = isLogged
if (isLogged) {
console.log('state.isLogged', state.isLogged)
// console.log('state.isLogged', state.isLogged)
GlobalStore.mutations.setleftDrawerOpen(localStorage.getItem(tools.localStorage.leftDrawerOpen) === 'true')
GlobalStore.mutations.setCategorySel(localStorage.getItem(tools.localStorage.categorySel))
GlobalStore.actions.checkUpdates()
}
const p = await BookingStore.actions.loadAfterLogin()
const p2 = await CalendarStore.actions.loadAfterLogin()
const p3 = await GlobalStore.actions.loadAfterLogin()
@@ -601,7 +624,7 @@ namespace Actions {
if (static_data.functionality.ENABLE_PROJECTS_LOADING)
await Projects.actions.dbLoad({ checkPending: true, onlyiffirsttime: true })
console.log('setGlobal: END')
// console.log('setGlobal: END')
}
async function autologin_FromLocalStorage(context) {
@@ -675,6 +698,7 @@ namespace Actions {
logout: b.dispatch(logout),
requestpwd: b.dispatch(requestpwd),
resetpwd: b.dispatch(resetpwd),
saveUserChange: b.dispatch(saveUserChange),
signin: b.dispatch(signin),
signup: b.dispatch(signup),
vreg: b.dispatch(vreg)

View File

@@ -1,6 +1,5 @@
export {storeBuilder} from './Store/Store'
export {default as GlobalStore} from './GlobalStore'
export {default as BookingStore} from './BookingStore'
export {default as UserStore} from './UserStore'
export {default as Todos} from './Todos'
export {default as Projects} from './Projects'

View File

@@ -1398,7 +1398,7 @@ export const tools = {
,
checkLangPassed(mylang) {
console.log('checkLangPassed')
// console.log('checkLangPassed')
const mybrowserLang = Quasar.lang.isoName
@@ -2240,6 +2240,10 @@ export const tools = {
CancelBookingEvent(mythis, eventparam: IEvents, bookeventid: string, notify: boolean) {
console.log('CancelBookingEvent ', eventparam)
tools.askConfirm(mythis.$q, translate('cal.titlebooking'), translate('cal.cancelbooking') + ' ' + tools.gettextevent(eventparam) + '?', translate('dialog.yes'), translate('dialog.no'), mythis, lists.MenuAction.DELETE, 0, { param1: bookeventid, param2: notify })
},
CancelUserRec(mythis, id) {
console.log('CancelUserRec', id)
tools.askConfirm(mythis.$q, translate('cal.titlebooking'), translate('cal.canceluser') + '?', translate('dialog.yes'), translate('dialog.no'), mythis, lists.MenuAction.DELETE, 0, { param1: id })
}
// getLocale() {