From 6519b13f34f1dc57402ea195961bdc56f83ddf06 Mon Sep 17 00:00:00 2001 From: Jonathan Druart Date: Wed, 3 Aug 2022 07:18:10 +0200 Subject: [PATCH] Bug 32030: DT - Prevent wrong row to be used We noticed on "Create eHolding titles from a list" that the wrong row could be used: api.row(index) does not return the rows ordered how they are on the screen. Signed-off-by: Jonathan Field Signed-off-by: Martin Renvoize Signed-off-by: Kyle M Hall Signed-off-by: Tomas Cohen Arazi --- .../prog/js/vue/components/ERM/AgreementsList.vue | 11 +++++++---- .../ERM/EHoldingsEBSCOPackageTitlesList.vue | 3 ++- .../vue/components/ERM/EHoldingsEBSCOPackagesList.vue | 3 ++- .../ERM/EHoldingsEBSCOTitlePackagesList.vue | 3 ++- .../vue/components/ERM/EHoldingsEBSCOTitlesList.vue | 3 ++- .../ERM/EHoldingsLocalPackageTitlesList.vue | 3 ++- .../vue/components/ERM/EHoldingsLocalPackagesList.vue | 6 ++++-- .../ERM/EHoldingsLocalTitlePackagesList.vue | 3 ++- .../vue/components/ERM/EHoldingsLocalTitlesList.vue | 6 ++++-- .../prog/js/vue/components/ERM/LicensesList.vue | 6 ++++-- 10 files changed, 31 insertions(+), 16 deletions(-) diff --git a/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/AgreementsList.vue b/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/AgreementsList.vue index 97bb058aa8..5ad63035ba 100644 --- a/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/AgreementsList.vue +++ b/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/AgreementsList.vue @@ -193,7 +193,8 @@ export default { if (actions == 'edit_delete') { $.each($(this).find("td .actions"), function (index, e) { - let agreement_id = api.row(index).data().agreement_id + let tr = $(this).parent().parent() + let agreement_id = api.row(tr).data().agreement_id let editButton = createVNode("a", { class: "btn btn-default btn-xs", role: "button", onClick: () => { edit_agreement(agreement_id) @@ -213,7 +214,8 @@ export default { }) } else { $.each($(this).find("td .actions"), function (index, e) { - let agreement_id = api.row(index).data().agreement_id + let tr = $(this).parent().parent() + let agreement_id = api.row(tr).data().agreement_id let selectButton = createVNode("a", { class: "btn btn-default btn-xs", role: "button", onClick: () => { select_agreement(agreement_id) @@ -227,7 +229,8 @@ export default { } $.each($(this).find("tbody tr td:first-child"), function (index, e) { - let row = api.row(index).data() + let tr = $(this).parent() + let row = api.row(tr).data() if (!row) return // Happen if the table is empty let n = createVNode("a", { role: "button", @@ -267,4 +270,4 @@ export default { #agreement_list { display: table; } - \ No newline at end of file + diff --git a/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/EHoldingsEBSCOPackageTitlesList.vue b/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/EHoldingsEBSCOPackageTitlesList.vue index 2337af1d11..39bcb047ae 100644 --- a/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/EHoldingsEBSCOPackageTitlesList.vue +++ b/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/EHoldingsEBSCOPackageTitlesList.vue @@ -157,7 +157,8 @@ export default { var api = new $.fn.dataTable.Api(settings) $.each($(this).find("tbody tr td:first-child"), function (index, e) { - let row = api.row(index).data() + let tr = $(this).parent() + let row = api.row(tr).data() if (!row) return // Happen if the table is empty let n = createVNode("a", { role: "button", diff --git a/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/EHoldingsEBSCOPackagesList.vue b/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/EHoldingsEBSCOPackagesList.vue index 60ef522b20..7e608f52bb 100644 --- a/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/EHoldingsEBSCOPackagesList.vue +++ b/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/EHoldingsEBSCOPackagesList.vue @@ -220,7 +220,8 @@ export default { var api = new $.fn.dataTable.Api(settings) $.each($(this).find("tbody tr td:first-child"), function (index, e) { - let row = api.row(index).data() + let tr = $(this).parent() + let row = api.row(tr).data() if (!row) return // Happen if the table is empty let n = createVNode("a", { role: "button", diff --git a/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/EHoldingsEBSCOTitlePackagesList.vue b/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/EHoldingsEBSCOTitlePackagesList.vue index 9f65ba6825..23bd295782 100644 --- a/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/EHoldingsEBSCOTitlePackagesList.vue +++ b/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/EHoldingsEBSCOTitlePackagesList.vue @@ -107,7 +107,8 @@ export default { if (!api.rows({ search: 'applied' }).count()) return $.each($(this).find("tbody tr td:first-child"), function (index, e) { - let row = api.row(index).data() + let tr = $(this).parent() + let row = api.row(tr).data() if (!row) return // Happen if the table is empty let n = createVNode("a", { role: "button", diff --git a/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/EHoldingsEBSCOTitlesList.vue b/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/EHoldingsEBSCOTitlesList.vue index e86ef119f6..4c0e9ffc05 100644 --- a/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/EHoldingsEBSCOTitlesList.vue +++ b/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/EHoldingsEBSCOTitlesList.vue @@ -238,7 +238,8 @@ export default { if (!api.rows({ search: 'applied' }).count()) return $.each($(this).find("tbody tr td:first-child"), function (index, e) { - let row = api.row(index).data() + let tr = $(this).parent() + let row = api.row(tr).data() if (!row) return // Happen if the table is empty let n = createVNode("a", { role: "button", diff --git a/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/EHoldingsLocalPackageTitlesList.vue b/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/EHoldingsLocalPackageTitlesList.vue index f5d809aae8..ace4ea64ef 100644 --- a/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/EHoldingsLocalPackageTitlesList.vue +++ b/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/EHoldingsLocalPackageTitlesList.vue @@ -73,7 +73,8 @@ export default { var api = new $.fn.dataTable.Api(settings) $.each($(this).find("tbody tr td:first-child"), function (index, e) { - let row = api.row(index).data() + let tr = $(this).parent() + let row = api.row(tr).data() if (!row) return // Happen if the table is empty let n = createVNode("a", { role: "button", diff --git a/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/EHoldingsLocalPackagesList.vue b/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/EHoldingsLocalPackagesList.vue index af742df32a..993e6a7436 100644 --- a/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/EHoldingsLocalPackagesList.vue +++ b/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/EHoldingsLocalPackagesList.vue @@ -165,7 +165,8 @@ export default { var api = new $.fn.dataTable.Api(settings) $.each($(this).find("td .actions"), function (index, e) { - let package_id = api.row(index).data().package_id + let tr = $(this).parent().parent() + let package_id = api.row(tr).data().package_id let editButton = createVNode("a", { class: "btn btn-default btn-xs", role: "button", onClick: () => { edit_package(package_id) @@ -185,7 +186,8 @@ export default { }) $.each($(this).find("tbody tr td:first-child"), function (index, e) { - let row = api.row(index).data() + let tr = $(this).parent() + let row = api.row(tr).data() if (!row) return // Happen if the table is empty let n = createVNode("a", { role: "button", diff --git a/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/EHoldingsLocalTitlePackagesList.vue b/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/EHoldingsLocalTitlePackagesList.vue index 29ed62b261..27712c9dd7 100644 --- a/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/EHoldingsLocalTitlePackagesList.vue +++ b/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/EHoldingsLocalTitlePackagesList.vue @@ -54,7 +54,8 @@ export default { var api = new $.fn.dataTable.Api(settings) $.each($(this).find("tbody tr td:first-child"), function (index, e) { - let row = api.row(index).data() + let tr = $(this).parent() + let row = api.row(tr).data() if (!row) return // Happen if the table is empty let n = createVNode("a", { role: "button", diff --git a/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/EHoldingsLocalTitlesList.vue b/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/EHoldingsLocalTitlesList.vue index 870c45431f..8deeba2ab3 100644 --- a/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/EHoldingsLocalTitlesList.vue +++ b/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/EHoldingsLocalTitlesList.vue @@ -148,7 +148,8 @@ export default { var api = new $.fn.dataTable.Api(settings) $.each($(this).find("td .actions"), function (index, e) { - let title_id = api.row(index).data().title_id + let tr = $(this).parent().parent() + let title_id = api.row(tr).data().title_id let editButton = createVNode("a", { class: "btn btn-default btn-xs", role: "button", onClick: () => { edit_title(title_id) @@ -168,7 +169,8 @@ export default { }) $.each($(this).find("tbody tr td:first-child"), function (index, e) { - let row = api.row(index).data() + let tr = $(this).parent() + let row = api.row(tr).data() if (!row) return // Happen if the table is empty let n = createVNode("a", { role: "button", diff --git a/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/LicensesList.vue b/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/LicensesList.vue index e220bc1a5c..66bd210de2 100644 --- a/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/LicensesList.vue +++ b/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/LicensesList.vue @@ -179,7 +179,8 @@ export default { var api = new $.fn.dataTable.Api(settings) $.each($(this).find("td .actions"), function (index, e) { - let license_id = api.row(index).data().license_id + let tr = $(this).parent().parent() + let license_id = api.row(tr).data().license_id let editButton = createVNode("a", { class: "btn btn-default btn-xs", role: "button", onClick: () => { edit_license(license_id) @@ -199,7 +200,8 @@ export default { }) $.each($(this).find("tbody tr td:first-child"), function (index, e) { - let row = api.row(index).data() + let tr = $(this).parent() + let row = api.row(tr).data() if (!row) return // Happen if the table is empty let n = createVNode("a", { role: "button", -- 2.39.2