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

(-)a/Koha/Template/Plugin/Currencies.pm (+47 lines)
Line 0 Link Here
1
package Koha::Template::Plugin::Currencies;
2
3
# Copyright 2020 Theke Solutions
4
#
5
# Koha is free software; you can redistribute it and/or modify it
6
# under the terms of the GNU General Public License as published by
7
# the Free Software Foundation; either version 3 of the License, or
8
# (at your option) any later version.
9
#
10
# Koha is distributed in the hope that it will be useful, but
11
# WITHOUT ANY WARRANTY; without even the implied warranty of
12
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
# GNU General Public License for more details.
14
#
15
# You should have received a copy of the GNU General Public License
16
# along with Koha; if not, see <http://www.gnu.org/licenses>.
17
18
use Modern::Perl;
19
20
use Template::Plugin;
21
use base qw( Template::Plugin );
22
23
use Koha::Acquisition::Currencies;
24
25
=head1 NAME
26
27
Koha::Template::Plugin::Currencies - TT Plugin for currencies
28
29
=head1 SYNOPSIS
30
31
[% USE Currencies %]
32
33
[% Currencies.get_active() %]
34
35
=head1 ROUTINES
36
37
=head2 get_active
38
39
In a template, you can get the active currency with
40
the following TT code: [% Currencies.get_active() %]
41
42
=cut
43
sub get_active {
44
    return Koha::Acquisition::Currencies->get_active;
45
}
46
47
1;
(-)a/koha-tmpl/intranet-tmpl/prog/en/includes/currency.inc (+35 lines)
Line 0 Link Here
1
[% USE Koha %]
2
[% USE Currencies %]
3
4
<script>
5
    (function() {
6
        var symbol = '[% Currencies.get_active.symbol | html %]';
7
        var space = '[% Currencies.get_active.p_sep_by_space ? ' ' : '' | html %]';
8
        var currency_format = '[% Koha.Preference('CurrencyFormat') | html %]';
9
10
        var options = {
11
            decimal_fill: 2,
12
            decimal_point: '.',
13
            thousands_sep: ','
14
        };
15
        if(currency_format == 'FR') {
16
            options = {
17
                decimal_fill: 2,
18
                decimal_point: ',',
19
                thousands_sep: ' '
20
            };
21
        } else if (currency_format == 'CH') {
22
            options = {
23
                decimal_fill: 2,
24
                decimal_point: '.',
25
                thousands_sep: '\\'
26
            };
27
        }
28
        window.$currency = function(value) {
29
            return symbol+space+value
30
                    .toFixed(options.decimal_fill)
31
                    .replace(/\d(?=(\d{3})+\.)/g, '$&'+options.thousands_sep)
32
                    .replace(/\./, options.decimal_point);
33
        }
34
    })();
35
</script>
(-)a/koha-tmpl/opac-tmpl/bootstrap/en/includes/currency.inc (-1 / +35 lines)
Line 0 Link Here
0
- 
1
[% USE Koha %]
2
[% USE Currencies %]
3
4
<script>
5
    (function() {
6
        var symbol = '[% Currencies.get_active.symbol | html %]';
7
        var space = '[% Currencies.get_active.p_sep_by_space ? ' ' : '' | html %]';
8
        var currency_format = '[% Koha.Preference('CurrencyFormat') | html %]';
9
10
        var options = {
11
            decimal_fill: 2,
12
            decimal_point: '.',
13
            thousands_sep: ','
14
        };
15
        if(currency_format == 'FR') {
16
            options = {
17
                decimal_fill: 2,
18
                decimal_point: ',',
19
                thousands_sep: ' '
20
            };
21
        } else if (currency_format == 'CH') {
22
            options = {
23
                decimal_fill: 2,
24
                decimal_point: '.',
25
                thousands_sep: '\\'
26
            };
27
        }
28
        window.$currency = function(value) {
29
            return symbol+space+value
30
                    .toFixed(options.decimal_fill)
31
                    .replace(/\d(?=(\d{3})+\.)/g, '$&'+options.thousands_sep)
32
                    .replace(/\./, options.decimal_point);
33
        }
34
    })();
35
</script>

Return to bug 24454