Koha/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/AgreementsFormConfirmDelete.vue
Jonathan Druart daeccd0b8c
Bug 32925: Use a new state for this message
The previous patch didn't work, there is a validation step that make the
form non-accessible after it's greyed out.

This patch is using a new state is_submitting, like the other messages.

Signed-off-by: Matt Blenkinsop <matt.blenkinsop@ptfs-europe.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2023-02-27 11:14:10 -03:00

77 lines
2.3 KiB
Vue

<template>
<div v-if="!initialized">{{ $__("Loading") }}</div>
<div v-else id="agreements_confirm_delete">
<h2>{{ $__("Delete agreement") }}</h2>
<div>
<form @submit="onSubmit($event)">
<fieldset class="rows">
<ol>
<li>
{{ $__("Agreement name") }}:
{{ agreement.name }}
</li>
<li>{{ $__("Vendor") }}: {{ agreement.vendor_id }}</li>
<li>
{{ $__("Description") }}:
{{ agreement.description }}
</li>
</ol>
</fieldset>
<fieldset class="action">
<ButtonSubmit :text="$__('Yes, delete')" />
<router-link
to="/cgi-bin/koha/erm/agreements"
role="button"
class="cancel"
>{{ $__("No, do not delete") }}</router-link
>
</fieldset>
</form>
</div>
</div>
</template>
<script>
import { APIClient } from "../../fetch/api-client.js"
import { setMessage } from "../../messages"
import ButtonSubmit from "../ButtonSubmit.vue"
export default {
data() {
return {
agreement: {},
initialized: false,
}
},
beforeRouteEnter(to, from, next) {
next(vm => {
vm.getAgreement(to.params.agreement_id)
})
},
methods: {
async getAgreement(agreement_id) {
const client = APIClient.erm
client.agreements.get(agreement_id).then(data => {
this.agreement = data
this.initialized = true
})
},
onSubmit(e) {
e.preventDefault()
const client = APIClient.erm
client.agreements.delete(this.agreement.agreement_id).then(
success => {
setMessage(this.$__("Agreement deleted"))
this.$router.push("/cgi-bin/koha/erm/agreements")
},
error => {}
)
},
},
components: {
ButtonSubmit,
},
name: "AgreementsFormConfirmDelete",
}
</script>