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

(-)a/koha-tmpl/intranet-tmpl/prog/js/vue/components/Vendors/VendorList.vue (-45 / +8 lines)
Lines 3-10 Link Here
3
    <div v-else id="vendors_list">
3
    <div v-else id="vendors_list">
4
        <Toolbar>
4
        <Toolbar>
5
            <ToolbarButton
5
            <ToolbarButton
6
                :to="{ name: 'VendorFormAdd' }"
6
                action="add"
7
                icon="plus"
7
                @go-to-add-resource="goToResourceAdd"
8
                :title="$__('New vendor')"
8
                :title="$__('New vendor')"
9
            />
9
            />
10
        </Toolbar>
10
        </Toolbar>
Lines 12-20 Link Here
12
            <KohaTable
12
            <KohaTable
13
                ref="table"
13
                ref="table"
14
                v-bind="tableOptions"
14
                v-bind="tableOptions"
15
                @show="doShow"
15
                @show="goToResourceShow"
16
                @edit="doEdit"
16
                @edit="goToResourceEdit"
17
                @delete="doDelete"
17
                @delete="doResourceDelete"
18
                @select="doSelect"
18
                @select="doSelect"
19
                @receive="doReceive"
19
                @receive="doReceive"
20
            ></KohaTable>
20
            ></KohaTable>
Lines 33-40 import { inject, ref } from "vue" Link Here
33
import { APIClient } from "../../fetch/api-client.js"
33
import { APIClient } from "../../fetch/api-client.js"
34
import { storeToRefs } from "pinia"
34
import { storeToRefs } from "pinia"
35
import KohaTable from "../KohaTable.vue"
35
import KohaTable from "../KohaTable.vue"
36
import VendorResource from "./VendorResource.vue"
36
37
37
export default {
38
export default {
39
    extends: VendorResource,
38
    setup() {
40
    setup() {
39
        const vendorStore = inject("vendorStore")
41
        const vendorStore = inject("vendorStore")
40
        const { vendors } = storeToRefs(vendorStore)
42
        const { vendors } = storeToRefs(vendorStore)
Lines 49-54 export default { Link Here
49
        const { isUserPermitted } = permissionsStore
51
        const { isUserPermitted } = permissionsStore
50
52
51
        return {
53
        return {
54
            ...VendorResource.setup(),
52
            vendors,
55
            vendors,
53
            get_lib_from_av,
56
            get_lib_from_av,
54
            map_av_dt_filter,
57
            map_av_dt_filter,
Lines 130-179 export default { Link Here
130
                error => {}
133
                error => {}
131
            )
134
            )
132
        },
135
        },
133
        doShow({ id }, dt, event) {
134
            event.preventDefault()
135
            this.$router.push({
136
                name: "VendorShow",
137
                params: { vendor_id: id },
138
            })
139
        },
140
        doReceive({ id }, dt, event) {
136
        doReceive({ id }, dt, event) {
141
            event.preventDefault()
137
            event.preventDefault()
142
            window.open(`/cgi-bin/koha/acqui/parcels.pl?booksellerid=${id}`)
138
            window.open(`/cgi-bin/koha/acqui/parcels.pl?booksellerid=${id}`)
143
        },
139
        },
144
        doEdit({ id }, dt, event) {
145
            this.$router.push({
146
                name: "VendorFormAddEdit",
147
                params: { vendor_id: id },
148
            })
149
        },
150
        doDelete(vendor, dt, event) {
151
            this.setConfirmationDialog(
152
                {
153
                    title: this.$__(
154
                        "Are you sure you want to remove this vendor?"
155
                    ),
156
                    message: vendor.name,
157
                    accept_label: this.$__("Yes, delete"),
158
                    cancel_label: this.$__("No, do not delete"),
159
                },
160
                () => {
161
                    const client = APIClient.acquisition
162
                    client.vendors.delete(vendor.id).then(
163
                        success => {
164
                            this.setMessage(
165
                                this.$__("Vendor %s deleted").format(
166
                                    vendor.name
167
                                ),
168
                                true
169
                            )
170
                            dt.draw()
171
                        },
172
                        error => {}
173
                    )
174
                }
175
            )
176
        },
177
        doSelect(vendor, dt, event) {
140
        doSelect(vendor, dt, event) {
178
            this.$emit("select-vendor", vendor.id)
141
            this.$emit("select-vendor", vendor.id)
179
            this.$emit("close")
142
            this.$emit("close")
(-)a/koha-tmpl/intranet-tmpl/prog/js/vue/components/Vendors/VendorResource.vue (+29 lines)
Line 0 Link Here
1
<script>
2
import BaseResource from "../BaseResource.vue"
3
import { APIClient } from "../../fetch/api-client.js"
4
5
export default {
6
    extends: BaseResource,
7
    setup(props) {
8
        return {
9
            ...BaseResource.setup({
10
                resource_name: "vendor",
11
                name_attr: "name",
12
                id_attr: "id",
13
                show_component: "VendorShow",
14
                list_component: "VendorList",
15
                add_component: "VendorFormAdd",
16
                edit_component: "VendorFormAddEdit",
17
                api_client: APIClient.acquisition.vendors,
18
                resource_table_url: APIClient.acquisition._baseURL + "vendors",
19
                i18n: {
20
                    display_name: __("Vendor"),
21
                },
22
            }),
23
            //AgreementResource specific setup here
24
        }
25
    },
26
    methods: {},
27
    name: "VendorResource",
28
}
29
</script>
(-)a/koha-tmpl/intranet-tmpl/prog/js/vue/components/Vendors/VendorShow.vue (-7 / +6 lines)
Lines 28-39 Link Here
28
                :title="$__('New')"
28
                :title="$__('New')"
29
            />
29
            />
30
            <ToolbarButton
30
            <ToolbarButton
31
                :to="{
31
                action="edit"
32
                    name: 'VendorFormAddEdit',
32
                @go-to-edit-resource="goToResourceEdit"
33
                    params: { vendor_id: vendor.id },
34
                }"
35
                icon="pencil"
36
                :title="$__('Edit vendor')"
37
            />
33
            />
38
            <ToolbarButton
34
            <ToolbarButton
39
                :to="{
35
                :to="{
Lines 102-113 import VendorContacts from "./VendorContacts.vue" Link Here
102
import VendorSubscriptions from "./VendorSubscriptions.vue"
98
import VendorSubscriptions from "./VendorSubscriptions.vue"
103
import VendorContracts from "./VendorContracts.vue"
99
import VendorContracts from "./VendorContracts.vue"
104
import DropdownButtons from "../DropdownButtons.vue"
100
import DropdownButtons from "../DropdownButtons.vue"
101
import VendorResource from "./VendorResource.vue"
105
102
106
export default {
103
export default {
104
    extends: VendorResource,
107
    setup() {
105
    setup() {
108
        const { setConfirmationDialog, setMessage } = inject("mainStore")
106
        const { setConfirmationDialog, setMessage } = inject("mainStore")
109
107
110
        return {
108
        return {
109
            ...VendorResource.setup(),
111
            setConfirmationDialog,
110
            setConfirmationDialog,
112
            setMessage,
111
            setMessage,
113
        }
112
        }
Lines 145-150 export default { Link Here
145
        VendorContacts,
144
        VendorContacts,
146
        VendorSubscriptions,
145
        VendorSubscriptions,
147
        VendorContracts,
146
        VendorContracts,
147
        DropdownButtons,
148
    },
148
    },
149
    name: "VendorShow",
149
    name: "VendorShow",
150
}
150
}
151
- 

Return to bug 38010