Bug 38201: Apply changes to eHoldings local packages
Signed-off-by: Michaela Sieber <michaela.sieber@kit.edu> Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org> Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
This commit is contained in:
parent
d989ce4946
commit
b45c655735
|
|
@ -0,0 +1,30 @@
|
|||
<script>
|
||||
import BaseResource from "../BaseResource.vue";
|
||||
import { APIClient } from "../../fetch/api-client.js";
|
||||
|
||||
export default {
|
||||
extends: BaseResource,
|
||||
setup(props) {
|
||||
return {
|
||||
...BaseResource.setup({
|
||||
resource_name: "erm_package",
|
||||
name_attr: "name",
|
||||
id_attr: "package_id",
|
||||
show_component: "EHoldingsLocalPackagesShow",
|
||||
list_component: "EHoldingsLocalPackagesList",
|
||||
add_component: "EHoldingsLocalPackagesFormAdd",
|
||||
edit_component: "EHoldingsLocalPackagesFormAddEdit",
|
||||
api_client: APIClient.erm.localPackages,
|
||||
resource_table_url:
|
||||
APIClient.erm._baseURL + "eholdings/local/packages",
|
||||
i18n: {
|
||||
display_name: __("Local package"),
|
||||
},
|
||||
}),
|
||||
//EHoldingsLocalPackageResource specific setup here
|
||||
};
|
||||
},
|
||||
methods: {},
|
||||
name: "EHoldingsLocalPackageResource",
|
||||
};
|
||||
</script>
|
||||
|
|
@ -4,8 +4,8 @@
|
|||
<div v-else id="packages_list">
|
||||
<Toolbar>
|
||||
<ToolbarButton
|
||||
:to="{ name: 'EHoldingsLocalPackagesFormAdd' }"
|
||||
icon="plus"
|
||||
action="add"
|
||||
@go-to-add-resource="goToResourceAdd"
|
||||
:title="$__('New package')"
|
||||
/>
|
||||
</Toolbar>
|
||||
|
|
@ -19,9 +19,9 @@
|
|||
v-bind="tableOptions"
|
||||
:searchable_additional_fields="searchable_additional_fields"
|
||||
:searchable_av_options="searchable_av_options"
|
||||
@show="doShow"
|
||||
@edit="doEdit"
|
||||
@delete="doDelete"
|
||||
@show="goToResourceShow"
|
||||
@edit="goToResourceEdit"
|
||||
@delete="doResourceDelete"
|
||||
></KohaTable>
|
||||
</div>
|
||||
<div v-else class="alert alert-info">
|
||||
|
|
@ -38,8 +38,10 @@ import { inject, ref, reactive } from "vue";
|
|||
import { storeToRefs } from "pinia";
|
||||
import { APIClient } from "../../fetch/api-client.js";
|
||||
import KohaTable from "../KohaTable.vue";
|
||||
import EHoldingsLocalPackageResource from "./EHoldingsLocalPackageResource.vue";
|
||||
|
||||
export default {
|
||||
extends: EHoldingsLocalPackageResource,
|
||||
setup() {
|
||||
const vendorStore = inject("vendorStore");
|
||||
const { vendors } = storeToRefs(vendorStore);
|
||||
|
|
@ -47,8 +49,6 @@ export default {
|
|||
const ERMStore = inject("ERMStore");
|
||||
const { get_lib_from_av, map_av_dt_filter } = ERMStore;
|
||||
|
||||
const { setConfirmationDialog, setMessage } = inject("mainStore");
|
||||
|
||||
const table = ref();
|
||||
const filters = reactive({
|
||||
package_name: "",
|
||||
|
|
@ -56,13 +56,12 @@ export default {
|
|||
});
|
||||
|
||||
return {
|
||||
...EHoldingsLocalPackageResource.setup(),
|
||||
vendors,
|
||||
get_lib_from_av,
|
||||
map_av_dt_filter,
|
||||
table,
|
||||
filters,
|
||||
setConfirmationDialog,
|
||||
setMessage,
|
||||
escape_str,
|
||||
eholdings_packages_table_settings,
|
||||
};
|
||||
|
|
@ -80,7 +79,7 @@ export default {
|
|||
searchable_av_options: [],
|
||||
tableOptions: {
|
||||
columns: this.getTableColumns(),
|
||||
url: "/api/v1/erm/eholdings/local/packages",
|
||||
url: this.getResourceTableUrl(),
|
||||
options: {
|
||||
embed: "resources+count,vendor.name,extended_attributes,+strings",
|
||||
searchCols: [
|
||||
|
|
@ -169,46 +168,6 @@ export default {
|
|||
});
|
||||
});
|
||||
},
|
||||
doShow: function ({ package_id }, dt, event) {
|
||||
event.preventDefault();
|
||||
this.$router.push({
|
||||
name: "EHoldingsLocalPackagesShow",
|
||||
params: { package_id },
|
||||
});
|
||||
},
|
||||
doEdit: function ({ package_id }, dt, event) {
|
||||
this.$router.push({
|
||||
name: "EHoldingsLocalPackagesFormAddEdit",
|
||||
params: { package_id },
|
||||
});
|
||||
},
|
||||
doDelete: function (erm_package, dt, event) {
|
||||
this.setConfirmationDialog(
|
||||
{
|
||||
title: this.$__(
|
||||
"Are you sure you want to remove this package?"
|
||||
),
|
||||
message: erm_package.name,
|
||||
accept_label: this.$__("Yes, delete"),
|
||||
cancel_label: this.$__("No, do not delete"),
|
||||
},
|
||||
() => {
|
||||
const client = APIClient.erm;
|
||||
client.localPackages.delete(erm_package.package_id).then(
|
||||
success => {
|
||||
this.setMessage(
|
||||
this.$__("Local package %s deleted").format(
|
||||
erm_package.name
|
||||
),
|
||||
true
|
||||
);
|
||||
dt.draw();
|
||||
},
|
||||
error => {}
|
||||
);
|
||||
}
|
||||
);
|
||||
},
|
||||
getTableColumns: function () {
|
||||
let get_lib_from_av = this.get_lib_from_av;
|
||||
let escape_str = this.escape_str;
|
||||
|
|
@ -220,9 +179,7 @@ export default {
|
|||
orderable: true,
|
||||
render: function (data, type, row, meta) {
|
||||
return (
|
||||
'<a href="/cgi-bin/koha/erm/eholdings/local/packages/' +
|
||||
row.package_id +
|
||||
'" class="show">' +
|
||||
'<a role="button" class="show">' +
|
||||
escape_str(`${row.name} (#${row.package_id})`) +
|
||||
"</a>"
|
||||
);
|
||||
|
|
|
|||
|
|
@ -3,20 +3,13 @@
|
|||
<div v-else-if="erm_package" id="packages_show">
|
||||
<Toolbar>
|
||||
<ToolbarButton
|
||||
:to="{
|
||||
name: 'EHoldingsLocalPackagesFormAddEdit',
|
||||
params: { package_id: erm_package.package_id },
|
||||
}"
|
||||
icon="pencil"
|
||||
:title="$__('Edit')"
|
||||
action="edit"
|
||||
@go-to-edit-resource="goToResourceEdit"
|
||||
/>
|
||||
<ToolbarButton
|
||||
action="delete"
|
||||
@delete-resource="doResourceDelete"
|
||||
/>
|
||||
<a
|
||||
@click="
|
||||
delete_package(erm_package.package_id, erm_package.name)
|
||||
"
|
||||
class="btn btn-default"
|
||||
><font-awesome-icon icon="trash" /> {{ $__("Delete") }}</a
|
||||
>
|
||||
</Toolbar>
|
||||
|
||||
<h2>
|
||||
|
|
@ -126,21 +119,20 @@ import { APIClient } from "../../fetch/api-client.js";
|
|||
import Toolbar from "../Toolbar.vue";
|
||||
import ToolbarButton from "../ToolbarButton.vue";
|
||||
import AdditionalFieldsDisplay from "../AdditionalFieldsDisplay.vue";
|
||||
import EHoldingsLocalPackageResource from "./EHoldingsLocalPackageResource.vue";
|
||||
|
||||
export default {
|
||||
extends: EHoldingsLocalPackageResource,
|
||||
setup() {
|
||||
const format_date = $date;
|
||||
|
||||
const { setConfirmationDialog, setMessage } = inject("mainStore");
|
||||
|
||||
const ERMStore = inject("ERMStore");
|
||||
const { get_lib_from_av } = ERMStore;
|
||||
|
||||
return {
|
||||
...EHoldingsLocalPackageResource.setup(),
|
||||
format_date,
|
||||
get_lib_from_av,
|
||||
setConfirmationDialog,
|
||||
setMessage,
|
||||
};
|
||||
},
|
||||
data() {
|
||||
|
|
@ -180,35 +172,6 @@ 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
|
||||
),
|
||||
true
|
||||
);
|
||||
this.$router.push({
|
||||
name: "EHoldingsLocalPackagesList",
|
||||
});
|
||||
},
|
||||
error => {}
|
||||
);
|
||||
}
|
||||
);
|
||||
},
|
||||
},
|
||||
components: {
|
||||
EHoldingsPackageTitlesList,
|
||||
|
|
|
|||
Loading…
Reference in New Issue