blob: 70cd61419d1cf2ac4b7d2d3537869bc3fb03e4ad [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">
25 <b-form-input type="text" v-model="form.username" />
26 </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">
34 <b-form-input type="password" v-model="form.password" />
35 </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 {
50 props: ["user"],
51 data() {
52 return {
53 privilegeTypes: ["Administrator", "Operator", "ReadOnly", "NoAccess"]
54 };
55 },
56 computed: {
57 newUser() {
58 return this.user ? false : true;
59 },
60 form() {
61 return {
62 originalUsername: this.newUser ? null : this.user.username,
63 status: this.newUser
64 ? true
65 : this.user.status === "Enabled"
66 ? true
67 : false,
68 username: this.newUser ? "" : this.user.username,
69 privilege: this.newUser ? "" : this.user.privilege,
70 password: ""
71 };
72 }
73 }
74};
75</script>