feat: users create (wip)
This commit is contained in:
@@ -1,10 +1,10 @@
|
||||
<template lang="pug">
|
||||
v-dialog(v-model='isShown', max-width='550')
|
||||
v-dialog(v-model='isShown', max-width='650', persistent)
|
||||
v-card.wiki-form
|
||||
.dialog-header.is-short
|
||||
span New User
|
||||
v-card-text
|
||||
v-select.md2(
|
||||
v-select(
|
||||
:items='providers'
|
||||
item-text='title'
|
||||
item-value='key'
|
||||
@@ -13,40 +13,66 @@
|
||||
v-model='provider'
|
||||
label='Provider'
|
||||
)
|
||||
v-text-field.md2(
|
||||
v-text-field(
|
||||
outline
|
||||
prepend-icon='email'
|
||||
v-model='email'
|
||||
label='Email Address'
|
||||
ref='emailInput'
|
||||
)
|
||||
v-text-field.md2(
|
||||
v-text-field(
|
||||
v-if='provider === `local`'
|
||||
outline
|
||||
prepend-icon='lock'
|
||||
append-icon='casino'
|
||||
v-model='password'
|
||||
label='Password'
|
||||
:label='mustChangePwd ? `Temporary Password` : `Password`'
|
||||
counter='255'
|
||||
@click:append='generatePwd'
|
||||
)
|
||||
v-text-field.md2(
|
||||
v-text-field(
|
||||
outline
|
||||
prepend-icon='person'
|
||||
v-model='name'
|
||||
label='Name'
|
||||
)
|
||||
v-select(
|
||||
:items='groups'
|
||||
item-text='name'
|
||||
item-value='key'
|
||||
outline
|
||||
prepend-icon='people'
|
||||
v-model='group'
|
||||
label='Assign to Group(s)...'
|
||||
clearable
|
||||
multiple
|
||||
)
|
||||
v-divider
|
||||
v-checkbox(
|
||||
color='primary'
|
||||
label='Require password change on first login'
|
||||
v-if='provider === `local`'
|
||||
v-model='mustChangePwd'
|
||||
hide-details
|
||||
)
|
||||
v-checkbox(
|
||||
color='primary'
|
||||
label='Send a welcome email'
|
||||
hide-details
|
||||
v-model='sendWelcomeEmail'
|
||||
)
|
||||
v-card-chin
|
||||
v-spacer
|
||||
v-btn(flat, @click='isShown = false') Cancel
|
||||
v-btn(color='primary', @click='newUser') Create
|
||||
v-btn(color='primary', @click='newUser') Create and Close
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import _ from 'lodash'
|
||||
import uuidv4 from 'uuid/v4'
|
||||
|
||||
import providersQuery from 'gql/admin/users/users-query-strategies.gql'
|
||||
import groupsQuery from 'gql/admin/auth/auth-query-groups.gql'
|
||||
|
||||
export default {
|
||||
props: {
|
||||
@@ -61,7 +87,11 @@ export default {
|
||||
provider: 'local',
|
||||
email: '',
|
||||
password: '',
|
||||
name: ''
|
||||
name: '',
|
||||
groups: [],
|
||||
group: '',
|
||||
mustChangePwd: false,
|
||||
sendWelcomeEmail: false
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
@@ -95,6 +125,14 @@ export default {
|
||||
watchLoading (isLoading) {
|
||||
this.$store.commit(`loading${isLoading ? 'Start' : 'Stop'}`, 'admin-users-strategies-refresh')
|
||||
}
|
||||
},
|
||||
groups: {
|
||||
query: groupsQuery,
|
||||
fetchPolicy: 'network-only',
|
||||
update: (data) => data.groups.list,
|
||||
watchLoading (isLoading) {
|
||||
this.$store.commit(`loading${isLoading ? 'Start' : 'Stop'}`, 'admin-auth-groups-refresh')
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user