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