Bug 32991: Local Packages: Add delete dialog to list and show. Removed FormConfirmDelete component and routes.
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Pedro Amorim <pedro.amorim@ptfs-europe.com>
Signed-off-by: Agustín Moyano <agustinmoyano@theke.io>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit dbb606983c
)
Signed-off-by: Jacob O'Mara <jacob.omara@ptfs-europe.com>
This commit is contained in:
parent
7a6a14f807
commit
9dc63a663a
4 changed files with 76 additions and 102 deletions
|
@ -1,76 +0,0 @@
|
|||
<template>
|
||||
<div v-if="!initialized">{{ $__("Loading") }}</div>
|
||||
<div v-else id="packages_confirm_delete">
|
||||
<h2>{{ $__("Delete package") }}</h2>
|
||||
<div>
|
||||
<form @submit="onSubmit($event)">
|
||||
<fieldset class="rows">
|
||||
<ol>
|
||||
<li>
|
||||
{{ $__("Package name") }}:
|
||||
{{ erm_package.name }}
|
||||
</li>
|
||||
</ol>
|
||||
</fieldset>
|
||||
<fieldset class="action">
|
||||
<input
|
||||
type="submit"
|
||||
variant="primary"
|
||||
:value="$__('Yes, delete')"
|
||||
/>
|
||||
<router-link
|
||||
to="/cgi-bin/koha/erm/eholdings/local/packages"
|
||||
role="button"
|
||||
class="cancel"
|
||||
>{{ $__("No, do not delete") }}</router-link
|
||||
>
|
||||
</fieldset>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { setMessage, setError } from "../../messages"
|
||||
import { APIClient } from "../../fetch/api-client.js"
|
||||
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
erm_package: {},
|
||||
initialized: false,
|
||||
}
|
||||
},
|
||||
beforeRouteEnter(to, from, next) {
|
||||
next(vm => {
|
||||
vm.getPackage(to.params.package_id)
|
||||
})
|
||||
},
|
||||
methods: {
|
||||
getPackage(package_id) {
|
||||
const client = APIClient.erm
|
||||
client.localPackages.get(package_id).then(
|
||||
erm_package => {
|
||||
this.erm_package = erm_package
|
||||
this.initialized = true
|
||||
},
|
||||
error => {}
|
||||
)
|
||||
},
|
||||
onSubmit(e) {
|
||||
e.preventDefault()
|
||||
const client = APIClient.erm
|
||||
client.localPackages.delete(this.erm_package.package_id).then(
|
||||
success => {
|
||||
setMessage(this.$__("Package deleted"))
|
||||
this.$router.push(
|
||||
"/cgi-bin/koha/erm/eholdings/local/packages"
|
||||
)
|
||||
},
|
||||
error => {}
|
||||
)
|
||||
},
|
||||
},
|
||||
name: "EHoldingsLocalPackagesFormConfirmDelete",
|
||||
}
|
||||
</script>
|
|
@ -32,6 +32,8 @@ export default {
|
|||
const AVStore = inject("AVStore")
|
||||
const { get_lib_from_av, map_av_dt_filter } = AVStore
|
||||
|
||||
const { setConfirmationDialog, setMessage } = inject("mainStore")
|
||||
|
||||
const table_id = "package_list"
|
||||
useDataTable(table_id)
|
||||
|
||||
|
@ -40,6 +42,8 @@ export default {
|
|||
get_lib_from_av,
|
||||
map_av_dt_filter,
|
||||
table_id,
|
||||
setConfirmationDialog,
|
||||
setMessage,
|
||||
}
|
||||
},
|
||||
data: function () {
|
||||
|
@ -78,10 +82,35 @@ export default {
|
|||
"/cgi-bin/koha/erm/eholdings/local/packages/edit/" + package_id
|
||||
)
|
||||
},
|
||||
delete_package: function (package_id) {
|
||||
this.$router.push(
|
||||
"/cgi-bin/koha/erm/eholdings/local/packages/delete/" +
|
||||
package_id
|
||||
delete_package: function (package_id, package_name) {
|
||||
this.setConfirmationDialog(
|
||||
{
|
||||
title: this.$__(
|
||||
"Are you sure you want to remove this package?"
|
||||
),
|
||||
message: package_name,
|
||||
accept_label: this.$__("Yes, delete"),
|
||||
cancel_label: this.$__("No, do not delete"),
|
||||
},
|
||||
() => {
|
||||
const client = APIClient.erm
|
||||
client.localPackages.delete(package_id).then(
|
||||
success => {
|
||||
this.setMessage(
|
||||
this.$__("Local package %s deleted").format(
|
||||
package_name
|
||||
)
|
||||
)
|
||||
$("#" + this.table_id)
|
||||
.DataTable()
|
||||
.ajax.url(
|
||||
"/api/v1/erm/eholdings/local/packages"
|
||||
)
|
||||
.draw()
|
||||
},
|
||||
error => {}
|
||||
)
|
||||
}
|
||||
)
|
||||
},
|
||||
build_datatable: function () {
|
||||
|
@ -205,6 +234,7 @@ export default {
|
|||
function (index, e) {
|
||||
let tr = $(this).parent().parent()
|
||||
let package_id = api.row(tr).data().package_id
|
||||
let package_name = api.row(tr).data().name
|
||||
let editButton = createVNode(
|
||||
"a",
|
||||
{
|
||||
|
@ -229,7 +259,10 @@ export default {
|
|||
class: "btn btn-default btn-xs",
|
||||
role: "button",
|
||||
onClick: () => {
|
||||
delete_package(package_id)
|
||||
delete_package(
|
||||
package_id,
|
||||
package_name
|
||||
)
|
||||
},
|
||||
},
|
||||
[
|
||||
|
|
|
@ -10,11 +10,12 @@
|
|||
><i class="fa fa-pencil"></i
|
||||
></router-link>
|
||||
|
||||
<router-link
|
||||
:to="`/cgi-bin/koha/erm/eholdings/local/packages/delete/${erm_package.package_id}`"
|
||||
:title="$__('Delete')"
|
||||
<a
|
||||
@click="
|
||||
delete_package(erm_package.package_id, erm_package.name)
|
||||
"
|
||||
><i class="fa fa-trash"></i
|
||||
></router-link>
|
||||
></a>
|
||||
</span>
|
||||
</h2>
|
||||
<div>
|
||||
|
@ -112,12 +113,16 @@ export default {
|
|||
setup() {
|
||||
const format_date = $date
|
||||
|
||||
const { setConfirmationDialog, setMessage } = inject("mainStore")
|
||||
|
||||
const AVStore = inject("AVStore")
|
||||
const { get_lib_from_av } = AVStore
|
||||
|
||||
return {
|
||||
format_date,
|
||||
get_lib_from_av,
|
||||
setConfirmationDialog,
|
||||
setMessage,
|
||||
}
|
||||
},
|
||||
data() {
|
||||
|
@ -155,6 +160,34 @@ export default {
|
|||
error => {}
|
||||
)
|
||||
},
|
||||
delete_package: function (package_id, package_name) {
|
||||
this.setConfirmationDialog(
|
||||
{
|
||||
title: this.$__(
|
||||
"Are you sure you want to remove this package?"
|
||||
),
|
||||
message: package_name,
|
||||
accept_label: this.$__("Yes, delete"),
|
||||
cancel_label: this.$__("No, do not delete"),
|
||||
},
|
||||
() => {
|
||||
const client = APIClient.erm
|
||||
client.localPackages.delete(package_id).then(
|
||||
success => {
|
||||
this.setMessage(
|
||||
this.$__("Local package %s deleted").format(
|
||||
package_name
|
||||
)
|
||||
)
|
||||
this.$router.push(
|
||||
"/cgi-bin/koha/erm/eholdings/local/packages"
|
||||
)
|
||||
},
|
||||
error => {}
|
||||
)
|
||||
}
|
||||
)
|
||||
},
|
||||
},
|
||||
components: {
|
||||
EHoldingsPackageTitlesList,
|
||||
|
@ -166,6 +199,7 @@ export default {
|
|||
.action_links a {
|
||||
padding-left: 0.2em;
|
||||
font-size: 11px;
|
||||
cursor: pointer;
|
||||
}
|
||||
fieldset.rows label {
|
||||
width: 25rem;
|
||||
|
|
|
@ -8,7 +8,6 @@ import EHoldingsLocalTitlesFormAdd from "../components/ERM/EHoldingsLocalTitlesF
|
|||
import EHoldingsLocalTitlesFormImport from "../components/ERM/EHoldingsLocalTitlesFormImport.vue";
|
||||
import EHoldingsLocalPackagesList from "../components/ERM/EHoldingsLocalPackagesList.vue";
|
||||
import EHoldingsLocalPackagesShow from "../components/ERM/EHoldingsLocalPackagesShow.vue";
|
||||
import EHoldingsLocalPackagesFormConfirmDelete from "../components/ERM/EHoldingsLocalPackagesFormConfirmDelete.vue";
|
||||
import EHoldingsLocalResourcesShow from "../components/ERM/EHoldingsLocalResourcesShow.vue";
|
||||
import EHoldingsLocalTitlesList from "../components/ERM/EHoldingsLocalTitlesList.vue";
|
||||
import EHoldingsLocalTitlesShow from "../components/ERM/EHoldingsLocalTitlesShow.vue";
|
||||
|
@ -236,22 +235,6 @@ export const routes = [
|
|||
),
|
||||
},
|
||||
},
|
||||
{
|
||||
path: "delete/:package_id",
|
||||
component:
|
||||
EHoldingsLocalPackagesFormConfirmDelete,
|
||||
meta: {
|
||||
breadcrumb: () =>
|
||||
build_breadcrumb(
|
||||
[
|
||||
breadcrumb_paths.eholdings_local,
|
||||
breadcrumbs.eholdings.local
|
||||
.packages,
|
||||
],
|
||||
"Delete package" // $t("Delete package")
|
||||
),
|
||||
},
|
||||
},
|
||||
{
|
||||
path: "add",
|
||||
component: EHoldingsLocalPackagesFormAdd,
|
||||
|
|
Loading…
Reference in a new issue