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

(-)a/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/LicensesFormConfirmDelete.vue (-77 lines)
Lines 1-77 Link Here
1
<template>
2
    <div v-if="!initialized">{{ $__("Loading") }}</div>
3
    <div v-else id="licenses_confirm_delete">
4
        <h2>{{ $__("Delete license") }}</h2>
5
        <div>
6
            <form @submit="onSubmit($event)">
7
                <fieldset class="rows">
8
                    <ol>
9
                        <li>
10
                            {{ $__("License name") }}:
11
                            {{ license.name }}
12
                        </li>
13
                        <li>
14
                            {{ $__("Description") }}:
15
                            {{ license.description }}
16
                        </li>
17
                    </ol>
18
                </fieldset>
19
                <fieldset class="action">
20
                    <input
21
                        type="submit"
22
                        variant="primary"
23
                        :value="$__('Yes, delete')"
24
                    />
25
                    <router-link
26
                        to="/cgi-bin/koha/erm/licenses"
27
                        role="button"
28
                        class="cancel"
29
                        >{{ $__("No, do not delete") }}</router-link
30
                    >
31
                </fieldset>
32
            </form>
33
        </div>
34
    </div>
35
</template>
36
37
<script>
38
import { APIClient } from "../../fetch/api-client.js"
39
import { setMessage } from "../../messages"
40
41
export default {
42
    data() {
43
        return {
44
            license: {},
45
            initialized: false,
46
        }
47
    },
48
    beforeRouteEnter(to, from, next) {
49
        next(vm => {
50
            vm.license = vm.getLicense(to.params.license_id)
51
            vm.initialized = true
52
        })
53
    },
54
    methods: {
55
        async getLicense(license_id) {
56
            const client = APIClient.erm
57
            client.licenses.get(license_id).then(data => {
58
                this.license = data
59
                this.initialized = true
60
            })
61
        },
62
        onSubmit(e) {
63
            e.preventDefault()
64
65
            const client = APIClient.erm
66
            client.licenses.delete(this.license.license_id).then(
67
                success => {
68
                    setMessage(this.$__("License deleted"))
69
                    this.$router.push("/cgi-bin/koha/erm/licenses")
70
                },
71
                error => {}
72
            )
73
        },
74
    },
75
    name: "LicensesFormConfirmDelete",
76
}
77
</script>
(-)a/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/LicensesList.vue (-3 / +37 lines)
Lines 26-31 export default { Link Here
26
        const AVStore = inject("AVStore")
26
        const AVStore = inject("AVStore")
27
        const { get_lib_from_av, map_av_dt_filter } = AVStore
27
        const { get_lib_from_av, map_av_dt_filter } = AVStore
28
28
29
        const { setConfirmationDialog, setMessage } = inject("mainStore")
30
29
        const table_id = "license_list"
31
        const table_id = "license_list"
30
        useDataTable(table_id)
32
        useDataTable(table_id)
31
33
Lines 34-39 export default { Link Here
34
            get_lib_from_av,
36
            get_lib_from_av,
35
            map_av_dt_filter,
37
            map_av_dt_filter,
36
            table_id,
38
            table_id,
39
            setConfirmationDialog,
40
            setMessage,
37
        }
41
        }
38
    },
42
    },
39
    data: function () {
43
    data: function () {
Lines 64-71 export default { Link Here
64
        edit_license: function (license_id) {
68
        edit_license: function (license_id) {
65
            this.$router.push("/cgi-bin/koha/erm/licenses/edit/" + license_id)
69
            this.$router.push("/cgi-bin/koha/erm/licenses/edit/" + license_id)
66
        },
70
        },
67
        delete_license: function (license_id) {
71
        delete_license: function (license_id, license_name) {
68
            this.$router.push("/cgi-bin/koha/erm/licenses/delete/" + license_id)
72
            this.setConfirmationDialog(
73
                {
74
                    title: this.$__(
75
                        "Are you sure you want to remove this license?"
76
                    ),
77
                    message: license_name,
78
                    accept_label: this.$__("Yes, delete"),
79
                    cancel_label: this.$__("No, do not delete"),
80
                },
81
                () => {
82
                    const client = APIClient.erm
83
                    client.licenses.delete(license_id).then(
84
                        success => {
85
                            this.setMessage(
86
                                this.$__("License %s deleted").format(
87
                                    license_name
88
                                )
89
                            )
90
                            $("#" + this.table_id)
91
                                .DataTable()
92
                                .ajax.url("/api/v1/erm/licenses")
93
                                .draw()
94
                        },
95
                        error => {}
96
                    )
97
                }
98
            )
69
        },
99
        },
70
        build_datatable: function () {
100
        build_datatable: function () {
71
            let show_license = this.show_license
101
            let show_license = this.show_license
Lines 203-208 export default { Link Here
203
                            function (index, e) {
233
                            function (index, e) {
204
                                let tr = $(this).parent().parent()
234
                                let tr = $(this).parent().parent()
205
                                let license_id = api.row(tr).data().license_id
235
                                let license_id = api.row(tr).data().license_id
236
                                let license_name = api.row(tr).data().name
206
                                let editButton = createVNode(
237
                                let editButton = createVNode(
207
                                    "a",
238
                                    "a",
208
                                    {
239
                                    {
Lines 227-233 export default { Link Here
227
                                        class: "btn btn-default btn-xs",
258
                                        class: "btn btn-default btn-xs",
228
                                        role: "button",
259
                                        role: "button",
229
                                        onClick: () => {
260
                                        onClick: () => {
230
                                            delete_license(license_id)
261
                                            delete_license(
262
                                                license_id,
263
                                                license_name
264
                                            )
231
                                        },
265
                                        },
232
                                    },
266
                                    },
233
                                    [
267
                                    [
(-)a/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/LicensesShow.vue (-4 / +33 lines)
Lines 9-19 Link Here
9
                    :title="$__('Edit')"
9
                    :title="$__('Edit')"
10
                    ><i class="fa fa-pencil"></i
10
                    ><i class="fa fa-pencil"></i
11
                ></router-link>
11
                ></router-link>
12
                <router-link
12
                <a @click="delete_license(license.license_id, license.name)"
13
                    :to="`/cgi-bin/koha/erm/licenses/delete/${license.license_id}`"
14
                    :title="$__('Delete')"
15
                    ><i class="fa fa-trash"></i
13
                    ><i class="fa fa-trash"></i
16
                ></router-link>
14
                ></a>
17
            </span>
15
            </span>
18
        </h2>
16
        </h2>
19
        <div>
17
        <div>
Lines 152-157 export default { Link Here
152
        const format_date = $date
150
        const format_date = $date
153
        const patron_to_html = $patron_to_html
151
        const patron_to_html = $patron_to_html
154
152
153
        const { setConfirmationDialog, setMessage } = inject("mainStore")
154
155
        const AVStore = inject("AVStore")
155
        const AVStore = inject("AVStore")
156
        const { get_lib_from_av } = AVStore
156
        const { get_lib_from_av } = AVStore
157
157
Lines 159-164 export default { Link Here
159
            format_date,
159
            format_date,
160
            patron_to_html,
160
            patron_to_html,
161
            get_lib_from_av,
161
            get_lib_from_av,
162
            setConfirmationDialog,
163
            setMessage,
162
        }
164
        }
163
    },
165
    },
164
    data() {
166
    data() {
Lines 194-199 export default { Link Here
194
                error => {}
196
                error => {}
195
            )
197
            )
196
        },
198
        },
199
        delete_license: function (license_id, license_name) {
200
            this.setConfirmationDialog(
201
                {
202
                    title: this.$__(
203
                        "Are you sure you want to remove this license?"
204
                    ),
205
                    message: license_name,
206
                    accept_label: this.$__("Yes, delete"),
207
                    cancel_label: this.$__("No, do not delete"),
208
                },
209
                () => {
210
                    const client = APIClient.erm
211
                    client.licenses.delete(license_id).then(
212
                        success => {
213
                            this.setMessage(
214
                                this.$__("License %s deleted").format(
215
                                    license_name
216
                                )
217
                            )
218
                            this.$router.push("/cgi-bin/koha/erm/licenses")
219
                        },
220
                        error => {}
221
                    )
222
                }
223
            )
224
        },
197
    },
225
    },
198
    components: {},
226
    components: {},
199
    name: "LicensesShow",
227
    name: "LicensesShow",
Lines 203-208 export default { Link Here
203
.action_links a {
231
.action_links a {
204
    padding-left: 0.2em;
232
    padding-left: 0.2em;
205
    font-size: 11px;
233
    font-size: 11px;
234
    cursor: pointer;
206
}
235
}
207
#license_documents ul {
236
#license_documents ul {
208
    padding-left: 0px;
237
    padding-left: 0px;
(-)a/koha-tmpl/intranet-tmpl/prog/js/vue/routes/erm.js (-13 lines)
Lines 19-25 import EHoldingsEBSCOTitlesShow from "../components/ERM/EHoldingsEBSCOTitlesShow Link Here
19
import LicensesList from "../components/ERM/LicensesList.vue";
19
import LicensesList from "../components/ERM/LicensesList.vue";
20
import LicensesShow from "../components/ERM/LicensesShow.vue";
20
import LicensesShow from "../components/ERM/LicensesShow.vue";
21
import LicensesFormAdd from "../components/ERM/LicensesFormAdd.vue";
21
import LicensesFormAdd from "../components/ERM/LicensesFormAdd.vue";
22
import LicensesFormConfirmDelete from "../components/ERM/LicensesFormConfirmDelete.vue";
23
22
24
const breadcrumbs = {
23
const breadcrumbs = {
25
    home: {
24
    home: {
Lines 470-486 export const routes = [ Link Here
470
                        ),
469
                        ),
471
                },
470
                },
472
            },
471
            },
473
            {
474
                path: "delete/:license_id",
475
                component: LicensesFormConfirmDelete,
476
                meta: {
477
                    breadcrumb: () =>
478
                        build_breadcrumb(
479
                            breadcrumb_paths.licenses,
480
                            "Delete license" // $t("Delete license")
481
                        ),
482
                },
483
            },
484
            {
472
            {
485
                path: "add",
473
                path: "add",
486
                component: LicensesFormAdd,
474
                component: LicensesFormAdd,
487
- 

Return to bug 32991