blob: d84fb6d5bddeb8ac07bb2cf2eea97b289b34d9be [file] [log] [blame]
Yoshie Muranaka463a5702019-12-04 09:09:36 -08001<template>
2 <b-modal
3 id="modal-user"
4 @ok="$emit('ok', { newUser, form })"
5 @hidden="$emit('hidden')"
6 >
7 <template v-slot:modal-title>
8 <template v-if="newUser">
9 Add user
10 </template>
11 <template v-else>
12 Edit user
13 </template>
14 </template>
15 <b-form>
16 <b-form-group label="Account status">
17 <b-form-radio v-model="form.status" name="user-status" value="true"
18 >Enabled</b-form-radio
19 >
20 <b-form-radio v-model="form.status" name="user-status" value="false"
21 >Disabled</b-form-radio
22 >
23 </b-form-group>
24 <b-form-group label="Username">
Derick Montague5e7ac492020-01-23 15:45:57 -060025 <b-form-input v-model="form.username" type="text" />
Yoshie Muranaka463a5702019-12-04 09:09:36 -080026 </b-form-group>
27 <b-form-group label="Privilege">
28 <b-form-select
29 v-model="form.privilege"
30 :options="privilegeTypes"
31 ></b-form-select>
32 </b-form-group>
33 <b-form-group label="Password">
Derick Montague5e7ac492020-01-23 15:45:57 -060034 <b-form-input v-model="form.password" type="password" />
Yoshie Muranaka463a5702019-12-04 09:09:36 -080035 </b-form-group>
36 </b-form>
37 <template v-slot:modal-ok>
38 <template v-if="newUser">
39 Add user
40 </template>
41 <template v-else>
42 Save
43 </template>
44 </template>
45 </b-modal>
46</template>
47
48<script>
49export default {
Derick Montague5e7ac492020-01-23 15:45:57 -060050 props: {
51 user: {
52 type: Object,
53 default: null
54 }
55 },
Yoshie Muranaka463a5702019-12-04 09:09:36 -080056 data() {
57 return {
Derick Montaguee2fd1562019-12-20 13:26:53 -060058 privilegeTypes: ['Administrator', 'Operator', 'ReadOnly', 'NoAccess']
Yoshie Muranaka463a5702019-12-04 09:09:36 -080059 };
60 },
61 computed: {
62 newUser() {
63 return this.user ? false : true;
64 },
65 form() {
66 return {
67 originalUsername: this.newUser ? null : this.user.username,
68 status: this.newUser
69 ? true
Derick Montaguee2fd1562019-12-20 13:26:53 -060070 : this.user.status === 'Enabled'
Yoshie Muranaka463a5702019-12-04 09:09:36 -080071 ? true
72 : false,
Derick Montaguee2fd1562019-12-20 13:26:53 -060073 username: this.newUser ? '' : this.user.username,
74 privilege: this.newUser ? '' : this.user.privilege,
75 password: ''
Yoshie Muranaka463a5702019-12-04 09:09:36 -080076 };
77 }
78 }
79};
80</script>