add admin panel for boxes

This commit is contained in:
j3d1 2023-12-28 22:49:55 +01:00
parent fe9795d147
commit c2e73afb35
8 changed files with 84 additions and 16 deletions

View file

@ -79,6 +79,7 @@ const store = new Vuex.Store({
state_options: [],
token_expiry: null,
local_loaded: false,
showAddBoxModal: false,
},
getters: {
getEventSlug: state => state.route && state.route.params.event ? state.route.params.event : state.lastEvent,
@ -153,6 +154,12 @@ const store = new Vuex.Store({
const ticket = state.tickets.filter(({id}) => id === updatedTicket.id)[0];
Object.assign(ticket, updatedTicket);
},
openAddBoxModal(state) {
state.showAddBoxModal = true;
},
closeAddBoxModal(state) {
state.showAddBoxModal = false;
},
createToast(state, {title, message, color}) {
var toast = {title, message, color, key: state.keyIncrement}
state.toasts.push(toast);
@ -301,6 +308,13 @@ const store = new Vuex.Store({
const {data} = await axios.get('/2/boxes/');
commit('replaceBoxes', data);
},
async createBox({commit, dispatch}, box) {
const {data} = await axios.post('/2/boxes/', box);
commit('replaceBoxes', data);
dispatch('loadBoxes').then(() => {
commit('closeAddBoxModal');
});
},
async updateItem({commit, getters}, item) {
const {data} = await axios.put(`/2/${getters.getEventSlug}/item/${item.uid}/`, item);
commit('updateItem', data);