bug 2206: always have $9 for headings fields
If a field can be linked to an authority record (i.e., an authtypecode is defined for subfield $a), always include the subfield $9 in a (readonly) input element even if it is marked hidden per the MARC framework. Prior to this patch, a $9 marked hidden per the framework would not be included in the form, causing the authority record number link to not be added when choosing a heading from the authority finder. In other words, with BiblioAddsAuthorities OFF, any authorized headings in bibs added via the MARC editor would not have the subfield $9, and thus would appear to not be used by any bibs. Note that subfield $9 is set to be readonly, as changing the authority number link does not currently change the heading stored in the bib record. Signed-off-by: Joshua Ferraro <jmf@liblime.com>
This commit is contained in:
parent
c80b328aae
commit
8894d28779
1 changed files with 35 additions and 2 deletions
|
@ -339,6 +339,25 @@ sub create_input {
|
||||||
build_authorized_values_list( $tag, $subfield, $value, $dbh,
|
build_authorized_values_list( $tag, $subfield, $value, $dbh,
|
||||||
$authorised_values_sth,$index_tag,$index_subfield );
|
$authorised_values_sth,$index_tag,$index_subfield );
|
||||||
|
|
||||||
|
# it's a subfield $9 linking to an authority record - see bug 2206
|
||||||
|
}
|
||||||
|
elsif ($subfield eq "9" and
|
||||||
|
exists($tagslib->{$tag}->{'a'}->{authtypecode}) and
|
||||||
|
defined($tagslib->{$tag}->{'a'}->{authtypecode}) and
|
||||||
|
$tagslib->{$tag}->{'a'}->{authtypecode} ne '') {
|
||||||
|
|
||||||
|
$subfield_data{marc_value} =
|
||||||
|
"<input type=\"text\"
|
||||||
|
id=\"".$subfield_data{id}."\"
|
||||||
|
name=\"".$subfield_data{id}."\"
|
||||||
|
value=\"$value\"
|
||||||
|
class=\"input_marceditor\"
|
||||||
|
tabindex=\"1\"
|
||||||
|
size=\"5\"
|
||||||
|
maxlength=\"255\"
|
||||||
|
readonly=\"readonly\"
|
||||||
|
\/>";
|
||||||
|
|
||||||
# it's a thesaurus / authority field
|
# it's a thesaurus / authority field
|
||||||
}
|
}
|
||||||
elsif ( $tagslib->{$tag}->{$subfield}->{authtypecode} ) {
|
elsif ( $tagslib->{$tag}->{$subfield}->{authtypecode} ) {
|
||||||
|
@ -602,8 +621,15 @@ sub build_tabs ($$$$$) {
|
||||||
next if ( $tag < 10 );
|
next if ( $tag < 10 );
|
||||||
next
|
next
|
||||||
if ( ( $tagslib->{$tag}->{$subfield}->{hidden} <= -4 )
|
if ( ( $tagslib->{$tag}->{$subfield}->{hidden} <= -4 )
|
||||||
or ( $tagslib->{$tag}->{$subfield}->{hidden} >= 5 )
|
or ( $tagslib->{$tag}->{$subfield}->{hidden} >= 5 ) )
|
||||||
); #check for visibility flag
|
and not ( $subfield eq "9" and
|
||||||
|
exists($tagslib->{$tag}->{'a'}->{authtypecode}) and
|
||||||
|
defined($tagslib->{$tag}->{'a'}->{authtypecode}) and
|
||||||
|
$tagslib->{$tag}->{'a'}->{authtypecode} ne ""
|
||||||
|
)
|
||||||
|
; #check for visibility flag
|
||||||
|
# if subfield is $9 in a field whose $a is authority-controlled,
|
||||||
|
# always include in the form regardless of the hidden setting - bug 2206
|
||||||
next if ( defined( $field->subfield($subfield) ) );
|
next if ( defined( $field->subfield($subfield) ) );
|
||||||
push(
|
push(
|
||||||
@subfields_data,
|
@subfields_data,
|
||||||
|
@ -644,7 +670,14 @@ sub build_tabs ($$$$$) {
|
||||||
next
|
next
|
||||||
if ( ( $tagslib->{$tag}->{$subfield}->{hidden} <= -5 )
|
if ( ( $tagslib->{$tag}->{$subfield}->{hidden} <= -5 )
|
||||||
or ( $tagslib->{$tag}->{$subfield}->{hidden} >= 4 ) )
|
or ( $tagslib->{$tag}->{$subfield}->{hidden} >= 4 ) )
|
||||||
|
and not ( $subfield eq "9" and
|
||||||
|
exists($tagslib->{$tag}->{'a'}->{authtypecode}) and
|
||||||
|
defined($tagslib->{$tag}->{'a'}->{authtypecode}) and
|
||||||
|
$tagslib->{$tag}->{'a'}->{authtypecode} ne ""
|
||||||
|
)
|
||||||
; #check for visibility flag
|
; #check for visibility flag
|
||||||
|
# if subfield is $9 in a field whose $a is authority-controlled,
|
||||||
|
# always include in the form regardless of the hidden setting - bug 2206
|
||||||
next
|
next
|
||||||
if ( $tagslib->{$tag}->{$subfield}->{tab} ne $tabloop );
|
if ( $tagslib->{$tag}->{$subfield}->{tab} ne $tabloop );
|
||||||
push(
|
push(
|
||||||
|
|
Loading…
Reference in a new issue