Bug 38010: (QA follow-up) Move syspref values to config endpoint

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
This commit is contained in:
Matt Blenkinsop 2025-04-30 14:09:51 +01:00 committed by Katrin Fischer
parent 1e780ea61d
commit 9105ba1e63
No known key found for this signature in database
GPG Key ID: 0EF6E2C03357A834
5 changed files with 26 additions and 27 deletions

View File

@ -20,6 +20,9 @@ use Modern::Perl;
use Mojo::Base 'Mojolicious::Controller';
use Koha::Acquisition::Booksellers;
use Koha::Acquisition::Currencies;
use C4::Context;
use Try::Tiny qw( catch try );
@ -182,10 +185,16 @@ sub config {
my $userflags = C4::Auth::getuserflags( $patron->flags, $patron->id );
my $permissions = Koha::Auth::Permissions->get_authz_from_flags( { flags => $userflags } );
my @gst_values = map { option => $_ + 0.0 }, split( '\|', C4::Context->preference("TaxRates") );
return $c->render(
status => 200,
openapi => {
permissions => $permissions,
currencies => Koha::Acquisition::Currencies->search->unblessed,
gst_values => \@gst_values,
edifact => C4::Context->preference('EDIFACT'),
marc_orders => C4::Context->preference('MarcOrderingAutomation'),
},
);
}

View File

@ -36,20 +36,4 @@ my ( $template, $loggedinuser, $cookie, $userflags ) = get_template_and_user(
}
);
my $user_permissions = {};
my $var_data = $template->{VARS};
foreach my $key ( keys %{$var_data} ) {
$user_permissions->{$key} = $var_data->{$key} if ( $key =~ /CAN_user_(.*)/ );
}
my @gst_values = map { option => $_ + 0.0 }, split( '\|', C4::Context->preference("TaxRates") );
$template->param(
user_permissions => $user_permissions,
currencies => Koha::Acquisition::Currencies->search->unblessed,
gst_values => \@gst_values,
edifact => C4::Context->preference('EDIFACT'),
marc_orders => C4::Context->preference('MarcOrderingAutomation'),
);
output_html_with_http_headers $query, $cookie, $template->output;

View File

@ -4,4 +4,16 @@ properties:
permissions:
type: object
description: List of permissions for the user
currencies:
type: array
description: List of currencies
gst_values:
type: array
description: List of GST values
edifact:
type: boolean
description: EDIFACT syspref value
marc_orders:
type: boolean
description: MarcOrderingAutomation syspref value
additionalProperties: false

View File

@ -30,13 +30,7 @@
[% INCLUDE 'js-patron-format.inc' %]
[% INCLUDE 'js-date-format.inc' %]
[% INCLUDE 'format_price.inc' %]
<script>
const userPermissions = [% To.json(user_permissions) | $raw %];
const currencies = [% To.json(currencies) | $raw %];
const gstValues = [% To.json(gst_values) | $raw %];
const edifact = [% To.json(edifact) | $raw %];
const marcOrderAutomation = [% To.json(marc_orders) | $raw %];
</script>
[% Asset.js("js/vue/dist/acquisitions.js") | $raw %]
[% INCLUDE 'select2.inc' %]
[% END %]

View File

@ -65,11 +65,11 @@ export default {
const client = APIClient.acquisition;
client.config.get("vendors").then(config => {
this.userPermissions = config.permissions;
this.config.settings.edifact = edifact;
this.config.settings.edifact = config.edifact;
this.config.settings.marcOrderAutomation =
marcOrderAutomation;
this.vendorStore.currencies = currencies;
this.vendorStore.gstValues = gstValues.map(gv => {
config.marcOrderAutomation;
this.vendorStore.currencies = config.currencies;
this.vendorStore.gstValues = config.gst_values.map(gv => {
return {
label: `${Number(gv.option * 100).format_price()}%`,
value: gv.option,