View | Details | Raw Unified | Return to bug 32991
Collapse All | Expand All

(-)a/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/EHoldingsLocalTitlesFormConfirmDelete.vue (-76 lines)
Lines 1-76 Link Here
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
                            {{ title.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 { APIClient } from "../../fetch/api-client.js"
35
import { setMessage } from "../../messages"
36
37
export default {
38
    data() {
39
        return {
40
            title: {},
41
            initialized: false,
42
        }
43
    },
44
    beforeRouteEnter(to, from, next) {
45
        next(vm => {
46
            vm.getTitle(to.params.title_id)
47
        })
48
    },
49
    methods: {
50
        getTitle(title_id) {
51
            const client = APIClient.erm
52
            client.localTitles.get(title_id).then(
53
                title => {
54
                    this.title = title
55
                    this.initialized = true
56
                },
57
                error => {}
58
            )
59
        },
60
        onSubmit(e) {
61
            e.preventDefault()
62
            const client = APIClient.erm
63
            client.localTitles.delete(this.title.title_id).then(
64
                success => {
65
                    setMessage(this.$__("Title deleted"))
66
                    this.$router.push(
67
                        "/cgi-bin/koha/erm/eholdings/local/titles"
68
                    )
69
                },
70
                error => {}
71
            )
72
        },
73
    },
74
    name: "EHoldingsLocalTitlesFormConfirmDelete",
75
}
76
</script>
(-)a/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/EHoldingsLocalTitlesList.vue (-4 / +38 lines)
Lines 30-35 export default { Link Here
30
        const { av_title_publication_types } = storeToRefs(AVStore)
30
        const { av_title_publication_types } = storeToRefs(AVStore)
31
        const { get_lib_from_av, map_av_dt_filter } = AVStore
31
        const { get_lib_from_av, map_av_dt_filter } = AVStore
32
32
33
        const { setConfirmationDialog, setMessage } = inject("mainStore")
34
33
        const table_id = "title_list"
35
        const table_id = "title_list"
34
        useDataTable(table_id)
36
        useDataTable(table_id)
35
37
Lines 38-43 export default { Link Here
38
            get_lib_from_av,
40
            get_lib_from_av,
39
            map_av_dt_filter,
41
            map_av_dt_filter,
40
            table_id,
42
            table_id,
43
            setConfirmationDialog,
44
            setMessage,
41
        }
45
        }
42
    },
46
    },
43
    data: function () {
47
    data: function () {
Lines 77-85 export default { Link Here
77
                "/cgi-bin/koha/erm/eholdings/local/titles/edit/" + title_id
81
                "/cgi-bin/koha/erm/eholdings/local/titles/edit/" + title_id
78
            )
82
            )
79
        },
83
        },
80
        delete_title: function (title_id) {
84
        delete_title: function (title_id, title_publication_title) {
81
            this.$router.push(
85
            this.setConfirmationDialog(
82
                "/cgi-bin/koha/erm/eholdings/local/titles/delete/" + title_id
86
                {
87
                    title: this.$__(
88
                        "Are you sure you want to remove this title?"
89
                    ),
90
                    message: title_publication_title,
91
                    accept_label: this.$__("Yes, delete"),
92
                    cancel_label: this.$__("No, do not delete"),
93
                },
94
                () => {
95
                    const client = APIClient.erm
96
                    client.localTitles.delete(title_id).then(
97
                        success => {
98
                            this.setMessage(
99
                                this.$__("Local title %s deleted").format(
100
                                    title_publication_title
101
                                )
102
                            )
103
                            $("#" + this.table_id)
104
                                .DataTable()
105
                                .ajax.url("/api/v1/erm/eholdings/local/titles")
106
                                .draw()
107
                        },
108
                        error => {}
109
                    )
110
                }
83
            )
111
            )
84
        },
112
        },
85
        build_datatable: function () {
113
        build_datatable: function () {
Lines 193-198 export default { Link Here
193
                            function (index, e) {
221
                            function (index, e) {
194
                                let tr = $(this).parent().parent()
222
                                let tr = $(this).parent().parent()
195
                                let title_id = api.row(tr).data().title_id
223
                                let title_id = api.row(tr).data().title_id
224
                                let title_publication_title = api
225
                                    .row(tr)
226
                                    .data().publication_title
196
                                let editButton = createVNode(
227
                                let editButton = createVNode(
197
                                    "a",
228
                                    "a",
198
                                    {
229
                                    {
Lines 217-223 export default { Link Here
217
                                        class: "btn btn-default btn-xs",
248
                                        class: "btn btn-default btn-xs",
218
                                        role: "button",
249
                                        role: "button",
219
                                        onClick: () => {
250
                                        onClick: () => {
220
                                            delete_title(title_id)
251
                                            delete_title(
252
                                                title_id,
253
                                                title_publication_title
254
                                            )
221
                                        },
255
                                        },
222
                                    },
256
                                    },
223
                                    [
257
                                    [
(-)a/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/EHoldingsLocalTitlesShow.vue (-4 / +37 lines)
Lines 10-20 Link Here
10
                    ><i class="fa fa-pencil"></i
10
                    ><i class="fa fa-pencil"></i
11
                ></router-link>
11
                ></router-link>
12
12
13
                <router-link
13
                <a
14
                    :to="`/cgi-bin/koha/erm/eholdings/local/titles/delete/${title.title_id}`"
14
                    @click="
15
                    :title="$__('Delete')"
15
                        delete_title(title.title_id, title.publication_title)
16
                    "
16
                    ><i class="fa fa-trash"></i
17
                    ><i class="fa fa-trash"></i
17
                ></router-link>
18
                ></a>
18
            </span>
19
            </span>
19
        </h2>
20
        </h2>
20
        <div>
21
        <div>
Lines 264-272 export default { Link Here
264
    setup() {
265
    setup() {
265
        const AVStore = inject("AVStore")
266
        const AVStore = inject("AVStore")
266
        const { get_lib_from_av } = AVStore
267
        const { get_lib_from_av } = AVStore
268
        const { setConfirmationDialog, setMessage } = inject("mainStore")
267
269
268
        return {
270
        return {
269
            get_lib_from_av,
271
            get_lib_from_av,
272
            setConfirmationDialog,
273
            setMessage,
270
        }
274
        }
271
    },
275
    },
272
    data() {
276
    data() {
Lines 322-327 export default { Link Here
322
                error => {}
326
                error => {}
323
            )
327
            )
324
        },
328
        },
329
        delete_title: function (title_id, title_publication_title) {
330
            this.setConfirmationDialog(
331
                {
332
                    title: this.$__(
333
                        "Are you sure you want to remove this title?"
334
                    ),
335
                    message: title_publication_title,
336
                    accept_label: this.$__("Yes, delete"),
337
                    cancel_label: this.$__("No, do not delete"),
338
                },
339
                () => {
340
                    const client = APIClient.erm
341
                    client.localTitles.delete(title_id).then(
342
                        success => {
343
                            this.setMessage(
344
                                this.$__("Local title %s deleted").format(
345
                                    title_publication_title
346
                                )
347
                            )
348
                            this.$router.push(
349
                                "/cgi-bin/koha/erm/eholdings/local/titles"
350
                            )
351
                        },
352
                        error => {}
353
                    )
354
                }
355
            )
356
        },
325
    },
357
    },
326
    components: {
358
    components: {
327
        EHoldingsTitlePackagesList,
359
        EHoldingsTitlePackagesList,
Lines 333-338 export default { Link Here
333
.action_links a {
365
.action_links a {
334
    padding-left: 0.2em;
366
    padding-left: 0.2em;
335
    font-size: 11px;
367
    font-size: 11px;
368
    cursor: pointer;
336
}
369
}
337
fieldset.rows label {
370
fieldset.rows label {
338
    width: 25rem;
371
    width: 25rem;
(-)a/koha-tmpl/intranet-tmpl/prog/js/vue/routes/erm.js (-18 lines)
Lines 4-10 import AgreementsShow from "../components/ERM/AgreementsShow.vue"; Link Here
4
import AgreementsFormAdd from "../components/ERM/AgreementsFormAdd.vue";
4
import AgreementsFormAdd from "../components/ERM/AgreementsFormAdd.vue";
5
import AgreementsFormConfirmDelete from "../components/ERM/AgreementsFormConfirmDelete.vue";
5
import AgreementsFormConfirmDelete from "../components/ERM/AgreementsFormConfirmDelete.vue";
6
import EHoldingsLocalPackagesFormAdd from "../components/ERM/EHoldingsLocalPackagesFormAdd.vue";
6
import EHoldingsLocalPackagesFormAdd from "../components/ERM/EHoldingsLocalPackagesFormAdd.vue";
7
import EHoldingsLocalTitlesFormConfirmDelete from "../components/ERM/EHoldingsLocalTitlesFormConfirmDelete.vue";
8
import EHoldingsLocalTitlesFormAdd from "../components/ERM/EHoldingsLocalTitlesFormAdd.vue";
7
import EHoldingsLocalTitlesFormAdd from "../components/ERM/EHoldingsLocalTitlesFormAdd.vue";
9
import EHoldingsLocalTitlesFormImport from "../components/ERM/EHoldingsLocalTitlesFormImport.vue";
8
import EHoldingsLocalTitlesFormImport from "../components/ERM/EHoldingsLocalTitlesFormImport.vue";
10
import EHoldingsLocalPackagesList from "../components/ERM/EHoldingsLocalPackagesList.vue";
9
import EHoldingsLocalPackagesList from "../components/ERM/EHoldingsLocalPackagesList.vue";
Lines 314-335 export const routes = [ Link Here
314
                                        ),
313
                                        ),
315
                                },
314
                                },
316
                            },
315
                            },
317
                            {
318
                                path: "delete/:title_id",
319
                                component:
320
                                    EHoldingsLocalTitlesFormConfirmDelete,
321
                                meta: {
322
                                    breadcrumb: () =>
323
                                        build_breadcrumb(
324
                                            [
325
                                                breadcrumb_paths.eholdings_local,
326
                                                breadcrumbs.eholdings.local
327
                                                    .titles,
328
                                            ],
329
                                            "Delete title" // $t("Delete title")
330
                                        ),
331
                                },
332
                            },
333
                            {
316
                            {
334
                                path: "add",
317
                                path: "add",
335
                                component: EHoldingsLocalTitlesFormAdd,
318
                                component: EHoldingsLocalTitlesFormAdd,
336
- 

Return to bug 32991