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

(-)a/Koha/UI/Form/Builder/Item.pm (+6 lines)
Lines 368-373 sub generate_subfield_form { Link Here
368
            id    => $subfield_data{id},
368
            id    => $subfield_data{id},
369
            value => $value,
369
            value => $value,
370
        };
370
        };
371
    } elsif ( $subfield->{kohafield} =~ /items\.(replacementprice)/ ) {
372
        $subfield_data{marc_value} = {
373
            type  => 'replacementprice',
374
            id    => $subfield_data{id},
375
            value => $value
376
        };
371
    } else {
377
    } else {
372
378
373
        # it's a standard field
379
        # it's a standard field
(-)a/koha-tmpl/intranet-tmpl/prog/en/includes/html_helpers.inc (+10 lines)
Lines 235-240 Link Here
235
                            data-flatpickr-enable-time="true"
235
                            data-flatpickr-enable-time="true"
236
                            data-flatpickr-set-to-today="true"
236
                            data-flatpickr-set-to-today="true"
237
                        />
237
                        />
238
                    [% ELSIF ( mv.type == 'replacementprice' ) %]
239
                        <input
240
                            class="decimal valid input_marceditor [% kohafield | html %]"
241
                            type="text"
242
                            id="[% mv.id | html %]"
243
                            name="[% kohafield | html %]"
244
                            value="[% mv.value | html %]"
245
                            maxlength="[%- mv.maxlength | html -%]"
246
                            aria-invalid="false"
247
                        />
238
                    [% END %]
248
                    [% END %]
239
249
240
                    [% IF subfield.kohafield == 'items.more_subfields_xml' %]
250
                    [% IF subfield.kohafield == 'items.more_subfields_xml' %]
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/additem.tt (-1 / +1 lines)
Lines 229-235 Link Here
229
            <div class="col-md-2 order-sm-2 order-md-1"> [% INCLUDE 'biblio-view-menu.inc' %] </div>
229
            <div class="col-md-2 order-sm-2 order-md-1"> [% INCLUDE 'biblio-view-menu.inc' %] </div>
230
            <div class="col-md-10 order-md-2 order-sm-1">
230
            <div class="col-md-10 order-md-2 order-sm-1">
231
                <div id="cataloguing_additem_newitem" class="item_edit_form page-section marc_editor">
231
                <div id="cataloguing_additem_newitem" class="item_edit_form page-section marc_editor">
232
                    <form id="f" method="post" action="/cgi-bin/koha/cataloguing/additem.pl?biblionumber=[% biblio.biblionumber | html %]" name="f">
232
                    <form id="f" method="post" action="/cgi-bin/koha/cataloguing/additem.pl?biblionumber=[% biblio.biblionumber | html %]" name="f" class="validated">
233
                        [% INCLUDE 'csrf-token.inc' %]
233
                        [% INCLUDE 'csrf-token.inc' %]
234
                        <input type="hidden" name="op" value="[% op | html %]" />
234
                        <input type="hidden" name="op" value="[% op | html %]" />
235
                        [% IF (popup) %]
235
                        [% IF (popup) %]
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/tools/batchMod-edit.tt (-1 / +1 lines)
Lines 162-168 Link Here
162
        [% END %]
162
        [% END %]
163
    [% END # /IF notfounditemnumbers.size %]
163
    [% END # /IF notfounditemnumbers.size %]
164
164
165
    <form name="f" action="batchMod.pl" method="post">
165
    <form name="f" action="batchMod.pl" method="post" class="validated">
166
        [% INCLUDE 'csrf-token.inc' %]
166
        [% INCLUDE 'csrf-token.inc' %]
167
        <input type="hidden" name="op" value="[% op | html %]" />
167
        <input type="hidden" name="op" value="[% op | html %]" />
168
        <input type="hidden" name="searchid" value="[% searchid | html %]" />
168
        <input type="hidden" name="searchid" value="[% searchid | html %]" />
(-)a/t/db_dependent/Koha/UI/Form/Builder/Item.t (-3 / +46 lines)
Lines 17-23 Link Here
17
17
18
use Modern::Perl;
18
use Modern::Perl;
19
use Test::NoWarnings;
19
use Test::NoWarnings;
20
use Test::More tests => 11;
20
use Test::More tests => 12;
21
use Test::MockModule;
21
use Test::MockModule;
22
use Data::Dumper qw( Dumper );
22
use Data::Dumper qw( Dumper );
23
use utf8;
23
use utf8;
Lines 83-89 subtest 'authorised values' => sub { Link Here
83
            $subfield->{marc_value}->{values},
83
            $subfield->{marc_value}->{values},
84
            [
84
            [
85
                "",
85
                "",
86
                map      { $_->authorised_value }
86
                map { $_->authorised_value }
87
                    sort { $a->lib cmp $b->lib } $avs->as_list
87
                    sort { $a->lib cmp $b->lib } $avs->as_list
88
            ],
88
            ],
89
            'AVs are sorted by lib and en empty option is created first'
89
            'AVs are sorted by lib and en empty option is created first'
Lines 446-449 sub setup_mss { Link Here
446
            tagfield      => $itemtag,
446
            tagfield      => $itemtag,
447
        }
447
        }
448
    )->update( { display_order => \['FLOOR( 1 + RAND( ) * 10 )'] } );
448
    )->update( { display_order => \['FLOOR( 1 + RAND( ) * 10 )'] } );
449
450
    subtest 'replacementprice handling' => sub {
451
        plan tests => 3;
452
453
        my $subfield = {
454
            kohafield => 'items.replacementprice',
455
            id        => 'tag_952_subfield_v_12345',
456
            value     => '123.45',
457
        };
458
459
        my $expected_marc_value = {
460
            type  => 'replacementprice',
461
            id    => 'tag_952_subfield_v_12345',
462
            value => '123.45',
463
        };
464
465
        my $item = Koha::Item->new();
466
467
        my %subfield_data;
468
        if ( $subfield->{kohafield} =~ /items\.(replacementprice)/ ) {
469
            $subfield_data{marc_value} = {
470
                type  => 'replacementprice',
471
                id    => $subfield->{id},
472
                value => $subfield->{value},
473
            };
474
        }
475
476
        ok(
477
            exists $subfield_data{marc_value},
478
            "Subfield data contains 'marc_value' key"
479
        );
480
481
        is(
482
            $subfield_data{marc_value}->{type},
483
            $expected_marc_value->{type},
484
            "Subfield 'type' is correctly set to 'replacementprice'"
485
        );
486
487
        is_deeply(
488
            $subfield_data{marc_value},
489
            $expected_marc_value,
490
            'Subfield data is processed correctly for replacementprice'
491
        );
492
    };
449
}
493
}
450
- 

Return to bug 38839