cleanup work and prep for testing

This commit is contained in:
2023-09-16 15:32:34 +02:00
parent 94ee69642a
commit 4d4bb81099
9 changed files with 47 additions and 40 deletions

View File

@@ -1 +1 @@
{"test4":{"name":"Test4Event","description":"Let's see what happens if I update the description, how fast it is reflected in the UI","location":"test2","date":"2023-10-30T10:00:00.000Z","categories":{"1":{"price":{"1":20,"2":30},"bg":"#ff0000","fg":"#ff0000","name":"Category 1","id":"1","ticketCount":1}},"ageGroups":{"1":{"id":1,"name":"Child","age":"0 - 15.99"},"2":{"id":2,"name":"Adult"}},"maxTickets":0,"eventID":"test4","time":"10:00:00.000","startingPrice":20,"currency":"CHF","isDraft":true,"locationName":"TestLocation2","hasSeatplan":true,"totalSeats":353}}
{"test4":{"name":"Test4Event","description":"Let's see what happens if I update the description, how fast it is reflected in the UI","location":"test2","date":"2023-10-30T10:00:00.000Z","categories":{"1":{"price":{"1":20,"2":30},"bg":"#ff0000","fg":"#ff0000","name":"Category 1","id":"1","ticketCount":1}},"ageGroups":{"1":{"id":1,"name":"Child","age":"0 - 15.99"},"2":{"id":2,"name":"Adult"}},"maxTickets":0,"eventID":"test4","time":"10:00:00.000","startingPrice":20,"currency":"CHF","isDraft":true,"locationName":"TestLocation2","hasSeatplan":true,"totalSeats":353},"test3":{"name":"TestEvent3","description":"This is another test event, this time without seat plan","location":"test","date":"2023-11-25T19:00:00.000Z","categories":{"1":{"price":{"1":20,"2":25},"bg":"#FFFFFF","fg":"#000000","name":"Category 1","id":1,"ticketCount":50},"2":{"price":{"1":30,"2":35},"bg":"#FFFFFF","fg":"#000000","name":"Category 2","id":2,"ticketCount":50}},"ageGroups":{"1":{"id":1,"name":"Child","age":"0 - 15.99"},"2":{"id":2,"name":"Adult"}},"maxTickets":0,"eventID":"test3","time":"19:00:00.000","startingPrice":20,"currency":"CHF","locationName":"TestLocation","hasSeatplan":false,"totalSeats":null}}

View File

@@ -1 +1 @@
{"test4":{"name":"Test4Event","description":"Let's see what happens if I update the description, how fast it is reflected in the UI","location":"test2","date":"2023-10-30T10:00:00.000Z","categories":{"1":{"price":{"1":20,"2":30},"bg":"#ff0000","fg":"#ff0000","name":"Category 1","id":"1","ticketCount":1}},"ageGroups":{"1":{"id":1,"name":"Child","age":"0 - 15.99"},"2":{"id":2,"name":"Adult"}},"maxTickets":0,"eventID":"test4","time":"10:00:00.000","startingPrice":20,"currency":"CHF","isDraft":true,"locationName":"TestLocation2","hasSeatplan":true,"totalSeats":353}}
{"test4":{"name":"Test4Event","description":"Let's see what happens if I update the description, how fast it is reflected in the UI","location":"test2","date":"2023-10-30T10:00:00.000Z","categories":{"1":{"price":{"1":20,"2":30},"bg":"#ff0000","fg":"#ff0000","name":"Category 1","id":"1","ticketCount":1}},"ageGroups":{"1":{"id":1,"name":"Child","age":"0 - 15.99"},"2":{"id":2,"name":"Adult"}},"maxTickets":0,"eventID":"test4","time":"10:00:00.000","startingPrice":20,"currency":"CHF","isDraft":true,"locationName":"TestLocation2","hasSeatplan":true,"totalSeats":353},"test3":{"name":"TestEvent3","description":"This is another test event, this time without seat plan","location":"test","date":"2023-11-25T19:00:00.000Z","categories":{"1":{"price":{"1":20,"2":25},"bg":"#FFFFFF","fg":"#000000","name":"Category 1","id":1,"ticketCount":50},"2":{"price":{"1":30,"2":35},"bg":"#FFFFFF","fg":"#000000","name":"Category 2","id":2,"ticketCount":50}},"ageGroups":{"1":{"id":1,"name":"Child","age":"0 - 15.99"},"2":{"id":2,"name":"Adult"}},"maxTickets":0,"eventID":"test3","time":"19:00:00.000","startingPrice":20,"currency":"CHF","locationName":"TestLocation","hasSeatplan":false,"totalSeats":null}}

View File

@@ -1 +1 @@
{"test2":{"locationID":"test2","name":"TestLocation2","seatplan-enabled":true,"totalSeats":352},"test":{"locationID":"test","name":"TestLocation","seatplan-enabled":true}}
{"test2":{"locationID":"test2","name":"TestLocation2","seatplan-enabled":true,"totalSeats":352},"test":{"locationID":"test","name":"TestLocation","seatplan-enabled":false}}

View File

@@ -111,7 +111,6 @@
}
} );
document.getElementById( 'subject' ).value = '';
document.getElementById( 'mail' ).value = '';
document.getElementsByClassName( 'ql-editor' )[0].innerHTML = '';
};
</script>

View File

@@ -1,7 +1,7 @@
{
"name": "libreevent",
"version": "0.1.0",
"private": true,
"version": "1.0.0",
"private": false,
"scripts": {
"dev": "vite --host",
"preview": "vite preview --host",

View File

@@ -10,11 +10,11 @@
<template>
<div>
<h2>Plugins</h2>
<p>Here you can manage installed plugins. If you want to install more plugins, please follow the guide <a href="https://librevent.janishutz.com/docs/plugins/install">here</a></p>
<p>Here you can manage installed plugins. If you want to install more plugins, please follow the guide <a href="https://librevent.janishutz.com/docs/plugins/install">here</a>. Note that some plugins might not follow the libreevent design scheme.</p>
<div class="bigButton-container">
<a class="bigButton" v-for="plugin in allPlugins" :href="plugin.settingsURL">
<object data="/otherAssets/libreeventLogo.png" type="image/png" class="plugin-logo">
<img :src="plugin.logo">
<object data="/otherAssets/libreeventLogo.png" type="image/png" class="plugin-logo" @click="$router.push( plugin.settingsURL )">
<img :src="plugin.logo" @click="$router.push( plugin.settingsURL )" style="cursor: pointer;">
</object>
<h3 style="margin-bottom: 0;">{{ plugin.pluginName }}</h3>
<p>{{ plugin.pluginDescription }}</p>

View File

@@ -32,8 +32,8 @@
<div class="admin-settings">
<h2>Admin Accounts</h2>
<button @click="createAccount()">Create new account</button>
<p style="margin-bottom: 0;">Before setting or editing permissions here, please read the corresponding section of the documentation <a href="https://libreevent.janishutz.com/docs/admin-panel/settings/admin-accounts#permissions" target="_blank">here</a>.</p>
<p style="margin-top: 0;">Usually, the permissions automatically set by the system on account creation should be appropriate. (TIP: Right click for more options)</p>
<!-- <p style="margin-bottom: 0;">Before setting or editing permissions here, please read the corresponding section of the documentation <a href="https://libreevent.janishutz.com/docs/admin-panel/settings/admin-accounts#permissions" target="_blank">here</a>.</p> -->
<!-- <p style="margin-top: 0;">Usually, the permissions automatically set by the system on account creation should be appropriate. (TIP: Right click for more options)</p> -->
<div v-if="Object.keys( adminAccounts ).length > 0" class="account-wrapper">
<div v-for="account in adminAccounts" class="account" @click="showPasswordSettings( account.email );" title="Edit settings of this account (right click for more options)" @contextmenu="( e ) => { e.preventDefault(); openRightClickMenu( account.email, e ); }">
<div class="location-name">
@@ -223,27 +223,27 @@
createAccount() {
this.currentPopup = 'createAccount';
this.$refs.popup.openPopup( 'Create new admin user', {
'role': {
'display': 'User role',
'id': 'role',
'tooltip':'With this setting you can choose one of the preset permissions for users. Account management is only allowed for the root user.',
'value': 'eventManager',
'type': 'select',
'restrictions': {
'fullAccess': {
'value': 'fullAccess',
'displayName': 'Full Access'
},
'eventManager': {
'value': 'eventManager',
'displayName': 'Event Manager'
},
'entryControl': {
'value': 'entryControl',
'displayName': 'Entry Control'
}
}
},
// 'role': {
// 'display': 'User role',
// 'id': 'role',
// 'tooltip':'With this setting you can choose one of the preset permissions for users. Account management is only allowed for the root user.',
// 'value': 'eventManager',
// 'type': 'select',
// 'restrictions': {
// 'fullAccess': {
// 'value': 'fullAccess',
// 'displayName': 'Full Access'
// },
// 'eventManager': {
// 'value': 'eventManager',
// 'displayName': 'Event Manager'
// },
// 'entryControl': {
// 'value': 'entryControl',
// 'displayName': 'Entry Control'
// }
// }
// },
'username': {
'display': 'Username',
'id': 'username',
@@ -290,10 +290,11 @@
, 'settings' );
},
executeCommand( command ) {
if ( command === 'openPermissions' ) {
this.currentPopup = 'account';
this.showAccountSettings( this.currentlyOpenMenu );
} else if ( command === 'deleteUser' ) {
// if ( command === 'openPermissions' ) {
// this.currentPopup = 'account';
// this.showAccountSettings( this.currentlyOpenMenu );
// } else
if ( command === 'deleteUser' ) {
this.currentPopup = 'deleteUser';
this.$refs.popup.openPopup( 'Do you really want to delete the user ' + this.currentlyOpenMenu + '?', {}, 'confirm' );
} else if ( command === 'updatePassword' ) {
@@ -386,7 +387,10 @@
}
},
openRightClickMenu( id, event ) {
this.$refs.rclk.openRightClickMenu( event, { 'permissions': { 'command': 'openPermissions', 'symbol': 'edit', 'display': 'Edit permissions' }, 'password': { 'command': 'updatePassword', 'symbol': 'password', 'display': 'Edit account settings' }, 'delete': { 'command': 'deleteUser', 'symbol': 'delete', 'display': 'Delete User' } } )
this.$refs.rclk.openRightClickMenu( event, {
// 'permissions': { 'command': 'openPermissions', 'symbol': 'edit', 'display': 'Edit permissions' },
'password': { 'command': 'updatePassword', 'symbol': 'password', 'display': 'Edit account settings' },
'delete': { 'command': 'deleteUser', 'symbol': 'delete', 'display': 'Delete User' } } )
this.currentlyOpenMenu = id;
},
loadData() {

View File

@@ -77,13 +77,13 @@
<div class="category-details">{{ ageGroup.name }}<div style="display: inline;" v-if="ageGroup.age"> ({{ ageGroup.age }})</div>:</div>
</td>
<td>
<input type="number" v-model="category.price[ ageGroup.id ]">
{{ event.currency }} <input type="number" v-model="category.price[ ageGroup.id ]">
</td>
</tr>
<tr>
<td><div class="category-details">Colour:</div></td>
<td>
<input type="text" data-coloris v-model="category.fg" onkeydown="return false;">
{{ event.currency }} <input type="text" data-coloris v-model="category.fg" onkeydown="return false;">
</td>
</tr>
<tr v-if="!hasSeatPlan">

View File

@@ -59,7 +59,11 @@
this.$router.push( '/tickets' );
}
this.eventID = sessionStorage.getItem( 'selectedTicket' );
this.hasSeatplan = sessionStorage.getItem( 'hasSeatplan' );
if ( sessionStorage.getItem( 'hasSeatplan' ) === 'false' ) {
this.hasSeatplan = false;
} else {
this.hasSeatplan = true;
}
}
};
</script>