Blame view

src/pages/Authentication/forgetpassword.vue 9.75 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>
654e1501d   Neeraj Sharma   remove school-man...
5
         <img src="/static/icon.png" height="40"  width="140" alt="logo">
f0281dd43   Neeraj Sharma   add run api of re...
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
        </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...
22
                        <v-container fluid class="content">
f0281dd43   Neeraj Sharma   add run api of re...
23
                          <v-layout align-center justify-center fill-height>
1c1942362   Neeraj Sharma   commit code Schoo...
24
                            <v-flex xs12 sm8 md7 lg8>
603a06702   Neeraj Sharma   implemented chang...
25
                              <v-toolbar class="fixcolors" dark>
f0281dd43   Neeraj Sharma   add run api of re...
26
27
28
29
30
31
32
33
                                <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...
34
                                  <v-flex lg6 sm6 xs10 offset-sm3 offset-xs1 offset-lg3>
603a06702   Neeraj Sharma   implemented chang...
35
                                   <v-form ref="form" v-model="valid" lazy-validation>
f0281dd43   Neeraj Sharma   add run api of re...
36
37
38
39
40
41
42
43
44
45
46
47
48
                                      <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...
49
                                    <v-btn round class="mt-1 button fixcolors" dark large @click="reset">Send Request</v-btn>
f0281dd43   Neeraj Sharma   add run api of re...
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
                                  </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...
73
                          <v-flex xs12 sm8 md7 lg8>
603a06702   Neeraj Sharma   implemented chang...
74
                            <v-toolbar class="fixcolors" dark>
f0281dd43   Neeraj Sharma   add run api of re...
75
76
77
78
79
80
81
82
                              <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...
83
                                <v-flex lg6 sm6 xs10 offset-sm3 offset-xs1 offset-lg3>
f0281dd43   Neeraj Sharma   add run api of re...
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
                                  <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...
108
                                  <v-btn round class="mt-1 button fixcolors" dark large @click="resetPassword">Send Request</v-btn>
f0281dd43   Neeraj Sharma   add run api of re...
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
                                </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...
128
              color="primary"
f0281dd43   Neeraj Sharma   add run api of re...
129
130
131
132
133
134
135
136
137
138
139
140
141
              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...
142
     <v-footer class="pa-4 fixcolors">
93a68cfa1   Jatinder Singh   first commit
143
    </v-footer>
f0281dd43   Neeraj Sharma   add run api of re...
144
   </v-app>
93a68cfa1   Jatinder Singh   first commit
145
  </template>
f0281dd43   Neeraj Sharma   add run api of re...
146

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