Lines 1-73
Link Here
|
1 |
<template> |
1 |
<template> |
2 |
<h2>{{ $__("Contract(s)") }}</h2> |
2 |
<h2>{{ $__("Contract(s)") }}</h2> |
3 |
<div class="dataTables_wrapper no-footer"> |
3 |
<div class="dataTables_wrapper no-footer"> |
4 |
<table id="contractst"> |
4 |
<table :id="table_id"></table> |
5 |
<thead> |
|
|
6 |
<tr> |
7 |
<th scope="col">{{ $__("Name") }}</th> |
8 |
<th scope="col">{{ $__("Description") }}</th> |
9 |
<th scope="col">{{ $__("Start date") }}</th> |
10 |
<th scope="col">{{ $__("End date") }}</th> |
11 |
<th |
12 |
v-if=" |
13 |
isUserPermitted( |
14 |
'CAN_user_acquisition_contracts_manage' |
15 |
) |
16 |
" |
17 |
scope="col" |
18 |
class="NoSort noExport" |
19 |
> |
20 |
{{ $__("Actions") }} |
21 |
</th> |
22 |
</tr> |
23 |
</thead> |
24 |
<tbody> |
25 |
<tr v-for="(contract, i) in vendor.contracts" :key="i"> |
26 |
<td> |
27 |
<a |
28 |
:href="`/cgi-bin/koha/admin/aqcontract.pl?op=add_form&contractnumber=${contract.contractnumber}&booksellerid=${contract.booksellerid}`" |
29 |
>{{ contract.contractname }}</a |
30 |
> |
31 |
</td> |
32 |
<td>{{ contract.contractdescription }}</td> |
33 |
<td :data-order="contract.contractstartdate"> |
34 |
{{ contract.contractstartdate }} |
35 |
</td> |
36 |
<td :data-order="contract.contractenddate"> |
37 |
{{ contract.contractenddate }} |
38 |
</td> |
39 |
<td |
40 |
class="actions" |
41 |
v-if=" |
42 |
isUserPermitted( |
43 |
'CAN_user_acquisition_contracts_manage' |
44 |
) |
45 |
" |
46 |
> |
47 |
<a |
48 |
class="btn btn-default btn-xs" |
49 |
:href="`/cgi-bin/koha/admin/aqcontract.pl?op=add_form&contractnumber=${contract.contractnumber}&booksellerid=${contract.booksellerid}`" |
50 |
><i |
51 |
class="fa-solid fa-pencil" |
52 |
aria-hidden="true" |
53 |
></i> |
54 |
{{ $__("Edit") }}</a |
55 |
> |
56 |
<a |
57 |
class="btn btn-default btn-xs" |
58 |
:href="`/cgi-bin/koha/admin/aqcontract.pl?op=delete_confirm&contractnumber=${contract.contractnumber}&booksellerid=${contract.booksellerid}`" |
59 |
><i class="fa fa-trash-can"></i> |
60 |
{{ $__("Delete") }}</a |
61 |
> |
62 |
</td> |
63 |
</tr> |
64 |
</tbody> |
65 |
</table> |
66 |
</div> |
5 |
</div> |
67 |
</template> |
6 |
</template> |
68 |
|
7 |
|
69 |
<script> |
8 |
<script> |
70 |
import { inject } from "vue" |
9 |
import { inject } from "vue" |
|
|
10 |
import { useDataTable } from "../../composables/datatables" |
71 |
|
11 |
|
72 |
export default { |
12 |
export default { |
73 |
props: { |
13 |
props: { |
Lines 75-87
export default {
Link Here
|
75 |
}, |
15 |
}, |
76 |
setup() { |
16 |
setup() { |
77 |
const permissionsStore = inject("permissionsStore") |
17 |
const permissionsStore = inject("permissionsStore") |
78 |
|
|
|
79 |
const { isUserPermitted } = permissionsStore |
18 |
const { isUserPermitted } = permissionsStore |
80 |
|
19 |
|
|
|
20 |
const table_id = "vendor_contracts_table" |
21 |
useDataTable(table_id) |
22 |
|
81 |
return { |
23 |
return { |
82 |
isUserPermitted, |
24 |
isUserPermitted, |
|
|
25 |
table_id, |
83 |
} |
26 |
} |
84 |
}, |
27 |
}, |
|
|
28 |
methods: { |
29 |
buildDatatable() { |
30 |
let contracts = this.vendor.contracts |
31 |
let table_id = this.table_id |
32 |
let isUserPermitted = this.isUserPermitted |
33 |
|
34 |
$.fn.dataTable.ext.search = $.fn.dataTable.ext.search.filter( |
35 |
search => search.name != "apply_filter" |
36 |
) |
37 |
$("#" + table_id).dataTable( |
38 |
$.extend(true, {}, dataTablesDefaults, { |
39 |
data: contracts, |
40 |
embed: [], |
41 |
ordering: false, |
42 |
dom: '<"top pager"<"table_entries"ilp>>tr<"bottom pager"ip>', |
43 |
aLengthMenu: [ |
44 |
[10, 20, 50, 100], |
45 |
[10, 20, 50, 100], |
46 |
], |
47 |
autoWidth: false, |
48 |
columns: [ |
49 |
{ |
50 |
title: __("Name"), |
51 |
data: "contractname", |
52 |
searchable: false, |
53 |
orderable: false, |
54 |
render(data, type, row, meta) { |
55 |
return ( |
56 |
`<a href="/cgi-bin/koha/admin/aqcontract.pl?op=add_form&booksellerid=${row.booksellerid}&contractnumber=${row.contractnumber}">` + |
57 |
escape_str(row.contractname) + |
58 |
"</a>" |
59 |
) |
60 |
}, |
61 |
}, |
62 |
{ |
63 |
title: __("Description"), |
64 |
data: "contractdescription", |
65 |
searchable: false, |
66 |
orderable: false, |
67 |
}, |
68 |
{ |
69 |
title: __("Start date"), |
70 |
data: "contractstartdate", |
71 |
searchable: false, |
72 |
orderable: false, |
73 |
}, |
74 |
{ |
75 |
title: __("End date"), |
76 |
data: "contractenddate", |
77 |
searchable: false, |
78 |
orderable: false, |
79 |
}, |
80 |
...(isUserPermitted( |
81 |
"CAN_user_acquisition_contracts_manage" |
82 |
) |
83 |
? [ |
84 |
{ |
85 |
title: __("Actions"), |
86 |
data: "contractnumber", |
87 |
searchable: false, |
88 |
orderable: false, |
89 |
render(data, type, row, meta) { |
90 |
return ( |
91 |
`<a class="btn btn-default btn-xs" href="/cgi-bin/koha/admin/aqcontract.pl?op=add_form&contractnumber=${row.contractnumber}&booksellerid=${row.booksellerid}"><i class="fa-solid fa-pencil" aria-hidden="true"></i>` + |
92 |
" " + |
93 |
__("Edit") + |
94 |
"</a>" + |
95 |
`<a style="margin-left: 5px;" class="btn btn-default btn-xs" href="/cgi-bin/koha/admin/aqcontract.pl?op=delete_confirm&contractnumber=${row.contractnumber}&booksellerid=${row.booksellerid}"><i class="fa-solid fa-trash-can" aria-hidden="true"></i>` + |
96 |
" " + |
97 |
__("Delete") + |
98 |
"</a>" |
99 |
) |
100 |
}, |
101 |
}, |
102 |
] |
103 |
: []), |
104 |
], |
105 |
}) |
106 |
) |
107 |
}, |
108 |
}, |
109 |
mounted() { |
110 |
this.buildDatatable() |
111 |
}, |
85 |
} |
112 |
} |
86 |
</script> |
113 |
</script> |
87 |
|
114 |
|
88 |
- |
|
|