Blame view

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