|
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