edit password functionality and page
This commit is contained in:
8
example copy.env
Normal file
8
example copy.env
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
API = 'http://0.0.0.0:8000/'
|
||||||
|
API_V1 = '/api/v1/'
|
||||||
|
BASE_URL= $API$API_V1
|
||||||
|
GOOGLE_CLIENT_ID='1076928279923-s6hdbpcpbeaeqnact5t5kmktrkaipndq.apps.googleusercontent.com'
|
||||||
|
FACEBOOK_ID='751687992155393'
|
||||||
|
|
||||||
|
GOOGLE_MAPS_API_KEY = 'AIzaSyDX_8JveVk4S5cnDcMHijmOO9HGj5OJHmQ'
|
||||||
|
GOOGLE_ANALYTICS_ID = 'G-QT1WE1L619'
|
||||||
@@ -9,18 +9,21 @@
|
|||||||
type="text"
|
type="text"
|
||||||
label-text="Contraseña actual"
|
label-text="Contraseña actual"
|
||||||
required
|
required
|
||||||
|
@input="form.old_password = $event"
|
||||||
/>
|
/>
|
||||||
<FormInput
|
<FormInput
|
||||||
v-model="form.password"
|
v-model="form.password"
|
||||||
type="password"
|
type="password"
|
||||||
label-text="Nueva contraseña"
|
label-text="Nueva contraseña"
|
||||||
required
|
required
|
||||||
|
@input="form.password = $event"
|
||||||
/>
|
/>
|
||||||
<FormInput
|
<FormInput
|
||||||
v-model="form.password2"
|
v-model="form.password2"
|
||||||
type="password"
|
type="password"
|
||||||
label-text="Nueva contraseña"
|
label-text="Nueva contraseña"
|
||||||
required
|
required
|
||||||
|
@input="form.password2 = $event"
|
||||||
/>
|
/>
|
||||||
<small v-if="error" class="error">{{ error }}</small>
|
<small v-if="error" class="error">{{ error }}</small>
|
||||||
<small v-if="success" class="success">{{ success }}</small>
|
<small v-if="success" class="success">{{ success }}</small>
|
||||||
@@ -28,12 +31,15 @@
|
|||||||
<SubmitButton text="Actualizar" image-url="" />
|
<SubmitButton text="Actualizar" image-url="" />
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
|
{{ form }}
|
||||||
</BCol>
|
</BCol>
|
||||||
</BRow>
|
</BRow>
|
||||||
</BContainer>
|
</BContainer>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
|
import { mapState } from 'pinia'
|
||||||
|
import { useAuthStore } from '@/stores/auth'
|
||||||
export default {
|
export default {
|
||||||
setup() {
|
setup() {
|
||||||
definePageMeta({
|
definePageMeta({
|
||||||
@@ -53,18 +59,29 @@ export default {
|
|||||||
success: null,
|
success: null,
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
computed: {
|
||||||
|
...mapState(useAuthStore, ['id', 'access']),
|
||||||
|
},
|
||||||
methods: {
|
methods: {
|
||||||
async submitUser() {
|
async submitUser() {
|
||||||
this.error = null
|
this.error = null
|
||||||
this.success = null
|
this.success = null
|
||||||
if (this.form.password === this.form.password2) {
|
if (this.form.password === this.form.password2) {
|
||||||
try {
|
try {
|
||||||
await this.$api.put(
|
const config = useRuntimeConfig()
|
||||||
`/user/change_password/${this.$store.state.auth.id}/`,
|
const userId = this.id
|
||||||
this.form
|
const access = this.access
|
||||||
)
|
await $fetch(`/user/change_password/${userId}/`, {
|
||||||
|
baseURL: config.public.baseURL,
|
||||||
|
method: 'PUT',
|
||||||
|
body: this.form,
|
||||||
|
headers: {
|
||||||
|
Authorization: `Bearer ${access}`
|
||||||
|
}
|
||||||
|
})
|
||||||
this.success = 'Contraseña cambiada correctamente'
|
this.success = 'Contraseña cambiada correctamente'
|
||||||
} catch {
|
} catch (error) {
|
||||||
|
console.error('Error cambiando la contraseña:', error)
|
||||||
this.error = 'La contraseña actual no es correcta'
|
this.error = 'La contraseña actual no es correcta'
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
@@ -58,12 +58,12 @@ export default {
|
|||||||
async fetch() {
|
async fetch() {
|
||||||
const config = useRuntimeConfig()
|
const config = useRuntimeConfig()
|
||||||
try {
|
try {
|
||||||
const response = await $fetch(`/my_user/`, {
|
await $fetch(`/my_user/`, {
|
||||||
baseURL: config.public.baseURL,
|
baseURL: config.public.baseURL,
|
||||||
method: 'GET',
|
method: 'GET',
|
||||||
body: JSON.stringify(this.form),
|
body: JSON.stringify(this.form),
|
||||||
})
|
})
|
||||||
console.log('User data fetched successfully:', response)
|
//console.log('User data fetched successfully:', response)
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
console.error('Error fetching user data:', err)
|
console.error('Error fetching user data:', err)
|
||||||
this.error = true
|
this.error = true
|
||||||
@@ -79,7 +79,6 @@ export default {
|
|||||||
methods: {
|
methods: {
|
||||||
...mapActions( useAuthStore, ['setUser']),
|
...mapActions( useAuthStore, ['setUser']),
|
||||||
async submitUser() {
|
async submitUser() {
|
||||||
// TODO: configurar primero el estar logeado (estados, getters) para que peuda coger esa info y actualizarla
|
|
||||||
this.error = false
|
this.error = false
|
||||||
const config = useRuntimeConfig()
|
const config = useRuntimeConfig()
|
||||||
try {
|
try {
|
||||||
|
|||||||
Reference in New Issue
Block a user