Blame view

src/pages/Authentication/forgetpassword.vue 9.66 KB
93a68cfa1   Jatinder Singh   first commit
1
2
  <template>
    <v-app id="login">
603a06702   Neeraj Sharma   implemented chang...
3
      <v-toolbar class="fixcolors">
93a68cfa1   Jatinder Singh   first commit
4
        <v-toolbar-items>
f0281dd43   Neeraj Sharma   add run api of re...
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
          <!-- <img src="/static/ana@2x.png" height="36" alt="ana" /> -->
          <h3 class="white--text my-3 ml-4">School-Management</h3>
        </v-toolbar-items>
      </v-toolbar>
      <v-container fluid>
        <v-layout align-center justify-center fill-height>
          <v-flex xs12 sm8 md7 lg8>
            <div>
              <v-app>
                <v-stepper v-model="e2">
                  <v-stepper-header>
                    <v-stepper-step :complete="e2 > 1" step="1">Fill Your Email</v-stepper-step>
                    <v-divider></v-divider>
                    <v-stepper-step step="2">Last Step of Forget Password</v-stepper-step>
                  </v-stepper-header>
                  <v-stepper-items>
                    <v-stepper-content step="1">
                      <v-content>
1c1942362   Neeraj Sharma   commit code Schoo...
23
                        <v-container fluid class="content">
f0281dd43   Neeraj Sharma   add run api of re...
24
                          <v-layout align-center justify-center fill-height>
1c1942362   Neeraj Sharma   commit code Schoo...
25
                            <v-flex xs12 sm8 md7 lg8>
603a06702   Neeraj Sharma   implemented chang...
26
                              <v-toolbar class="fixcolors" dark>
f0281dd43   Neeraj Sharma   add run api of re...
27
28
29
30
31
32
33
34
                                <v-spacer></v-spacer>
                                <v-toolbar-title>Forget Password</v-toolbar-title>
                                <v-spacer></v-spacer>
                              </v-toolbar>
                              <v-card class="elevation-1 pa-1">
                                <v-card-text>
                                  <h5 class="text-xs-center"> Not to Worry! Enter to your registered Email ID. </h5>
                                  <h5 class="text-xs-center"> We'll send you a reset.</h5>
1c1942362   Neeraj Sharma   commit code Schoo...
35
                                  <v-flex lg6 sm6 xs10 offset-sm3 offset-xs1 offset-lg3>
603a06702   Neeraj Sharma   implemented chang...
36
                                   <v-form ref="form" v-model="valid" lazy-validation>
f0281dd43   Neeraj Sharma   add run api of re...
37
38
39
40
41
42
43
44
45
46
47
48
49
                                      <div class="custom-input-align">
                                        <v-text-field 
                                         class="text-md-center"
                                         :rules="emailRules"
                                         v-model="forgetemail" 
                                         label="Enter Your email ID" 
                                         required></v-text-field>
                                      </div>
                                    </v-form>
                                  </v-flex>
                                </v-card-text>
                                <v-card-actions>
                                  <v-flex text-xs-center>
603a06702   Neeraj Sharma   implemented chang...
50
                                    <v-btn round class="mt-1 button fixcolors" dark large @click="reset">Send Request</v-btn>
f0281dd43   Neeraj Sharma   add run api of re...
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
                                  </v-flex>
                                </v-card-actions>
                                <v-snackbar
                                       :timeout="timeout"
                                       :top="y === 'top'"
                                       :right="x === 'right'"
                                       :vertical="mode === 'vertical'"
                                       v-model="snackbar"
                                       :color= color 
                               >
                              {{ text }}
                               </v-snackbar>
                              </v-snackbar>
                            </v-card>
                          </v-flex>
                        </v-layout>
                      </v-container>
                    </v-content>
                  </v-stepper-content>
                  <v-stepper-content step="2">
                    <v-content>
                      <v-container fluid fill-height>
                        <v-layout align-center justify-center>
1c1942362   Neeraj Sharma   commit code Schoo...
74
                          <v-flex xs12 sm8 md7 lg8>
603a06702   Neeraj Sharma   implemented chang...
75
                            <v-toolbar class="fixcolors" dark>
f0281dd43   Neeraj Sharma   add run api of re...
76
77
78
79
80
81
82
83
                              <v-spacer></v-spacer>
                              <v-toolbar-title>Forget Password</v-toolbar-title>
                              <v-spacer></v-spacer>
                            </v-toolbar>
                            <v-card class="elevation-1 pa-1">
                              <v-card-text>
                                <h5 class="text-xs-center"> Not to Worry! Enter to your registered Email ID And New Password. </h5>
                                <h5 class="text-xs-center"> We'll send you a reset.</h5>
1c1942362   Neeraj Sharma   commit code Schoo...
84
                                <v-flex lg6 sm6 xs10 offset-sm3 offset-xs1 offset-lg3>
f0281dd43   Neeraj Sharma   add run api of re...
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
                                  <v-form class="mt-4">
                                    <div class="custom-input-align">
                                      <v-text-field 
                                       class="text-md-center"
                                       v-model="email" 
                                       :rules="emailRules"
                                       label="Enter Your email ID" 
                                       required></v-text-field>
                                      <v-text-field
                                      :rules="[rules.required,rules.min]"
                                      v-model="changepassword"
                                      :append-icon="e1 ? 'visibility_off' : 'visibility'"
                                      :append-icon-cb="() => (e1 = !e1)"
                                      :type="e1 ? 'password' : 'text'"
                                      name="input-10-1"
                                      label="Password"
                                      counter
                                     ></v-text-field>
                                    </div>
                                  </v-form>
                                </v-flex>
                              </v-card-text>
                              <v-card-actions>
                                <v-flex text-xs-center>
603a06702   Neeraj Sharma   implemented chang...
109
                                  <v-btn round class="mt-1 button fixcolors" dark large @click="resetPassword">Send Request</v-btn>
f0281dd43   Neeraj Sharma   add run api of re...
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
                                </v-flex>
                              </v-card-actions>
                              <v-snackbar
                                  :timeout="timeout"
                                  :top="y === 'top'"
                                  :right="x === 'right'"
                                  :vertical="mode === 'vertical'"
                                  v-model="snackbar"
                                  :color= color
                              >
                              {{ text }}
                             </v-snackbar>
                            </v-snackbar>
                          </v-card>
                        </v-flex>
                      </v-layout>
                    </v-container>
                  </v-content>
                  <v-btn
603a06702   Neeraj Sharma   implemented chang...
129
              color="primary"
f0281dd43   Neeraj Sharma   add run api of re...
130
131
132
133
134
135
136
137
138
139
140
141
142
              dark
              @click="e2 = 1"
            >
              Back
            </v-btn>
                </v-stepper-content>
              </v-stepper-items>
            </v-stepper>
           </v-app>
         </div>
        </v-flex>
       </v-layout>
      </v-container>
603a06702   Neeraj Sharma   implemented chang...
143
     <v-footer class="pa-4 fixcolors">
93a68cfa1   Jatinder Singh   first commit
144
    </v-footer>
f0281dd43   Neeraj Sharma   add run api of re...
145
   </v-app>
93a68cfa1   Jatinder Singh   first commit
146
  </template>
f0281dd43   Neeraj Sharma   add run api of re...
147

93a68cfa1   Jatinder Singh   first commit
148
  <script>
03dcbf0c1   Neeraj Sharma   fix all api and r...
149
  import http from '@/Services/http.js';
93a68cfa1   Jatinder Singh   first commit
150
151
  export default {
    data: () => ({
f0281dd43   Neeraj Sharma   add run api of re...
152
153
      e1: true,
      e2:0,
04e3fbc56   Jatinder Singh   minor fix
154
      snackbar: false,
03dcbf0c1   Neeraj Sharma   fix all api and r...
155
156
157
158
159
      y: 'top',
      x: 'right',
      mode: '',
      timeout: 4000,
      text: '',
93a68cfa1   Jatinder Singh   first commit
160
      loading: false,
f0281dd43   Neeraj Sharma   add run api of re...
161
162
163
164
      email: '',
      forgetemail:'',
      password:'',
      changepassword:'',
603a06702   Neeraj Sharma   implemented chang...
165
      valid: true,
f0281dd43   Neeraj Sharma   add run api of re...
166
      emailRules: [
603a06702   Neeraj Sharma   implemented chang...
167
168
169
170
        v => !!v || "E-mail is required",
        v =>
          /^\w+([.-]?\w+)*@\w+([.-]?\w+)*(\.\w{2,3})+$/.test(v) ||
          "E-mail must be valid"
f0281dd43   Neeraj Sharma   add run api of re...
171
172
173
174
175
176
177
178
179
180
      ],
      rules: {
          required: value => !!value || "password is Required.",
          min: v =>
            (/^(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[!@#$%^&*])(?=.{8,})/.test(
              v
            ) &&
              v.length >= 6) ||
            "Min 4 characters upper case lower case symbol required"
        }
93a68cfa1   Jatinder Singh   first commit
181
182
183
    }),
  
    methods: {
e173bab21   Jatinder Singh   api
184
      reset () {
603a06702   Neeraj Sharma   implemented chang...
185
        if (this.$refs.form.validate()) {
f0281dd43   Neeraj Sharma   add run api of re...
186
187
188
189
190
        http().get('/schoolForgotPassword?email='+ this.forgetemail)
          .then(response => {
            // console.log("response=====>",response.data.data.token);
            this.$store.dispatch("setToken", response.data.data.token);
            this.loading = true;
1c1942362   Neeraj Sharma   commit code Schoo...
191
            this.e2 = 2 ;
f0281dd43   Neeraj Sharma   add run api of re...
192
193
194
195
196
197
198
199
            if(this.snackbar=true){
                this.text= "Please you Fill Last Step of Forget Password!"              
            }
         }).catch(err => {
             this.text="User Not Found or Incorrect Email"
             this.snackbar= true;
             this.loading = false;
         })
603a06702   Neeraj Sharma   implemented chang...
200
       }
f0281dd43   Neeraj Sharma   add run api of re...
201
202
203
204
205
206
207
208
      },
      resetPassword(){
        let forgotPassword = {
          resetToken: this.$store.state.token,
          email: this.email,
          password: this.changepassword
        }
        http().post('/schoolResetPassword',forgotPassword)
e173bab21   Jatinder Singh   api
209
          .then(response => {
03dcbf0c1   Neeraj Sharma   fix all api and r...
210
211
212
            console.log("response=====>",response);
            this.loading = true;
            if(this.snackbar=true){
f0281dd43   Neeraj Sharma   add run api of re...
213
                this.text= "Successfully Change your Password"              
03dcbf0c1   Neeraj Sharma   fix all api and r...
214
215
216
217
            }
            setTimeout(() => {
            this.$router.push('/');
         }, 1000);
e173bab21   Jatinder Singh   api
218
         }).catch(err => {
03dcbf0c1   Neeraj Sharma   fix all api and r...
219
220
221
             this.text="User Not Found or Incorrect Email"
             this.snackbar= true;
             this.loading = false;
e173bab21   Jatinder Singh   api
222
         })
93a68cfa1   Jatinder Singh   first commit
223
      }
03dcbf0c1   Neeraj Sharma   fix all api and r...
224
225
226
227
228
229
    },
    computed:{
    color(){
      return this.loading ? 'success' : 'error'
  }
  }
93a68cfa1   Jatinder Singh   first commit
230
231
  
  };
1c1942362   Neeraj Sharma   commit code Schoo...
232
233
234
235
236
  </script>
  <style scoped lang="css">
  .content {
      padding: 100px 0px 100px 0px !important;
  }
93a68cfa1   Jatinder Singh   first commit
237
238
239
240
241
242
243
244
245
    #login {
      height: 50%;
      width: 100%;
      position: absolute;
      top: 0;
      left: 0;
      content: "";
      z-index: 0;
    }
04e3fbc56   Jatinder Singh   minor fix
246
247
248
249
250
251
252
253
  img{
  position:absolute;
  top:13px;
  left:50px;
  }
  .v-btn--large {
      padding: 0px 74px;
  }
9f9522c1d   Neeraj Sharma   fix button text a...
254
255
256
  .button{
    text-transform: none;
  }
03dcbf0c1   Neeraj Sharma   fix all api and r...
257
258
259
260
261
262
263
264
265
  @media screen and (max-width: 472px) {
  .v-btn--large {
      padding:0px 20px !important;
      font-size:13px;
  }
  h5 {
      font-size: 11px;
  }
  }
a0fe54618   Neeraj Sharma   finally fix
266
267
268
269
270
271
272
273
  @media screen and (max-width: 600px) {  
  img{
  top:16px;
  left:10px;
  height: 24px;
  width: 66px;;
  }
  }
93a68cfa1   Jatinder Singh   first commit
274
  </style>