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

(-)a/authorities/authorities.pl (-29 / +10 lines)
Lines 36-42 use vars qw( $tagslib); Link Here
36
use vars qw( $authorised_values_sth);
36
use vars qw( $authorised_values_sth);
37
use vars qw( $is_a_modif );
37
use vars qw( $is_a_modif );
38
38
39
my $itemtype; # created here because it can be used in build_authorized_values_list sub
40
our($authorised_values_sth,$is_a_modif,$usedTagsLib,$mandatory_z3950);
39
our($authorised_values_sth,$is_a_modif,$usedTagsLib,$mandatory_z3950);
41
40
42
=head1 FUNCTIONS
41
=head1 FUNCTIONS
Lines 70-119 sub build_authorized_values_list { Link Here
70
    my @authorised_values;
69
    my @authorised_values;
71
    my %authorised_lib;
70
    my %authorised_lib;
72
71
73
74
    #---- branch
75
    my $category = $tagslib->{$tag}->{$subfield}->{'authorised_value'};
72
    my $category = $tagslib->{$tag}->{$subfield}->{'authorised_value'};
73
    push @authorised_values, q{} unless $tagslib->{$tag}->{$subfield}->{mandatory} && $value;
74
76
    if ( $category eq "branches" ) {
75
    if ( $category eq "branches" ) {
77
        my $sth =
76
        my $sth = $dbh->prepare( "select branchcode,branchname from branches order by branchname" );
78
        $dbh->prepare(
79
            "select branchcode,branchname from branches order by branchname");
80
        $sth->execute;
77
        $sth->execute;
81
        push @authorised_values, ""
82
        unless ( $tagslib->{$tag}->{$subfield}->{mandatory} );
83
84
        while ( my ( $branchcode, $branchname ) = $sth->fetchrow_array ) {
78
        while ( my ( $branchcode, $branchname ) = $sth->fetchrow_array ) {
85
            push @authorised_values, $branchcode;
79
            push @authorised_values, $branchcode;
86
            $authorised_lib{$branchcode} = $branchname;
80
            $authorised_lib{$branchcode} = $branchname;
87
        }
81
        }
88
    }
82
    }
89
    elsif ( $category eq "itemtypes" ) {
83
    elsif ( $category eq "itemtypes" ) {
90
        push @authorised_values, ""
91
          unless ( $tagslib->{$tag}->{$subfield}->{mandatory}
92
            && ( $value || $tagslib->{$tag}->{$subfield}->{defaultvalue} ) );
93
94
        my $itemtype;
95
        my $itemtypes = Koha::ItemTypes->search_with_localization;
84
        my $itemtypes = Koha::ItemTypes->search_with_localization;
96
        while ( $itemtype = $itemtypes->next ) {
85
        while ( my $itemtype = $itemtypes->next ) {
97
            push @authorised_values, $itemtype->itemtype;
86
            push @authorised_values, $itemtype->itemtype;
98
            $authorised_lib{$itemtype->itemtype} = $itemtype->translated_description;
87
            $authorised_lib{$itemtype->itemtype} = $itemtype->translated_description;
99
        }
88
        }
100
        $value = $itemtype unless ($value);
101
102
        #---- "true" authorised value
103
    }
89
    }
104
    else {
90
    else { # "true" authorised value
105
        $authorised_values_sth->execute(
91
        $authorised_values_sth->execute(
106
            $tagslib->{$tag}->{$subfield}->{authorised_value} );
92
            $tagslib->{$tag}->{$subfield}->{authorised_value}
107
93
        );
108
        push @authorised_values, ""
109
          unless ( $tagslib->{$tag}->{$subfield}->{mandatory}
110
            && ( $value || $tagslib->{$tag}->{$subfield}->{defaultvalue} ) );
111
112
        while ( my ( $value, $lib ) = $authorised_values_sth->fetchrow_array ) {
94
        while ( my ( $value, $lib ) = $authorised_values_sth->fetchrow_array ) {
113
            push @authorised_values, $value;
95
            push @authorised_values, $value;
114
            $authorised_lib{$value} = $lib;
96
            $authorised_lib{$value} = $lib;
115
        }
97
        }
116
    }
98
    }
99
117
    return {
100
    return {
118
        type     => 'select',
101
        type     => 'select',
119
        id       => "tag_".$tag."_subfield_".$subfield."_".$index_tag."_".$index_subfield,
102
        id       => "tag_".$tag."_subfield_".$subfield."_".$index_tag."_".$index_subfield,
Lines 125-131 sub build_authorized_values_list { Link Here
125
    };
108
    };
126
}
109
}
127
110
128
129
=item create_input
111
=item create_input
130
112
131
builds the <input ...> entry for a subfield.
113
builds the <input ...> entry for a subfield.
Lines 133-139 builds the <input ...> entry for a subfield. Link Here
133
=cut
115
=cut
134
116
135
sub create_input {
117
sub create_input {
136
    my ( $tag, $subfield, $value, $index_tag, $rec, $authorised_values_sth,$cgi ) = @_;
118
    my ( $tag, $subfield, $value, $index_tag, $rec, $authorised_values_sth, $cgi ) = @_;
137
119
138
    my $index_subfield = CreateKey(); # create a specifique key for each subfield
120
    my $index_subfield = CreateKey(); # create a specifique key for each subfield
139
121
Lines 147-153 sub create_input { Link Here
147
129
148
    # if there is no value provided but a default value in parameters, get it
130
    # if there is no value provided but a default value in parameters, get it
149
    if ($value eq '') {
131
    if ($value eq '') {
150
        $value = $tagslib->{$tag}->{$subfield}->{defaultvalue};
132
        $value = $tagslib->{$tag}->{$subfield}->{defaultvalue} if !$cgi->param('authid'); # only for new records
151
        if (!defined $value) {
133
        if (!defined $value) {
152
            $value = q{};
134
            $value = q{};
153
        }
135
        }
154
- 

Return to bug 29334