|
112 | 112 | </v-dialog>
|
113 | 113 | </div>
|
114 | 114 | </v-card>
|
115 |
| - <br> |
116 | 115 | <h3 class="text-xs-left"> {{ $t('message.settings_actions_update_title') }} </h3>
|
117 | 116 | <v-card>
|
118 | 117 | <div class="cardContent">
|
|
133 | 132 | </template>
|
134 | 133 | </div>
|
135 | 134 | </v-card>
|
| 135 | + <br/><br/> |
136 | 136 | <br><br>
|
| 137 | + <h3 class="text-xs-left">{{ $t('message.settings_admin_password_title') }}</h3> |
| 138 | + <v-card> |
| 139 | + <div class="cardContent"> |
| 140 | + <v-text-field v-model="settings.adminPassword" |
| 141 | + v-bind:label="$t('message.settings_admin_password')" |
| 142 | + @input="$v.settings.motorMode.$touch" |
| 143 | + /> |
| 144 | + </div> |
| 145 | + </v-card> |
137 | 146 | </v-flex>
|
138 | 147 | </v-layout>
|
139 | 148 | </v-container>
|
|
621 | 630 | </v-tab-item>
|
622 | 631 | </v-tabs-items>
|
623 | 632 | </v-main>
|
| 633 | + <!-- Admin password dialog --> |
| 634 | + <v-dialog v-model="adminPassword_dialog" max-width="290" persistent> |
| 635 | + <v-card> |
| 636 | + <v-card-title class="headline">{{ $t("message.settings_admin_password_verify_title") }}</v-card-title> |
| 637 | + <v-card-text> |
| 638 | + {{ $t("message.settings_admin_password_verify") }} |
| 639 | + <v-text-field v-model="adminPassword" |
| 640 | + /> |
| 641 | + </v-card-text> |
| 642 | + <v-card-actions> |
| 643 | + <v-spacer></v-spacer> |
| 644 | + <v-btn color="green darken-1" text="text" @click="adminPassword_dialog=false; $router.go(-1);"> |
| 645 | + {{ $t("message.cancel") }} |
| 646 | + </v-btn> |
| 647 | + <v-btn color="green darken-1" text="text" @click="checkAdminPassword()"> |
| 648 | + {{ $t("message.ok") }} |
| 649 | + </v-btn> |
| 650 | + </v-card-actions> |
| 651 | + </v-card> |
| 652 | + </v-dialog> |
624 | 653 | <!-- Confirm exit dialog -->
|
625 | 654 | <v-dialog v-model="confirm_exit_dialog" max-width="290">
|
626 | 655 | <v-card>
|
@@ -672,6 +701,7 @@ export default {
|
672 | 701 | this.settings.cnnModels = this.$store.getters.cnnModels;
|
673 | 702 | this.cb.info = this.$store.getters.info;
|
674 | 703 | this.cb.status = this.$store.getters.status;
|
| 704 | + this.adminPassword_dialog = this.settings.adminPassword != null && this.settings.adminPassword != ''; |
675 | 705 | },
|
676 | 706 | beforeRouteLeave(to, from, next) {
|
677 | 707 | if (this.$v.$anyDirty) {
|
@@ -911,6 +941,11 @@ export default {
|
911 | 941 | startupProgram: true,
|
912 | 942 | progLevel: false
|
913 | 943 | };
|
| 944 | + }, |
| 945 | + checkAdminPassword() { |
| 946 | + if (this.settings.adminPassword == this.adminPassword) { |
| 947 | + this.adminPassword_dialog = false; |
| 948 | + } |
914 | 949 | }
|
915 | 950 | },
|
916 | 951 | data() {
|
@@ -969,6 +1004,7 @@ export default {
|
969 | 1004 | shutterSound: null,
|
970 | 1005 | startupProgram: null,
|
971 | 1006 | progLevel: null,
|
| 1007 | + adminPassword: null, |
972 | 1008 | },
|
973 | 1009 | cb: {
|
974 | 1010 | logs: {
|
@@ -1000,6 +1036,8 @@ export default {
|
1000 | 1036 | dirty: false,
|
1001 | 1037 | confirm_exit_dialog: null,
|
1002 | 1038 | router_next: null,
|
| 1039 | + adminPassword: null, |
| 1040 | + adminPassword_dialog: true, |
1003 | 1041 | };
|
1004 | 1042 | },
|
1005 | 1043 | validations() {
|
@@ -1129,7 +1167,7 @@ export default {
|
1129 | 1167 | }
|
1130 | 1168 | },
|
1131 | 1169 | };
|
1132 |
| - } |
| 1170 | + }, |
1133 | 1171 | };
|
1134 | 1172 | </script>
|
1135 | 1173 | <style scoped>
|
|
0 commit comments