View | Details | Raw Unified | Return to bug 38010
Collapse All | Expand All

(-)a/Koha/REST/V1/Acquisitions/Vendors.pm (+9 lines)
Lines 20-25 use Modern::Perl; Link Here
20
use Mojo::Base 'Mojolicious::Controller';
20
use Mojo::Base 'Mojolicious::Controller';
21
21
22
use Koha::Acquisition::Booksellers;
22
use Koha::Acquisition::Booksellers;
23
use Koha::Acquisition::Currencies;
24
25
use C4::Context;
23
26
24
use Try::Tiny qw( catch try );
27
use Try::Tiny qw( catch try );
25
28
Lines 182-191 sub config { Link Here
182
    my $userflags   = C4::Auth::getuserflags( $patron->flags, $patron->id );
185
    my $userflags   = C4::Auth::getuserflags( $patron->flags, $patron->id );
183
    my $permissions = Koha::Auth::Permissions->get_authz_from_flags( { flags => $userflags } );
186
    my $permissions = Koha::Auth::Permissions->get_authz_from_flags( { flags => $userflags } );
184
187
188
    my @gst_values = map { option => $_ + 0.0 }, split( '\|', C4::Context->preference("TaxRates") );
189
185
    return $c->render(
190
    return $c->render(
186
        status  => 200,
191
        status  => 200,
187
        openapi => {
192
        openapi => {
188
            permissions => $permissions,
193
            permissions => $permissions,
194
            currencies  => Koha::Acquisition::Currencies->search->unblessed,
195
            gst_values  => \@gst_values,
196
            edifact     => C4::Context->preference('EDIFACT'),
197
            marc_orders => C4::Context->preference('MarcOrderingAutomation'),
189
        },
198
        },
190
    );
199
    );
191
}
200
}
(-)a/acqui/vendors.pl (-16 lines)
Lines 36-55 my ( $template, $loggedinuser, $cookie, $userflags ) = get_template_and_user( Link Here
36
    }
36
    }
37
);
37
);
38
38
39
my $user_permissions = {};
40
my $var_data         = $template->{VARS};
41
foreach my $key ( keys %{$var_data} ) {
42
    $user_permissions->{$key} = $var_data->{$key} if ( $key =~ /CAN_user_(.*)/ );
43
}
44
45
my @gst_values = map { option => $_ + 0.0 }, split( '\|', C4::Context->preference("TaxRates") );
46
47
$template->param(
48
    user_permissions => $user_permissions,
49
    currencies       => Koha::Acquisition::Currencies->search->unblessed,
50
    gst_values       => \@gst_values,
51
    edifact          => C4::Context->preference('EDIFACT'),
52
    marc_orders      => C4::Context->preference('MarcOrderingAutomation'),
53
);
54
55
output_html_with_http_headers $query, $cookie, $template->output;
39
output_html_with_http_headers $query, $cookie, $template->output;
(-)a/api/v1/swagger/definitions/vendors_config.yaml (+12 lines)
Lines 4-7 properties: Link Here
4
  permissions:
4
  permissions:
5
    type: object
5
    type: object
6
    description: List of permissions for the user
6
    description: List of permissions for the user
7
  currencies:
8
    type: array
9
    description: List of currencies
10
  gst_values:
11
    type: array
12
    description: List of GST values
13
  edifact:
14
    type: boolean
15
    description: EDIFACT syspref value
16
  marc_orders:
17
    type: boolean
18
    description: MarcOrderingAutomation syspref value
7
additionalProperties: false
19
additionalProperties: false
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/vendors.tt (-7 / +1 lines)
Lines 30-42 Link Here
30
        [% INCLUDE 'js-patron-format.inc' %]
30
        [% INCLUDE 'js-patron-format.inc' %]
31
        [% INCLUDE 'js-date-format.inc' %]
31
        [% INCLUDE 'js-date-format.inc' %]
32
        [% INCLUDE 'format_price.inc' %]
32
        [% INCLUDE 'format_price.inc' %]
33
        <script>
33
34
            const userPermissions = [% To.json(user_permissions) | $raw %];
35
            const currencies = [% To.json(currencies) | $raw %];
36
            const gstValues = [% To.json(gst_values) | $raw %];
37
            const edifact = [% To.json(edifact) | $raw %];
38
            const marcOrderAutomation = [% To.json(marc_orders) | $raw %];
39
        </script>
40
        [% Asset.js("js/vue/dist/acquisitions.js") | $raw %]
34
        [% Asset.js("js/vue/dist/acquisitions.js") | $raw %]
41
        [% INCLUDE 'select2.inc' %]
35
        [% INCLUDE 'select2.inc' %]
42
    [% END %]
36
    [% END %]
(-)a/koha-tmpl/intranet-tmpl/prog/js/vue/components/Vendors/Main.vue (-5 / +4 lines)
Lines 65-75 export default { Link Here
65
                const client = APIClient.acquisition;
65
                const client = APIClient.acquisition;
66
                client.config.get("vendors").then(config => {
66
                client.config.get("vendors").then(config => {
67
                    this.userPermissions = config.permissions;
67
                    this.userPermissions = config.permissions;
68
                    this.config.settings.edifact = edifact;
68
                    this.config.settings.edifact = config.edifact;
69
                    this.config.settings.marcOrderAutomation =
69
                    this.config.settings.marcOrderAutomation =
70
                        marcOrderAutomation;
70
                        config.marcOrderAutomation;
71
                    this.vendorStore.currencies = currencies;
71
                    this.vendorStore.currencies = config.currencies;
72
                    this.vendorStore.gstValues = gstValues.map(gv => {
72
                    this.vendorStore.gstValues = config.gst_values.map(gv => {
73
                        return {
73
                        return {
74
                            label: `${Number(gv.option * 100).format_price()}%`,
74
                            label: `${Number(gv.option * 100).format_price()}%`,
75
                            value: gv.option,
75
                            value: gv.option,
76
- 

Return to bug 38010