Bug 13757: (QA followup) Exclude empty attributes from rendering if non-editable
In self registration opac displayable (and not editable) attributes are displayed as empty. This an empty value is passed to the template for creating an empty input and it shouldn't when the attribute is not editable. Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io> Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org> Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
This commit is contained in:
parent
3ce0907819
commit
ec9ac4d7b9
1 changed files with 6 additions and 3 deletions
|
@ -254,7 +254,7 @@ elsif ( $action eq 'update' ) {
|
|||
}
|
||||
else {
|
||||
my %borrower_changes = DelUnchangedFields( $borrowernumber, %borrower );
|
||||
my $extended_attributes_changes = FilterUnchagedAttributes( $borrowernumber, $attributes );
|
||||
my $extended_attributes_changes = FilterUnchangedAttributes( $borrowernumber, $attributes );
|
||||
|
||||
if ( %borrower_changes || scalar @{$extended_attributes_changes} > 0 ) {
|
||||
( $template, $borrowernumber, $cookie ) = get_template_and_user(
|
||||
|
@ -317,6 +317,7 @@ elsif ( $action eq 'edit' ) { #Display logged in borrower's data
|
|||
|
||||
$template->param( patron_attribute_classes => GeneratePatronAttributesForm( $borrowernumber ) );
|
||||
} else {
|
||||
# Render self-registration page
|
||||
$template->param( patron_attribute_classes => GeneratePatronAttributesForm() );
|
||||
}
|
||||
|
||||
|
@ -474,7 +475,7 @@ sub DelEmptyFields {
|
|||
return %borrower;
|
||||
}
|
||||
|
||||
sub FilterUnchagedAttributes {
|
||||
sub FilterUnchangedAttributes {
|
||||
my ( $borrowernumber, $entered_attributes ) = @_;
|
||||
|
||||
my @patron_attributes = grep {$_->opac_editable} Koha::Patron::Attributes->search({ borrowernumber => $borrowernumber })->as_list;
|
||||
|
@ -574,7 +575,9 @@ sub GeneratePatronAttributesForm {
|
|||
# If editable, make sure there's at least one empty entry,
|
||||
# to make the template's job easier
|
||||
values => $attr_values{ $attr_type->code() } || ['']
|
||||
};
|
||||
}
|
||||
unless !defined $attr_values{ $attr_type->code() }
|
||||
and !$attr_type->opac_editable;
|
||||
}
|
||||
|
||||
# Finally, build a list of containing classes
|
||||
|
|
Loading…
Reference in a new issue