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

(-)a/C4/Acquisition.pm (-5 / +16 lines)
Lines 31-36 use Koha::DateUtils qw( dt_from_string output_pref ); Link Here
31
use Koha::Acquisition::Baskets;
31
use Koha::Acquisition::Baskets;
32
use Koha::Acquisition::Booksellers;
32
use Koha::Acquisition::Booksellers;
33
use Koha::Acquisition::Orders;
33
use Koha::Acquisition::Orders;
34
use Koha::AdditionalFieldValue;
34
use Koha::Biblios;
35
use Koha::Biblios;
35
use Koha::Items;
36
use Koha::Items;
36
use Koha::Number::Price;
37
use Koha::Number::Price;
Lines 1961-1967 sub TransferOrder { Link Here
1961
    my $order = Koha::Acquisition::Orders->find( $ordernumber ) or return;
1962
    my $order = Koha::Acquisition::Orders->find( $ordernumber ) or return;
1962
    return if $order->datereceived;
1963
    return if $order->datereceived;
1963
1964
1964
    $order = $order->unblessed;
1965
    my $orderhash = $order->unblessed;
1965
1966
1966
    my $basket = GetBasket($basketno);
1967
    my $basket = GetBasket($basketno);
1967
    return unless $basket;
1968
    return unless $basket;
Lines 1977-1987 sub TransferOrder { Link Here
1977
    $sth = $dbh->prepare($query);
1978
    $sth = $dbh->prepare($query);
1978
    $rv = $sth->execute('cancelled', $ordernumber);
1979
    $rv = $sth->execute('cancelled', $ordernumber);
1979
1980
1980
    delete $order->{'ordernumber'};
1981
    delete $orderhash->{ordernumber};
1981
    delete $order->{parent_ordernumber};
1982
    delete $orderhash->{parent_ordernumber};
1982
    $order->{'basketno'} = $basketno;
1983
    $orderhash->{basketno} = $basketno;
1983
1984
1984
    my $newordernumber = Koha::Acquisition::Order->new($order)->store->ordernumber;
1985
    my $neworder = Koha::Acquisition::Order->new($orderhash);
1986
    my $newordernumber = $neworder->store->ordernumber;
1985
1987
1986
    $query = q{
1988
    $query = q{
1987
        UPDATE aqorders_items
1989
        UPDATE aqorders_items
Lines 1998-2003 sub TransferOrder { Link Here
1998
    $sth = $dbh->prepare($query);
2000
    $sth = $dbh->prepare($query);
1999
    $sth->execute($ordernumber, $newordernumber);
2001
    $sth->execute($ordernumber, $newordernumber);
2000
2002
2003
    # Copy additional fields values
2004
    foreach my $afv ($order->additional_field_values) {
2005
        Koha::AdditionalFieldValue->new({
2006
            field_id => $afv->field_id,
2007
            record_id => $newordernumber,
2008
            value => $afv->value,
2009
        })->store;
2010
    }
2011
2001
    return $newordernumber;
2012
    return $newordernumber;
2002
}
2013
}
2003
2014
(-)a/Koha/Acquisition/Order.pm (-1 / +1 lines)
Lines 23-29 use Koha::Acquisition::Baskets; Link Here
23
use Koha::Database;
23
use Koha::Database;
24
use Koha::DateUtils qw( dt_from_string output_pref );
24
use Koha::DateUtils qw( dt_from_string output_pref );
25
25
26
use base qw(Koha::Object);
26
use base qw(Koha::Object Koha::Object::Mixin::AdditionalFields);
27
27
28
=head1 NAME
28
=head1 NAME
29
29
(-)a/Koha/AdditionalField.pm (+19 lines)
Lines 5-10 use Modern::Perl; Link Here
5
use base qw(Koha::Object);
5
use base qw(Koha::Object);
6
6
7
use C4::Context;
7
use C4::Context;
8
use Koha::MarcSubfieldStructures;
9
10
sub effective_authorised_value_category {
11
    my ($self) = @_;
12
13
    my $category = $self->authorised_value_category;
14
    unless ($category) {
15
        if ($self->marcfield) {
16
            my ($tag, $subfield) = split /\$/, $self->marcfield;
17
18
            my $mss = Koha::MarcSubfieldStructures->find('', $tag, $subfield);
19
            if ($mss) {
20
                $category = $mss->authorised_value;
21
            }
22
        }
23
    }
24
25
    return $category;
26
}
8
27
9
sub _type { 'AdditionalField' }
28
sub _type { 'AdditionalField' }
10
29
(-)a/Koha/Object/Mixin/AdditionalFields.pm (+32 lines)
Lines 45-62 sub set_additional_fields { Link Here
45
45
46
    my $rs = Koha::Database->new->schema->resultset('AdditionalFieldValue');
46
    my $rs = Koha::Database->new->schema->resultset('AdditionalFieldValue');
47
47
48
    my $biblionumber;
49
    my $record;
50
    my $record_updated;
51
    if ($self->_result->has_column('biblionumber')) {
52
        $biblionumber = $self->biblionumber;
53
    }
54
48
    foreach my $additional_field (@$additional_fields) {
55
    foreach my $additional_field (@$additional_fields) {
49
        my $field_value = $rs->find_or_new({
56
        my $field_value = $rs->find_or_new({
50
            field_id => $additional_field->{id},
57
            field_id => $additional_field->{id},
51
            record_id => $self->id,
58
            record_id => $self->id,
52
        });
59
        });
60
        my $field = $field_value->field;
53
        my $value = $additional_field->{value};
61
        my $value = $additional_field->{value};
62
63
        if ($biblionumber and $field->marcfield) {
64
            require C4::Biblio;
65
            $record //= C4::Biblio::GetMarcBiblio({ biblionumber => $biblionumber });
66
67
            my ($tag, $subfield) = split /\$/, $field->marcfield;
68
            my $marc_field = $record->field($tag);
69
            if ($field->marcfield_mode eq 'get') {
70
                $value = $marc_field ? $marc_field->subfield($subfield) : '';
71
            } elsif ($field->marcfield_mode eq 'set') {
72
                if ($marc_field) {
73
                    $marc_field->update($subfield => $value);
74
                } else {
75
                    $marc_field = MARC::Field->new($tag, '', '', $subfield => $value);
76
                    $record->append_fields($marc_field);
77
                }
78
                $record_updated = 1;
79
            }
80
        }
81
54
        if (defined $value) {
82
        if (defined $value) {
55
            $field_value->set_columns({ value => $value })->update_or_insert;
83
            $field_value->set_columns({ value => $value })->update_or_insert;
56
        } elsif ($field_value->in_storage) {
84
        } elsif ($field_value->in_storage) {
57
            $field_value->delete;
85
            $field_value->delete;
58
        }
86
        }
59
    }
87
    }
88
89
    if ($record_updated) {
90
        C4::Biblio::ModBiblio($record, $biblionumber);
91
    }
60
}
92
}
61
93
62
sub additional_field_values {
94
sub additional_field_values {
(-)a/Koha/Schema/Result/Aqorder.pm (+16 lines)
Lines 628-633 __PACKAGE__->many_to_many("borrowernumbers", "aqorder_users", "borrowernumber"); Link Here
628
# Created by DBIx::Class::Schema::Loader v0.07042 @ 2018-02-16 17:54:53
628
# Created by DBIx::Class::Schema::Loader v0.07042 @ 2018-02-16 17:54:53
629
# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:K0GnMGYtZUQ1WCesHKIxHw
629
# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:K0GnMGYtZUQ1WCesHKIxHw
630
630
631
__PACKAGE__->has_many(
632
  "additional_field_values",
633
  "Koha::Schema::Result::AdditionalFieldValue",
634
  sub {
635
    my ($args) = @_;
636
637
    return {
638
        "$args->{foreign_alias}.record_id" => { -ident => "$args->{self_alias}.ordernumber" },
639
640
        # TODO Add column additional_field_values.tablename to avoid subquery ?
641
        "$args->{foreign_alias}.field_id" =>
642
            { -in => \'(SELECT id FROM additional_fields WHERE tablename = "aqorders")' },
643
    };
644
  },
645
  { cascade_copy => 0, cascade_delete => 0 },
646
);
631
647
632
# You can replace this text with custom code or comments, and it will be preserved on regeneration
648
# You can replace this text with custom code or comments, and it will be preserved on regeneration
633
1;
649
1;
(-)a/acqui/addorder.pl (+15 lines)
Lines 132-137 use Koha::Acquisition::Currencies; Link Here
132
use Koha::Acquisition::Orders;
132
use Koha::Acquisition::Orders;
133
use C4::Barcodes;
133
use C4::Barcodes;
134
134
135
use Koha::AdditionalFields;
136
135
### "-------------------- addorder.pl ----------"
137
### "-------------------- addorder.pl ----------"
136
138
137
# FIXME: This needs to do actual error checking and possibly return user to the same form,
139
# FIXME: This needs to do actual error checking and possibly return user to the same form,
Lines 299-304 if ( $basket->{is_standing} || $orderinfo->{quantity} ne '0' ) { Link Here
299
        $order->store;
301
        $order->store;
300
    }
302
    }
301
303
304
    # Retrieve and save additional fields values
305
    my @additional_fields = Koha::AdditionalFields->search({ tablename => 'aqorders' });
306
    my @additional_field_values;
307
    foreach my $af (@additional_fields) {
308
        my $id = $af->id;
309
        my $value = $input->param("additional_field_$id");
310
        push @additional_field_values, {
311
            id => $id,
312
            value => $value,
313
        };
314
    }
315
    $order->set_additional_fields(\@additional_field_values);
316
302
    # now, add items if applicable
317
    # now, add items if applicable
303
    if ($basket->effective_create_items eq 'ordering') {
318
    if ($basket->effective_create_items eq 'ordering') {
304
319
(-)a/acqui/neworderempty.pl (+24 lines)
Lines 94-99 use Koha::MarcSubfieldStructures; Link Here
94
use Koha::ItemTypes;
94
use Koha::ItemTypes;
95
use Koha::Patrons;
95
use Koha::Patrons;
96
use Koha::RecordProcessor;
96
use Koha::RecordProcessor;
97
use Koha::AdditionalFields;
97
98
98
our $input           = new CGI;
99
our $input           = new CGI;
99
my $booksellerid    = $input->param('booksellerid');	# FIXME: else ERROR!
100
my $booksellerid    = $input->param('booksellerid');	# FIXME: else ERROR!
Lines 388-393 if ( defined $from_subscriptionid ) { Link Here
388
# Find the items.barcode subfield for barcode validations
389
# Find the items.barcode subfield for barcode validations
389
my (undef, $barcode_subfield) = GetMarcFromKohaField('items.barcode', '');
390
my (undef, $barcode_subfield) = GetMarcFromKohaField('items.barcode', '');
390
391
392
# Get additional fields
393
my $record;
394
my @additional_fields = Koha::AdditionalFields->search({ tablename => 'aqorders' });
395
my %additional_field_values;
396
if ($ordernumber) {
397
    my $order = Koha::Acquisition::Orders->find($ordernumber);
398
    foreach my $value ($order->additional_field_values) {
399
        $additional_field_values{$value->field_id} = $value->value;
400
    }
401
} elsif ( $biblionumber ) {
402
    foreach my $af (@additional_fields) {
403
        if ($af->marcfield) {
404
            $record //= GetMarcBiblio({ biblionumber => $biblionumber });
405
            my ($field, $subfield) = split /\$/, $af->marcfield;
406
            $additional_field_values{$af->id} = $record->subfield($field, $subfield);
407
        }
408
    }
409
}
410
$template->param(
411
    additional_fields => \@additional_fields,
412
    additional_field_values => \%additional_field_values,
413
);
414
391
# fill template
415
# fill template
392
$template->param(
416
$template->param(
393
    close        => $close,
417
    close        => $close,
(-)a/admin/additional-fields.pl (+3 lines)
Lines 46-51 if ( $op eq 'add' ) { Link Here
46
    my $name = $input->param('name') // q{};
46
    my $name = $input->param('name') // q{};
47
    my $authorised_value_category = $input->param('authorised_value_category') // q{};
47
    my $authorised_value_category = $input->param('authorised_value_category') // q{};
48
    my $marcfield = $input->param('marcfield') // q{};
48
    my $marcfield = $input->param('marcfield') // q{};
49
    my $marcfield_mode = $input->param('marcfield_mode') // 'get';
49
    my $searchable = $input->param('searchable') ? 1 : 0;
50
    my $searchable = $input->param('searchable') ? 1 : 0;
50
    if ( $field_id and $name ) {
51
    if ( $field_id and $name ) {
51
        my $updated = 0;
52
        my $updated = 0;
Lines 55-60 if ( $op eq 'add' ) { Link Here
55
                name => $name,
56
                name => $name,
56
                authorised_value_category => $authorised_value_category,
57
                authorised_value_category => $authorised_value_category,
57
                marcfield => $marcfield,
58
                marcfield => $marcfield,
59
                marcfield_mode => $marcfield_mode,
58
                searchable => $searchable,
60
                searchable => $searchable,
59
            });
61
            });
60
            $updated = $af->store ? 1 : 0;
62
            $updated = $af->store ? 1 : 0;
Lines 71-76 if ( $op eq 'add' ) { Link Here
71
                name => $name,
73
                name => $name,
72
                authorised_value_category => $authorised_value_category,
74
                authorised_value_category => $authorised_value_category,
73
                marcfield => $marcfield,
75
                marcfield => $marcfield,
76
                marcfield_mode => $marcfield_mode,
74
                searchable => $searchable,
77
                searchable => $searchable,
75
            });
78
            });
76
            $inserted = $af->store ? 1 : 0;
79
            $inserted = $af->store ? 1 : 0;
(-)a/installer/data/mysql/atomicupdate/bug_11844.perl (+12 lines)
Line 0 Link Here
1
$DBversion = 'XXX';
2
if( CheckVersion( $DBversion ) ) {
3
    if( !column_exists( 'additional_fields', 'marcfield_mode' ) ) {
4
        $dbh->do(q{
5
            ALTER TABLE additional_fields
6
            ADD COLUMN marcfield_mode ENUM('get', 'set') NOT NULL DEFAULT 'get' AFTER marcfield
7
        });
8
    }
9
10
    SetVersion( $DBversion );
11
    print "Upgrade to $DBversion done (Bug 11844 - Add column additional_fields.marcfield_mode)\n";
12
}
(-)a/koha-tmpl/intranet-tmpl/prog/en/includes/additional-fields-entry.inc (-28 / +21 lines)
Lines 1-34 Link Here
1
[% USE AuthorisedValues %]
1
[% USE AuthorisedValues %]
2
[% IF wrap_fieldset != 0 %]
2
[% FOR field IN available %]
3
<fieldset class="rows">
3
    [% disabled = (field.marcfield && field.marcfield_mode == 'get') ? 'disabled' : '' %]
4
    <legend>Additional fields</legend>
4
    [% authorised_value_category = field.effective_authorised_value_category %]
5
    <ol>
5
    <li>
6
[% END %]
6
        <label for="additional_field_[% field.id %]"> [% field.name %]: </label>
7
        [% FOR field IN available %]
7
        [% IF authorised_value_category %]
8
            <li>
8
            <select name="additional_field_[% field.id %]" id="additional_field_[% field.id %]" [% disabled %]>
9
                <label for="additional_field_[% field.id %]"> [% field.name %]: </label>
9
                <option value=""></option>
10
                [% IF field.authorised_value_category %]
10
                [% FOREACH av IN AuthorisedValues.GetAuthValueDropbox( authorised_value_category ) %]
11
                    <select name="additional_field_[% field.id %]" id="additional_field_[% field.id %]">
11
                    [% IF av.authorised_value == values.${field.id} %]
12
                        <option value="">All</option>
12
                        <option value="[% av.authorised_value %]" selected="selected">[% av.lib %]</option>
13
                        [% FOREACH av IN AuthorisedValues.GetAuthValueDropbox( field.authorised_value_category ) %]
14
                            [% IF av.authorised_value == values.${field.id} %]
15
                                <option value="[% av.authorised_value %]" selected="selected">[% av.lib %]</option>
16
                            [% ELSE %]
17
                                <option value="[% av.authorised_value %]">[% av.lib %]</option>
18
                            [% END %]
19
                        [% END %]
20
                    </select> (Authorised values for [% field.authorised_value_category %])
21
                [% ELSE %]
22
                    [% IF field.marcfield %]
23
                        <input type="text" value="[% values.${field.id} %]" id="additional_field_[% field.id %]" name="additional_field_[% field.id %]" readonly="readonly" />
24
                        This value will be filled with the [% field.marcfield %] subfield of the selected biblio.
25
                    [% ELSE %]
13
                    [% ELSE %]
26
                        <input type="text" value="[% values.${field.id} %]" id="additional_field_[% field.id %]" name="additional_field_[% field.id %]" />
14
                        <option value="[% av.authorised_value %]">[% av.lib %]</option>
27
                    [% END %]
15
                    [% END %]
28
                [% END %]
16
                [% END %]
29
            </li>
17
            </select> (Authorised values for [% authorised_value_category %])
18
        [% ELSE %]
19
            <input type="text" value="[% values.${field.id} %]" id="additional_field_[% field.id %]" name="additional_field_[% field.id %]" [% disabled %]>
20
        [% END %]
21
        [% IF field.marcfield && field.marcfield_mode == 'get' %]
22
            This value will be filled with the [% field.marcfield %] subfield of the selected biblio.
23
        [% ELSIF field.marcfield && field.marcfield_mode == 'set' %]
24
            This value will be saved to the [% field.marcfield %] subfield of the selected biblio.
30
        [% END %]
25
        [% END %]
31
[% IF wrap_fieldset != 0 %]
26
    </li>
32
    </ol>
33
</fieldset>
34
[% END %]
27
[% END %]
(-)a/koha-tmpl/intranet-tmpl/prog/en/includes/additional-fields-fieldset.inc (+6 lines)
Line 0 Link Here
1
<fieldset class="rows">
2
    <legend>Additional fields</legend>
3
    <ol>
4
        [% content %]
5
    </ol>
6
</fieldset>
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/basketheader.tt (-1 / +3 lines)
Lines 128-134 Link Here
128
        </fieldset>
128
        </fieldset>
129
129
130
        [% IF available_additional_fields %]
130
        [% IF available_additional_fields %]
131
            [% INCLUDE 'additional-fields-entry.inc' available=available_additional_fields values=additional_field_values %]
131
            [% WRAPPER 'additional-fields-fieldset.inc' %]
132
                [% INCLUDE 'additional-fields-entry.inc' available=available_additional_fields values=additional_field_values %]
133
            [% END %]
132
        [% END %]
134
        [% END %]
133
135
134
        <fieldset class="action">
136
        <fieldset class="action">
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/histsearch.tt (-1 / +1 lines)
Lines 44-50 Link Here
44
            <input type="text" name="basketgroupname" id="basketgroupname" value="[% basketgroupname %]" />
44
            <input type="text" name="basketgroupname" id="basketgroupname" value="[% basketgroupname %]" />
45
        </li>
45
        </li>
46
46
47
        [% INCLUDE 'additional-fields-entry.inc' available=available_additional_fields values=additional_field_filters wrap_fieldset=0 %]
47
        [% INCLUDE 'additional-fields-entry.inc' available=available_additional_fields values=additional_field_filters %]
48
48
49
        <li>
49
        <li>
50
          <label for="ordernumber">Order line:</label>
50
          <label for="ordernumber">Order line:</label>
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/neworderempty.tt (+6 lines)
Lines 1-6 Link Here
1
[% USE Asset %]
1
[% USE Asset %]
2
[% USE Koha %]
2
[% USE Koha %]
3
[% USE KohaDates %]
3
[% USE KohaDates %]
4
[% USE AuthorisedValues %]
4
[% SET footerjs = 1 %]
5
[% SET footerjs = 1 %]
5
[% INCLUDE 'doc-head-open.inc' %]
6
[% INCLUDE 'doc-head-open.inc' %]
6
<title>Koha &rsaquo; Acquisitions &rsaquo; Basket [% basketno %] &rsaquo; [% IF ( ordernumber ) %]Modify order details (line #[% ordernumber %])[% ELSE %]New order[% END %]</title>
7
<title>Koha &rsaquo; Acquisitions &rsaquo; Basket [% basketno %] &rsaquo; [% IF ( ordernumber ) %]Modify order details (line #[% ordernumber %])[% ELSE %]New order[% END %]</title>
Lines 474-479 Link Here
474
            </li>
475
            </li>
475
        </ol>
476
        </ol>
476
    </fieldset>
477
    </fieldset>
478
479
    [% WRAPPER 'additional-fields-fieldset.inc' %]
480
        [% INCLUDE 'additional-fields-entry.inc' available = additional_fields values = additional_field_values %]
481
    [% END %]
482
477
    <fieldset class="action">
483
    <fieldset class="action">
478
        <input type="hidden" name="subscriptionid" value="[% subscriptionid %]" />
484
        <input type="hidden" name="subscriptionid" value="[% subscriptionid %]" />
479
        <input type="submit" value="Save" />
485
        <input type="submit" value="Save" />
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/additional-fields.tt (-1 / +25 lines)
Lines 12-18 Link Here
12
[% Asset.css('css/datatables.css') %]
12
[% Asset.css('css/datatables.css') %]
13
</head>
13
</head>
14
14
15
[% marcfield_tables = ['subscription'] %]
15
[% marcfield_tables = ['subscription', 'aqorders'] %]
16
[% show_marcfield = marcfield_tables.grep('^' _ tablename _ '$').size ? 1 : 0 %]
16
[% show_marcfield = marcfield_tables.grep('^' _ tablename _ '$').size ? 1 : 0 %]
17
17
18
<body id="ser_add_fields" class="ser">
18
<body id="ser_add_fields" class="ser">
Lines 70-75 Link Here
70
        [% END %]
70
        [% END %]
71
        <ul>
71
        <ul>
72
            [% WRAPPER table_option value="aqbasket" %]Order baskets[% END %]
72
            [% WRAPPER table_option value="aqbasket" %]Order baskets[% END %]
73
            [% WRAPPER table_option value="aqorders" %]Order lines[% END %]
73
            [% WRAPPER table_option value="subscription" %]Subscriptions[% END %]
74
            [% WRAPPER table_option value="subscription" %]Subscriptions[% END %]
74
        </ul>
75
        </ul>
75
    [% ELSIF op == 'list' %]
76
    [% ELSIF op == 'list' %]
Lines 82-87 Link Here
82
                        <th>Authorised value category</th>
83
                        <th>Authorised value category</th>
83
                        [% IF show_marcfield %]
84
                        [% IF show_marcfield %]
84
                            <th>MARC field</th>
85
                            <th>MARC field</th>
86
                            <th>MARC field mode</th>
85
                        [% END %]
87
                        [% END %]
86
                        <th>Searchable</th>
88
                        <th>Searchable</th>
87
                        <th>Actions</th>
89
                        <th>Actions</th>
Lines 94-99 Link Here
94
                            <td>[% field.authorised_value_category %]</td>
96
                            <td>[% field.authorised_value_category %]</td>
95
                            [% IF show_marcfield %]
97
                            [% IF show_marcfield %]
96
                                <td>[% field.marcfield %]</td>
98
                                <td>[% field.marcfield %]</td>
99
                                <td>
100
                                    [% SWITCH field.marcfield_mode %]
101
                                        [% CASE 'get' %]Get value from MARC record
102
                                        [% CASE 'set' %]Save value to MARC record
103
                                    [% END %]
104
                                </td>
97
                            [% END %]
105
                            [% END %]
98
                            <td>
106
                            <td>
99
                                [% IF field.searchable %]Yes[% ELSE %]No[% END %]
107
                                [% IF field.searchable %]Yes[% ELSE %]No[% END %]
Lines 139-144 Link Here
139
                            <label for="marcfield">MARC field: </label>
147
                            <label for="marcfield">MARC field: </label>
140
                            <input type="text" name="marcfield" id="marcfield" value="[% field.marcfield %]" />
148
                            <input type="text" name="marcfield" id="marcfield" value="[% field.marcfield %]" />
141
                        </li>
149
                        </li>
150
                        <li>
151
                            <label for="marcfield_mode">MARC field mode: </label>
152
                            <select id="marcfield_mode" name="marcfield_mode">
153
                                [% IF field.marcfield_mode == 'get' %]
154
                                    <option value="get" selected>Get value from MARC record (not modifiable)</option>
155
                                [% ELSE %]
156
                                    <option value="get">Get value from MARC record (not modifiable)</option>
157
                                [% END %]
158
159
                                [% IF field.marcfield_mode == 'set' %]
160
                                    <option value="set" selected>Save value to MARC record</option>
161
                                [% ELSE %]
162
                                    <option value="set">Save value to MARC record</option>
163
                                [% END %]
164
                            </select>
165
                        </li>
142
                    [% END %]
166
                    [% END %]
143
                    <li>
167
                    <li>
144
                        <label for="searchable">Searchable: </label>
168
                        <label for="searchable">Searchable: </label>
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/serials/serials-search.tt (-1 / +1 lines)
Lines 256-262 Link Here
256
                  <label for="to">Expires before:</label>
256
                  <label for="to">Expires before:</label>
257
                  <input type="text" id="to" name="expiration_date_filter" value="[% expiration_date_filter | $KohaDates %]" size="10" maxlength="10" class="datepickerto" />
257
                  <input type="text" id="to" name="expiration_date_filter" value="[% expiration_date_filter | $KohaDates %]" size="10" maxlength="10" class="datepickerto" />
258
                </li>
258
                </li>
259
                [% INCLUDE 'additional-fields-entry.inc' available=additional_fields_for_subscription values=additional_field_filters wrap_fieldset=0 %]
259
                [% INCLUDE 'additional-fields-entry.inc' available=additional_fields_for_subscription values=additional_field_filters %]
260
              </ol>
260
              </ol>
261
              <input type="hidden" name="searched" value="1" />
261
              <input type="hidden" name="searched" value="1" />
262
              <fieldset class="action">
262
              <fieldset class="action">
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/serials/subscription-add.tt (-1 / +3 lines)
Lines 438-444 fieldset.rows li.radio { width: 100%; } /* override staff-global.css */ Link Here
438
438
439
                            [% IF additional_fields_for_subscription %]
439
                            [% IF additional_fields_for_subscription %]
440
                                <div id="subscription_additional_fields">
440
                                <div id="subscription_additional_fields">
441
                                    [% INCLUDE 'additional-fields-entry.inc' available=additional_fields_for_subscription values=additional_fields %]
441
                                    [% WRAPPER 'additional-fields-fieldset.inc' %]
442
                                        [% INCLUDE 'additional-fields-entry.inc' available=additional_fields_for_subscription values=additional_fields %]
443
                                    [% END %]
442
                                </div>
444
                                </div>
443
                            [% END %]
445
                            [% END %]
444
446
(-)a/serials/subscription-add.pl (-15 lines)
Lines 340-354 sub redirect_add_subscription { Link Here
340
    );
340
    );
341
341
342
    my @additional_fields;
342
    my @additional_fields;
343
    my $record = GetMarcBiblio({ biblionumber => $biblionumber, embed_items => 1 });
344
    for my $field (Koha::AdditionalFields->search({ tablename => 'subscription' })) {
343
    for my $field (Koha::AdditionalFields->search({ tablename => 'subscription' })) {
345
        my $value = $query->param('additional_field_' . $field->id);
344
        my $value = $query->param('additional_field_' . $field->id);
346
        if ($field->marcfield) {
347
            my ($field, $subfield) = split /\$/, $field->marcfield;
348
            if ( $record and $field and $subfield ) {
349
                $value = $record->subfield( $field, $subfield );
350
            }
351
        }
352
        push @additional_fields, {
345
        push @additional_fields, {
353
            id => $field->id,
346
            id => $field->id,
354
            value => $value,
347
            value => $value,
Lines 438-452 sub redirect_mod_subscription { Link Here
438
    );
431
    );
439
432
440
    my @additional_fields;
433
    my @additional_fields;
441
    my $record = GetMarcBiblio({ biblionumber => $biblionumber, embed_items => 1 });
442
    for my $field (Koha::AdditionalFields->search({ tablename => 'subscription' })) {
434
    for my $field (Koha::AdditionalFields->search({ tablename => 'subscription' })) {
443
        my $value = $query->param('additional_field_' . $field->id);
435
        my $value = $query->param('additional_field_' . $field->id);
444
        if ($field->marcfield) {
445
            my ($field, $subfield) = split /\$/, $field->marcfield;
446
            if ( $record and $field and $subfield ) {
447
                $value = $record->subfield( $field, $subfield );
448
            }
449
        }
450
        push @additional_fields, {
436
        push @additional_fields, {
451
            id => $field->id,
437
            id => $field->id,
452
            value => $value,
438
            value => $value,
453
- 

Return to bug 11844