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

(-)a/koha-tmpl/intranet-tmpl/prog/en/includes/html_helpers/tables/items/catalogue_detail.inc (-4 / +27 lines)
Lines 489-503 Link Here
489
                        [%# FIXME Previously we displayed the column if at least one item of the biblio had an enumchron/serial_issue_number. Now it's only if one item of the ones displayed on the current page, how is that bad? How can it be fixed in an elegant way? Should we display the column only if biblio.serial? %]
489
                        [%# FIXME Previously we displayed the column if at least one item of the biblio had an enumchron/serial_issue_number. Now it's only if one item of the ones displayed on the current page, how is that bad? How can it be fixed in an elegant way? Should we display the column only if biblio.serial? %]
490
                        let serial = row.serial_item ? row.serial_item.serial : null;
490
                        let serial = row.serial_item ? row.serial_item.serial : null;
491
                        if ( row.serial_issue_number && serial && serial.serialseq ) {
491
                        if ( row.serial_issue_number && serial && serial.serialseq ) {
492
                            nodes += '<span class="enum">%s</span>'.format(escape_str(row.serial_issue_number));
492
                            nodes += '<span class="enum">%s</span>'.format( localizeNumberingPatternSeason(escape_str(row.serial_issue_number)));
493
                            if ( serial.serialseq && row.serial_issue_number != serial.serialseq ) {
493
                            if ( serial.serialseq && row.serial_issue_number != serial.serialseq ) {
494
                                nodes += ' <span class="sep"> -- </span>'
494
                                nodes += ' <span class="sep"> -- </span>'
495
                                nodes += ' <span class="serialseq">%s</span>'.format(escape_str(serial.serialseq));
495
                                nodes += ' <span class="serialseq">%s</span>'.format(localizeNumberingPatternSeason(escape_str(serial.serialseq)));
496
                            }
496
                            }
497
                        } else if ( row.serial_issue_number ) {
497
                        } else if ( row.serial_issue_number ) {
498
                            nodes += ' <span class="enum">%s</span>'.format(escape_str(row.serial_issue_number));
498
                            nodes += ' <span class="enum">%s</span>'.format(localizeNumberingPatternSeason(escape_str(row.serial_issue_number)));
499
                        } else if ( serial && serial.serialseq ) {
499
                        } else if ( serial && serial.serialseq ) {
500
                            nodes += '<span class="serialseq">%s</span>'.format(escape_str(serial.serialseq));
500
                            nodes += '<span class="serialseq">%s</span>'.format(localizeNumberingPatternSeason(escape_str(serial.serialseq)));
501
                        }
501
                        }
502
                        [% IF Koha.Preference('DisplayPublishedDate') %]
502
                        [% IF Koha.Preference('DisplayPublishedDate') %]
503
                            if ( serial && serial.publisheddate ) {
503
                            if ( serial && serial.publisheddate ) {
Lines 933-937 Link Here
933
            node.textContent = link_text;
933
            node.textContent = link_text;
934
            return node;
934
            return node;
935
        }
935
        }
936
        function localizeNumberingPatternSeason(season) {
937
            if (!season) return "";
938
939
            const patterns = [
940
                { regex: /(.*)Spring(.*)/, label: _("Spring") },
941
                { regex: /(.*)Summer(.*)/, label: _("Summer") },
942
                { regex: /(.*)Fall(.*)/, label: _("Fall") },
943
                { regex: /(.*)Winter(.*)/, label: _("Winter") },
944
                { regex: /(.*)Spr(.*)/, label: _("Spr") },
945
                { regex: /(.*)Sum(.*)/, label: _("Sum") },
946
                { regex: /(.*)Fal(.*)/, label: _("Fal") },
947
                { regex: /(.*)Win(.*)/, label: _("Win") }
948
            ];
949
950
            for (const p of patterns) {
951
                const matches = season.match(p.regex);
952
                if (matches) {
953
                    return matches[1] +  p.label + matches[2];
954
                }
955
            }
956
957
            return season;
958
        }
936
    </script>
959
    </script>
937
[% END %]
960
[% END %]
(-)a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-detail.tt (-5 / +4 lines)
Lines 1459-1473 Link Here
1459
                        [% SET serial = ITEM_RESULT.serial %]
1459
                        [% SET serial = ITEM_RESULT.serial %]
1460
                        <td class="vol_info">
1460
                        <td class="vol_info">
1461
                            [% IF ITEM_RESULT.enumchron && serial.serialseq %]
1461
                            [% IF ITEM_RESULT.enumchron && serial.serialseq %]
1462
                                <span class="enum">[% ITEM_RESULT.enumchron | html %]</span>
1462
                                <span class="enum">[% PROCESS localize_numbering_pattern_season season => ITEM_RESULT.enumchron %]</span>
1463
                                [% IF ( serial.serialseq && ITEM_RESULT.enumchron!=serial.serialseq ) %]
1463
                                [% IF ( serial.serialseq && ITEM_RESULT.enumchron!=serial.serialseq ) %]
1464
                                    <span class="sep"> -- </span>
1464
                                    <span class="sep"> -- </span>
1465
                                    <span class="serialseq">[% serial.serialseq | html %]</span>
1465
                                    <span class="serialseq">[% PROCESS localize_numbering_pattern_season season => serial.serialseq %]</span>
1466
                                [% END %]
1466
                                [% END %]
1467
                            [% ELSIF ITEM_RESULT.enumchron %]
1467
                            [% ELSIF ITEM_RESULT.enumchron %]
1468
                                <span class="enum">[% ITEM_RESULT.enumchron | html %]</span>
1468
                                <span class="enum">[% PROCESS localize_numbering_pattern_season season => ITEM_RESULT.enumchron %]</span>
1469
                            [% ELSIF serial.serialseq %]
1469
                            [% ELSIF serial.serialseq %]
1470
                                <span class="serialseq">[% serial.serialseq | html %]</span>
1470
                                <span class="serialseq">[% PROCESS localize_numbering_pattern_season season => serial.serialseq %]</span>
1471
                            [% END %]
1471
                            [% END %]
1472
                            [% IF ( Koha.Preference('DisplayPublishedDate') && serial.publisheddate ) %]
1472
                            [% IF ( Koha.Preference('DisplayPublishedDate') && serial.publisheddate ) %]
1473
                                <span class="pubdate">([% serial.publisheddate | $KohaDates %])</span>
1473
                                <span class="pubdate">([% serial.publisheddate | $KohaDates %])</span>
1474
- 

Return to bug 24172