Bug 32030: Pretty vue files
[koha.git] / koha-tmpl / intranet-tmpl / prog / js / vue / components / ERM / AgreementsFormConfirmDelete.vue
1 <template>
2     <div v-if="!initialized">{{ $__("Loading") }}</div>
3     <div v-else id="agreements_confirm_delete">
4         <h2>{{ $__("Delete agreement") }}</h2>
5         <div>
6             <form @submit="onSubmit($event)">
7                 <fieldset class="rows">
8                     <ol>
9                         <li>
10                             {{ $__("Agreement name") }}:
11                             {{ agreement.name }}
12                         </li>
13                         <li>{{ $__("Vendor") }}: {{ agreement.vendor_id }}</li>
14                         <li>
15                             {{ $__("Description") }}:
16                             {{ agreement.description }}
17                         </li>
18                     </ol>
19                 </fieldset>
20                 <fieldset class="action">
21                     <input
22                         type="submit"
23                         variant="primary"
24                         :value="$__('Yes, delete')"
25                     />
26                     <router-link
27                         to="/cgi-bin/koha/erm/agreements"
28                         role="button"
29                         class="cancel"
30                         >{{ $__("No, do not delete") }}</router-link
31                     >
32                 </fieldset>
33             </form>
34         </div>
35     </div>
36 </template>
37
38 <script>
39 import { fetchAgreement } from "../../fetch"
40 import { setMessage, setError } from "../../messages"
41
42 export default {
43     data() {
44         return {
45             agreement: {},
46             initialized: false,
47         }
48     },
49     beforeRouteEnter(to, from, next) {
50         next(vm => {
51             vm.getAgreement(to.params.agreement_id)
52         })
53     },
54     methods: {
55         async getAgreement(agreement_id) {
56             const agreement = await fetchAgreement(agreement_id)
57             this.agreement = agreement
58             this.initialized = true
59         },
60         onSubmit(e) {
61             e.preventDefault()
62
63             let apiUrl = "/api/v1/erm/agreements/" + this.agreement.agreement_id
64
65             const options = {
66                 method: "DELETE",
67                 headers: {
68                     "Content-Type": "application/json;charset=utf-8",
69                 },
70             }
71
72             fetch(apiUrl, options)
73                 .then(response => {
74                     if (response.status == 204) {
75                         setMessage(this.$__("Agreement deleted"))
76                         this.$router.push("/cgi-bin/koha/erm/agreements")
77                     } else {
78                         setError(response.message || response.statusText)
79                     }
80                 })
81                 .catch(error => {
82                     setError(error)
83                 })
84         },
85     },
86     name: "AgreementsFormConfirmDelete",
87 }
88 </script>