password reset preparations done

This commit is contained in:
2023-08-10 12:23:26 +02:00
parent adca2915b7
commit dfda842c7b
5 changed files with 112 additions and 34 deletions

View File

@@ -64,6 +64,9 @@
<button @click="closePopup( 'cancel' )" title="Cancel changes">Cancel</button>
</div>
</div>
<div v-else-if="contentType === 'iframe'" class="options iframe-wrapper">
<iframe :src="data.options.link" frameborder="0" class="popup-iframe"></iframe>
</div>
</div>
</div>
</div>
@@ -193,6 +196,15 @@
background-color: var( --popup-color );
}
.popup-iframe {
width: 100%;
height: 100%;
}
.iframe-wrapper {
height: 100%;
}
.small {
width: 40%;
height: 40%;

View File

@@ -116,6 +116,15 @@ export default [
transition: 'scale'
}
},
{
path: '/password-reset',
name: 'passwordReset',
component: () => import( '@/views/user/PasswordResetView.vue' ),
meta: {
title: 'Reset password - ',
transition: 'scale'
}
},
{
path: '/guest',
name: 'guestPurchase',

View File

@@ -10,8 +10,9 @@
<template>
<div>
<h2>Plugins</h2>
<p>Here you can manage installed plugins and install more</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></p>
<div class="bigButtons"></div>
<!-- TODO: Get all installed plugins -->
</div>
</template>

View File

@@ -25,6 +25,7 @@
<div class="admin-settings">
<h2>Admin Accounts</h2>
<button @click="createAccount()">Create new account</button>
<p>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>.
<br>Usually, the permissions automatically set by the system on account creation should be appropriate.</p>
<div v-for="account in adminAccounts" class="account" @click="showAccountSettings( account.username );" title="Edit permissions of this account (right click for more options)" @contextmenu="( e ) => { e.preventDefault(); openRightClickMenu( account.username, e ); }">
@@ -85,9 +86,16 @@
'type': 'toggle',
},
'phoneNumberRequired': {
'display': 'Require user to provide address?',
'display': 'Require user to provide phone number?',
'id': 'phoneNumberRequired',
'tooltip':'With this toggle you may specify whether or not a user has to provide their address when purchasing something. (Keep GDPR in mind when processing data!)',
'tooltip':'With this toggle you may specify whether or not a user has to provide their phone number when purchasing something. (Keep GDPR in mind when processing data!)',
'value': false,
'type': 'toggle',
},
'dobRequired': {
'display': 'Require user to provide their birth date?',
'id': 'dobRequired',
'tooltip':'With this toggle you may specify whether or not a user has to provide their date of birth when purchasing something. (Keep GDPR in mind when processing data!)',
'value': false,
'type': 'toggle',
},
@@ -154,40 +162,46 @@
},
showPaymentSettings () {
this.$refs.popup.openPopup( 'Payment gateway settings', {
'link': '/payments/settings',
}
, 'iframe' );
},
createAccount() {
this.$refs.popup.openPopup( 'Create new admin user', {
'pagesSettings': {
'display': 'Modify pages',
'id': 'pagesSettings',
'tooltip':'Change this setting to allow or disallow the selected user to access and change any settings of pages like the start page.',
'value': false,
'type': 'toggle',
'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'
},
'locationsSettings': {
'display': 'Location settings and seat plans',
'id': 'locationsSettings',
'tooltip':'Change this setting to allow or disallow the selected user to modify, delete or create locations with their corresponding seat plans.',
'value': false,
'type': 'toggle',
},
'plugins': {
'display': 'Plugin management',
'id': 'plugins',
'tooltip':'Change this setting to allow or disallow the selected user to install or uninstall plugins. Some plugins might allow you to set extra permissions inside of their settings panels',
'value': false,
'type': 'toggle',
},
'events': {
'display': 'Event management',
'id': 'events',
'tooltip':'Change this setting to allow or disallow the selected user to install or uninstall plugins. Some plugins might allow you to set extra permissions inside of their settings panels',
'value': false,
'type': 'toggle',
'eventManager': {
'value': 'eventManager',
'displayName': 'Event Manager'
},
'entryControl': {
'display': 'Entry control',
'id': 'entryControl',
'tooltip':'Change this setting to allow or disallow the selected user to execute entry control at the entrance to your event location.',
'value': true,
'type': 'toggle',
'value': 'entryControl',
'displayName': 'Entry Control'
}
}
},
'username': {
'display': 'Username',
'id': 'username',
'tooltip':'Add a username for this user',
'value': '',
'type': 'text',
},
'email': {
'display': 'Email',
'id': 'email',
'tooltip':'Add an email-address for this user',
'value': '',
'type': 'text',
},
}
, 'settings' );

View File

@@ -0,0 +1,42 @@
<!--
* libreevent - PasswordResetView.vue
*
* Created by Janis Hutz 08/10/2023, Licensed under the GPL V3 License
* https://janishutz.com, development@janishutz.com
*
*
-->
<template>
<div>
<h1>Password Reset</h1>
<p>Please enter the email address connected to your account to begin the password reset process.</p>
<input type="email" v-model="email"><br>
<button @click="reset()">Reset</button>
<notifications ref="notification" location="topright" size="bigger"></notifications>
</div>
</template>
<script>
import notifications from '@/components/notifications/notifications.vue';
export default {
data () {
return {
email: '',
}
},
components: {
notifications,
},
methods: {
reset() {
const startNotification = this.$refs.notification.createNotification( 'Starting password reset', 20, 'progress', 'normal' );
this.$refs.notification.cancelNotification( startNotification );
this.$refs.notification.createNotification( 'An account with this email address does not exist.', 5, 'error', 'normal' );
this.$refs.notification.cancelNotification( startNotification );
this.$refs.notification.createNotification( 'Password reset email sent. Please follow the instructions given there.', 30, 'ok', 'normal' );
}
}
}
</script>