Ticket #4044 (closed defect: fixed)

Opened 13 months ago

Last modified 13 months ago

InputForm/Component/Field/Subject - search broken

Reported by: tmb Owned by:
Priority: Customer Report Milestone: EPrints 3.3.10
Component: - Version: unspecified
Severity: normal Keywords:
Cc:

Description

In 3.3.8 the "Search subject" function just reloads the page ie. ignores search parameters.

The following change works for me:

--- perl_lib/EPrints/Plugin/InputForm/Component/Field/Subject.pm.old	2012-04-30 13:11:56.915955000 +0100
+++ perl_lib/EPrints/Plugin/InputForm/Component/Field/Subject.pm	2012-04-30 12:39:12.037698000 +0100
@@ -406,7 +406,9 @@
 	my( $self ) = @_;
 
 	my $params = "";
-	foreach my $id ( $self->{prefix}."_q" )
+	foreach my $id ( $self->{prefix}."q" )
 	{
 		my $v = $self->{session}->param( $id );
 		next unless defined $v;

Change History

Changed 13 months ago by tmb

When getting the "Search Subjects" search string, MetaField::from_search_form uses

my( $value, $match, $merge ) = 
        (
                scalar($session->param( $basename )),
...

basename is passed by Search::Field::from_form:

        my( $value, $match, $merge, $problem) =
                $self->{"field"}->from_search_form( 
                        $self->{"repository"}, 
                        $self->{"form_name_prefix"} );

form_name_prefix is set by Search::Field::new:

         $self{form_name_prefix} = $prefix.$self{id};

=> mismatch between form_name_prefix and param ID used in Subject input component.

Changed 13 months ago by tmb

  • version set to unspecified
  • milestone set to EPrints 3.3.10

Changed 13 months ago by tdb01r

  • status changed from new to closed
  • resolution set to fixed

Resolved by r7659.

Note: See TracTickets for help on using tickets.