Shyim
7 years ago
7 changed files with 133 additions and 4 deletions
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -0,0 +1,80 @@ |
|||||||
|
<template> |
||||||
|
<div class="content"> |
||||||
|
<div class="container-fluid"> |
||||||
|
<card> |
||||||
|
<h4>Change Password</h4> |
||||||
|
|
||||||
|
<form @submit="changePassword"> |
||||||
|
<fg-input label="Current Password" v-model="resetPassword.currentPassword" type="password" required="required"></fg-input> |
||||||
|
<fg-input label="New Password" v-model="resetPassword.newPassword" pattern=".{6,}" type="password" required="required"></fg-input> |
||||||
|
<small>Passwords must have at minimum 6 characters</small> |
||||||
|
<fg-input label="New Password Repeat" v-model="resetPassword.newPassword2" pattern=".{6,}" type="password" required="required"></fg-input> |
||||||
|
|
||||||
|
<button class="btn btn-primary">Change Password</button> |
||||||
|
</form> |
||||||
|
</card> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
</template> |
||||||
|
<script> |
||||||
|
import Card from "../UIComponents/Cards/Card"; |
||||||
|
|
||||||
|
export default { |
||||||
|
components: { |
||||||
|
Card |
||||||
|
}, |
||||||
|
data() { |
||||||
|
return { |
||||||
|
resetPassword: { |
||||||
|
currentPassword: '', |
||||||
|
newPassword: '', |
||||||
|
newPassword2: '', |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
methods: { |
||||||
|
changePassword: function (e) { |
||||||
|
e.preventDefault(); |
||||||
|
|
||||||
|
if (this.resetPassword.newPassword !== this.resetPassword.newPassword2) { |
||||||
|
const notification = { |
||||||
|
template: `<span>New Passwords are not equal</span>` |
||||||
|
}; |
||||||
|
|
||||||
|
this.$notify( |
||||||
|
{ |
||||||
|
component: notification, |
||||||
|
icon: 'fa fa-exclamation-triangle', |
||||||
|
horizontalAlign: 'right', |
||||||
|
verticalAlign: 'top', |
||||||
|
type: 'danger' |
||||||
|
}); |
||||||
|
} else { |
||||||
|
this.axios.post('/auth/changePassword', {currentPassword: this.resetPassword.currentPassword, newPassword: this.resetPassword.newPassword}).then(response => { |
||||||
|
this.$auth.logout({ |
||||||
|
redirect: {name: 'login'} |
||||||
|
}) |
||||||
|
}).catch(error => { |
||||||
|
const notification = { |
||||||
|
template: `<span>${error.response.data.message}</span>` |
||||||
|
}; |
||||||
|
|
||||||
|
this.$notify( |
||||||
|
{ |
||||||
|
component: notification, |
||||||
|
icon: 'fa fa-exclamation-triangle', |
||||||
|
horizontalAlign: 'right', |
||||||
|
verticalAlign: 'top', |
||||||
|
type: 'danger' |
||||||
|
}); |
||||||
|
}) |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
</script> |
||||||
|
<style> |
||||||
|
h4 { |
||||||
|
margin-top: 0; |
||||||
|
} |
||||||
|
</style> |
Loading…
Reference in new issue