Commit b33ed58c2413cab5cf77812daef46a63f462763a

Authored by Neeraj Sharma
1 parent d2c0f0a3f1

fixed validation in

Showing 1 changed file with 1 additions and 1 deletions   Show diff stats
src/pages/Administrator/resetPassword.vue
1 <template> 1 <template>
2 <v-app id="login"> 2 <v-app id="login">
3 <v-container fluid fill-height> 3 <v-container fluid fill-height>
4 <v-layout> 4 <v-layout>
5 <v-flex xs12 sm8 md8 lg5 offset-sm2 offset-lg3 class="mt-5"> 5 <v-flex xs12 sm8 md8 lg5 offset-sm2 offset-lg3 class="mt-5">
6 <v-toolbar class="fixcolors mt-5" dark> 6 <v-toolbar class="fixcolors mt-5" dark>
7 <v-spacer></v-spacer> 7 <v-spacer></v-spacer>
8 <v-toolbar-title>Reset Password</v-toolbar-title> 8 <v-toolbar-title>Reset Password</v-toolbar-title>
9 <v-spacer></v-spacer> 9 <v-spacer></v-spacer>
10 </v-toolbar> 10 </v-toolbar>
11 <v-card class="elevation-1 pa-3" id="form"> 11 <v-card class="elevation-1 pa-3" id="form">
12 <v-card-text> 12 <v-card-text>
13 <v-flex xs12 sm8 md8 lg8 offset-sm2> 13 <v-flex xs12 sm8 md8 lg8 offset-sm2>
14 <v-form class="mt-3" ref="form" v-model="valid" lazy-validation> 14 <v-form class="mt-3" ref="form" v-model="valid" lazy-validation>
15 <v-select 15 <v-select
16 :rules="userRule" 16 :rules="userRule"
17 label="Select User" 17 label="Select User"
18 :items="getRoles" 18 :items="getRoles"
19 item-text="name" 19 item-text="name"
20 item-value="name" 20 item-value="name"
21 v-model="resetPassword.name" 21 v-model="resetPassword.name"
22 @change="getUsers(resetPassword.name)" 22 @change="getUsers(resetPassword.name)"
23 ></v-select> 23 ></v-select>
24 <v-select 24 <v-select
25 :rules="userNameRule" 25 :rules="userNameRule"
26 label="Select User Name" 26 label="Select User Name"
27 :items="getUsersName" 27 :items="getUsersName"
28 item-text="email" 28 item-text="email"
29 item-value="email" 29 item-value="email"
30 v-model="resetPassword.email" 30 v-model="resetPassword.email"
31 ></v-select> 31 ></v-select>
32 <v-text-field 32 <v-text-field
33 :rules="newPasswordRule" 33 :rules="newPasswordRule"
34 v-model="resetPassword.newPassword" 34 v-model="resetPassword.newPassword"
35 :error-messages="errors.collect('resetPassword.newPassword')" 35 :error-messages="errors.collect('resetPassword.newPassword')"
36 v-validate="'required'" 36 v-validate="'required'"
37 data-vv-name="resetPassword.newPassword" 37 data-vv-name="resetPassword.newPassword"
38 label="New Password" 38 label="New Password"
39 ></v-text-field> 39 ></v-text-field>
40 <v-text-field 40 <v-text-field
41 v-model="resetPassword.confirmPassword" 41 v-model="resetPassword.confirmPassword"
42 :rules="rePasswordRule" 42 :rules="rePasswordRule"
43 :error-messages="errors.collect('password2')" 43 :error-messages="errors.collect('password2')"
44 v-validate="{ required: false, is: resetPassword.newPassword }" 44 v-validate="{ required: false, is: resetPassword.newPassword }"
45 data-vv-name="password2" 45 data-vv-name="password2"
46 data-vv-as="password" 46 data-vv-as="password"
47 label="Re-Password" 47 label="Re-Password"
48 ></v-text-field> 48 ></v-text-field>
49 </v-form> 49 </v-form>
50 </v-flex> 50 </v-flex>
51 </v-card-text> 51 </v-card-text>
52 <v-card-actions> 52 <v-card-actions>
53 <v-flex text-xs-center> 53 <v-flex text-xs-center>
54 <v-btn 54 <v-btn
55 class="mt-3" 55 class="mt-3"
56 round 56 round
57 color="black" 57 color="black"
58 dark 58 dark
59 large 59 large
60 :loading="loading" 60 :loading="loading"
61 @click="reset" 61 @click="reset"
62 >Reset Password</v-btn> 62 >Reset Password</v-btn>
63 </v-flex> 63 </v-flex>
64 </v-card-actions> 64 </v-card-actions>
65 <v-snackbar 65 <v-snackbar
66 :timeout="timeout" 66 :timeout="timeout"
67 :top="y === 'top'" 67 :top="y === 'top'"
68 :right="x === 'right'" 68 :right="x === 'right'"
69 :vertical="mode === 'vertical'" 69 :vertical="mode === 'vertical'"
70 v-model="snackbar" 70 v-model="snackbar"
71 :color="color" 71 :color="color"
72 >{{ text }}</v-snackbar> 72 >{{ text }}</v-snackbar>
73 </v-card> 73 </v-card>
74 </v-flex> 74 </v-flex>
75 </v-layout> 75 </v-layout>
76 </v-container> 76 </v-container>
77 </v-app> 77 </v-app>
78 </template> 78 </template>
79 <script> 79 <script>
80 import http from "@/Services/http.js"; 80 import http from "@/Services/http.js";
81 81
82 export default { 82 export default {
83 data() { 83 data() {
84 return { 84 return {
85 snackbar: false, 85 snackbar: false,
86 y: "top", 86 y: "top",
87 x: "right", 87 x: "right",
88 mode: "", 88 mode: "",
89 timeout: 4000, 89 timeout: 4000,
90 text: "", 90 text: "",
91 color: "", 91 color: "",
92 password2: "", 92 password2: "",
93 resetPassword: {}, 93 resetPassword: {},
94 getUsersName: [], 94 getUsersName: [],
95 getRoles: [], 95 getRoles: [],
96 valid: true, 96 valid: true,
97 loading: false, 97 loading: false,
98 text: "Password Changed", 98 text: "Password Changed",
99 newPassword: "", 99 newPassword: "",
100 userRule: [v => !!v || "User is required"], 100 userRule: [v => !!v || "User is required"],
101 userNameRule: [v => !!v || "User Name is required"], 101 userNameRule: [v => !!v || "User Name is required"],
102 newPasswordRule: [v => !!v || "New Password is required"], 102 newPasswordRule: [v => !!v || "New Password is required"],
103 rePasswordRule: [v => !!v || "Re-Password is required"] 103 rePasswordRule: [v => !!v || "Re-Password is required"]
104 }; 104 };
105 }, 105 },
106 mounted() { 106 mounted() {
107 this.token = this.$store.state.token; 107 this.token = this.$store.state.token;
108 this.getRole(); 108 this.getRole();
109 }, 109 },
110 methods: { 110 methods: {
111 reset() { 111 reset() {
112 if ( 112 if (
113 this.$refs.form.validate() && 113 this.$refs.form.validate() &&
114 this.resetPassword.confirmPassword === resetPassword.newPassword 114 this.resetPassword.confirmPassword === this.resetPassword.newPassword
115 ) { 115 ) {
116 this.loading = true; 116 this.loading = true;
117 this.resetPassword.roleName = this.resetPassword.name; 117 this.resetPassword.roleName = this.resetPassword.name;
118 http() 118 http()
119 .put("/resetPasswordOfUsers", this.resetPassword, { 119 .put("/resetPasswordOfUsers", this.resetPassword, {
120 headers: { Authorization: "Bearer " + this.token } 120 headers: { Authorization: "Bearer " + this.token }
121 }) 121 })
122 .then(response => { 122 .then(response => {
123 this.loading = false; 123 this.loading = false;
124 this.snackbar = true; 124 this.snackbar = true;
125 this.text = "Successfully Restet password !!"; 125 this.text = "Successfully Restet password !!";
126 this.color = "green"; 126 this.color = "green";
127 this.clear(); 127 this.clear();
128 }) 128 })
129 .catch(error => { 129 .catch(error => {
130 // console.log("err====>",err); 130 // console.log("err====>",err);
131 this.snackbar = true; 131 this.snackbar = true;
132 this.text = "User Not Found or Incorrect currentPassword"; 132 this.text = "User Not Found or Incorrect currentPassword";
133 this.color = "error"; 133 this.color = "error";
134 this.loading = false; 134 this.loading = false;
135 }); 135 });
136 } 136 }
137 }, 137 },
138 getRole() { 138 getRole() {
139 this.showLoader = true; 139 this.showLoader = true;
140 http() 140 http()
141 .get("/getRolesList", { 141 .get("/getRolesList", {
142 headers: { Authorization: "Bearer " + this.token } 142 headers: { Authorization: "Bearer " + this.token }
143 }) 143 })
144 .then(response => { 144 .then(response => {
145 for (let i = 0; i < response.data.data.length; i++) { 145 for (let i = 0; i < response.data.data.length; i++) {
146 if ( 146 if (
147 response.data.data[i].name != "SUPERADMIN" && 147 response.data.data[i].name != "SUPERADMIN" &&
148 response.data.data[i].name != "ADMIN" 148 response.data.data[i].name != "ADMIN"
149 ) { 149 ) {
150 this.getRoles.push(response.data.data[i]); 150 this.getRoles.push(response.data.data[i]);
151 this.showLoader = false; 151 this.showLoader = false;
152 } 152 }
153 } 153 }
154 }) 154 })
155 .catch(error => { 155 .catch(error => {
156 this.showLoader = false; 156 this.showLoader = false;
157 if (error.response.status === 401) { 157 if (error.response.status === 401) {
158 this.$router.replace({ path: "/" }); 158 this.$router.replace({ path: "/" });
159 this.$store.dispatch("setToken", null); 159 this.$store.dispatch("setToken", null);
160 this.$store.dispatch("Id", null); 160 this.$store.dispatch("Id", null);
161 } 161 }
162 }); 162 });
163 }, 163 },
164 clear() { 164 clear() {
165 this.$refs.form.reset(); 165 this.$refs.form.reset();
166 }, 166 },
167 getUsers(roles) { 167 getUsers(roles) {
168 this.showLoader = true; 168 this.showLoader = true;
169 http() 169 http()
170 .get("/getUserWithRole", { 170 .get("/getUserWithRole", {
171 params: { 171 params: {
172 name: roles 172 name: roles
173 }, 173 },
174 headers: { Authorization: "Bearer " + this.token } 174 headers: { Authorization: "Bearer " + this.token }
175 }) 175 })
176 .then(response => { 176 .then(response => {
177 this.getUsersName = response.data.data; 177 this.getUsersName = response.data.data;
178 }) 178 })
179 .catch(error => { 179 .catch(error => {
180 this.showLoader = false; 180 this.showLoader = false;
181 if (error.response.status === 401) { 181 if (error.response.status === 401) {
182 this.$router.replace({ path: "/" }); 182 this.$router.replace({ path: "/" });
183 this.$store.dispatch("setToken", null); 183 this.$store.dispatch("setToken", null);
184 this.$store.dispatch("Id", null); 184 this.$store.dispatch("Id", null);
185 } 185 }
186 }); 186 });
187 } 187 }
188 } 188 }
189 }; 189 };
190 </script> 190 </script>
191 <style scoped> 191 <style scoped>
192 img { 192 img {
193 position: absolute; 193 position: absolute;
194 top: 13px; 194 top: 13px;
195 left: 50px; 195 left: 50px;
196 } 196 }
197 .v-btn--large { 197 .v-btn--large {
198 padding: 0px 74px; 198 padding: 0px 74px;
199 } 199 }
200 @media screen and (max-width: 769px) { 200 @media screen and (max-width: 769px) {
201 .v-btn--large { 201 .v-btn--large {
202 font-size: 14px; 202 font-size: 14px;
203 height: 44px; 203 height: 44px;
204 padding: 0 32px; 204 padding: 0 32px;
205 } 205 }
206 } 206 }
207 </style> 207 </style>
208 208