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

(-)a/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/AgreementsFormConfirmDelete.vue (-77 lines)
Lines 1-77 Link Here
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
                    <ButtonSubmit :text="$__('Yes, delete')" />
22
                    <router-link
23
                        to="/cgi-bin/koha/erm/agreements"
24
                        role="button"
25
                        class="cancel"
26
                        >{{ $__("No, do not delete") }}</router-link
27
                    >
28
                </fieldset>
29
            </form>
30
        </div>
31
    </div>
32
</template>
33
34
<script>
35
import { APIClient } from "../../fetch/api-client.js"
36
import { setMessage } from "../../messages"
37
import ButtonSubmit from "../ButtonSubmit.vue"
38
39
export default {
40
    data() {
41
        return {
42
            agreement: {},
43
            initialized: false,
44
        }
45
    },
46
    beforeRouteEnter(to, from, next) {
47
        next(vm => {
48
            vm.getAgreement(to.params.agreement_id)
49
        })
50
    },
51
    methods: {
52
        async getAgreement(agreement_id) {
53
            const client = APIClient.erm
54
            client.agreements.get(agreement_id).then(data => {
55
                this.agreement = data
56
                this.initialized = true
57
            })
58
        },
59
        onSubmit(e) {
60
            e.preventDefault()
61
62
            const client = APIClient.erm
63
            client.agreements.delete(this.agreement.agreement_id).then(
64
                success => {
65
                    setMessage(this.$__("Agreement deleted"))
66
                    this.$router.push("/cgi-bin/koha/erm/agreements")
67
                },
68
                error => {}
69
            )
70
        },
71
    },
72
    components: {
73
        ButtonSubmit,
74
    },
75
    name: "AgreementsFormConfirmDelete",
76
}
77
</script>
(-)a/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/AgreementsList.vue (-7 / +22 lines)
Lines 49-55 export default { Link Here
49
        const AVStore = inject("AVStore")
49
        const AVStore = inject("AVStore")
50
        const { get_lib_from_av, map_av_dt_filter } = AVStore
50
        const { get_lib_from_av, map_av_dt_filter } = AVStore
51
51
52
        const { setConfirmation, setMessage } = inject("mainStore")
52
        const { setConfirmationDialog, setMessage } = inject("mainStore")
53
53
54
        const table_id = "agreement_list"
54
        const table_id = "agreement_list"
55
        useDataTable(table_id)
55
        useDataTable(table_id)
Lines 59-65 export default { Link Here
59
            get_lib_from_av,
59
            get_lib_from_av,
60
            map_av_dt_filter,
60
            map_av_dt_filter,
61
            table_id,
61
            table_id,
62
            setConfirmation,
62
            setConfirmationDialog,
63
            setMessage,
63
            setMessage,
64
        }
64
        }
65
    },
65
    },
Lines 114-127 export default { Link Here
114
                "/cgi-bin/koha/erm/agreements/edit/" + agreement_id
114
                "/cgi-bin/koha/erm/agreements/edit/" + agreement_id
115
            )
115
            )
116
        },
116
        },
117
        delete_agreement: function (agreement_id) {
117
        delete_agreement: function (agreement_id, agreement_name) {
118
            this.setConfirmation(
118
            this.setConfirmationDialog(
119
                this.$__("Are you sure you want to remove this agreement?"),
119
                {
120
                    title: this.$__(
121
                        "Are you sure you want to remove this agreement?"
122
                    ),
123
                    message: agreement_name,
124
                    accept_label: this.$__("Yes, delete"),
125
                    cancel_label: this.$__("No, do not delete"),
126
                },
120
                () => {
127
                () => {
121
                    const client = APIClient.erm
128
                    const client = APIClient.erm
122
                    client.agreements.delete(agreement_id).then(
129
                    client.agreements.delete(agreement_id).then(
123
                        success => {
130
                        success => {
124
                            this.setMessage(this.$__("Agreement deleted"))
131
                            this.setMessage(
132
                                this.$__("Agreement %s deleted").format(
133
                                    agreement_name
134
                                )
135
                            )
125
                            this.refresh_table()
136
                            this.refresh_table()
126
                        },
137
                        },
127
                        error => {}
138
                        error => {}
Lines 314-319 export default { Link Here
314
                                    let agreement_id = api
325
                                    let agreement_id = api
315
                                        .row(tr)
326
                                        .row(tr)
316
                                        .data().agreement_id
327
                                        .data().agreement_id
328
                                    let agreement_name = api.row(tr).data().name
317
                                    let editButton = createVNode(
329
                                    let editButton = createVNode(
318
                                        "a",
330
                                        "a",
319
                                        {
331
                                        {
Lines 338-344 export default { Link Here
338
                                            class: "btn btn-default btn-xs",
350
                                            class: "btn btn-default btn-xs",
339
                                            role: "button",
351
                                            role: "button",
340
                                            onClick: () => {
352
                                            onClick: () => {
341
                                                delete_agreement(agreement_id)
353
                                                delete_agreement(
354
                                                    agreement_id,
355
                                                    agreement_name
356
                                                )
342
                                            },
357
                                            },
343
                                        },
358
                                        },
344
                                        [
359
                                        [
(-)a/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/AgreementsShow.vue (-5 / +36 lines)
Lines 9-20 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
12
                <a
13
                <router-link
13
                    @click="
14
                    :to="`/cgi-bin/koha/erm/agreements/delete/${agreement.agreement_id}`"
14
                        delete_agreement(agreement.agreement_id, agreement.name)
15
                    :title="$__('Delete')"
15
                    "
16
                    ><i class="fa fa-trash"></i
16
                    ><i class="fa fa-trash"></i
17
                ></router-link>
17
                ></a>
18
            </span>
18
            </span>
19
        </h2>
19
        </h2>
20
        <div>
20
        <div>
Lines 307-312 export default { Link Here
307
        const format_date = $date
307
        const format_date = $date
308
        const patron_to_html = $patron_to_html
308
        const patron_to_html = $patron_to_html
309
309
310
        const { setConfirmationDialog, setMessage } = inject("mainStore")
311
310
        const AVStore = inject("AVStore")
312
        const AVStore = inject("AVStore")
311
        const { get_lib_from_av } = AVStore
313
        const { get_lib_from_av } = AVStore
312
314
Lines 314-319 export default { Link Here
314
            format_date,
316
            format_date,
315
            patron_to_html,
317
            patron_to_html,
316
            get_lib_from_av,
318
            get_lib_from_av,
319
            setConfirmationDialog,
320
            setMessage,
317
        }
321
        }
318
    },
322
    },
319
    data() {
323
    data() {
Lines 355-360 export default { Link Here
355
                error => {}
359
                error => {}
356
            )
360
            )
357
        },
361
        },
362
        delete_agreement: function (agreement_id, agreement_name) {
363
            this.setConfirmationDialog(
364
                {
365
                    title: this.$__(
366
                        "Are you sure you want to remove this agreement?"
367
                    ),
368
                    message: agreement_name,
369
                    accept_label: this.$__("Yes, delete"),
370
                    cancel_label: this.$__("No, do not delete"),
371
                },
372
                () => {
373
                    const client = APIClient.erm
374
                    client.agreements.delete(agreement_id).then(
375
                        success => {
376
                            this.setMessage(
377
                                this.$__("Agreement %s deleted").format(
378
                                    agreement_name
379
                                )
380
                            )
381
                            this.$router.push("/cgi-bin/koha/erm/agreements")
382
                        },
383
                        error => {}
384
                    )
385
                }
386
            )
387
        },
358
    },
388
    },
359
    name: "AgreementsShow",
389
    name: "AgreementsShow",
360
}
390
}
Lines 363-368 export default { Link Here
363
.action_links a {
393
.action_links a {
364
    padding-left: 0.2em;
394
    padding-left: 0.2em;
365
    font-size: 11px;
395
    font-size: 11px;
396
    cursor: pointer;
366
}
397
}
367
#agreement_documents ul {
398
#agreement_documents ul {
368
    padding-left: 0px;
399
    padding-left: 0px;
(-)a/koha-tmpl/intranet-tmpl/prog/js/vue/routes/erm.js (-13 lines)
Lines 2-8 import Home from "../components/ERM/Home.vue"; Link Here
2
import AgreementsList from "../components/ERM/AgreementsList.vue";
2
import AgreementsList from "../components/ERM/AgreementsList.vue";
3
import AgreementsShow from "../components/ERM/AgreementsShow.vue";
3
import AgreementsShow from "../components/ERM/AgreementsShow.vue";
4
import AgreementsFormAdd from "../components/ERM/AgreementsFormAdd.vue";
4
import AgreementsFormAdd from "../components/ERM/AgreementsFormAdd.vue";
5
import AgreementsFormConfirmDelete from "../components/ERM/AgreementsFormConfirmDelete.vue";
6
import EHoldingsLocalPackagesFormAdd from "../components/ERM/EHoldingsLocalPackagesFormAdd.vue";
5
import EHoldingsLocalPackagesFormAdd from "../components/ERM/EHoldingsLocalPackagesFormAdd.vue";
7
import EHoldingsLocalTitlesFormAdd from "../components/ERM/EHoldingsLocalTitlesFormAdd.vue";
6
import EHoldingsLocalTitlesFormAdd from "../components/ERM/EHoldingsLocalTitlesFormAdd.vue";
8
import EHoldingsLocalTitlesFormImport from "../components/ERM/EHoldingsLocalTitlesFormImport.vue";
7
import EHoldingsLocalTitlesFormImport from "../components/ERM/EHoldingsLocalTitlesFormImport.vue";
Lines 148-164 export const routes = [ Link Here
148
                        ),
147
                        ),
149
                },
148
                },
150
            },
149
            },
151
            {
152
                path: "delete/:agreement_id",
153
                component: AgreementsFormConfirmDelete,
154
                meta: {
155
                    breadcrumb: () =>
156
                        build_breadcrumb(
157
                            breadcrumb_paths.agreements,
158
                            "Delete agreement" // $t("Delete agreement")
159
                        ),
160
                },
161
            },
162
            {
150
            {
163
                path: "add",
151
                path: "add",
164
                component: AgreementsFormAdd,
152
                component: AgreementsFormAdd,
165
- 

Return to bug 32991