
Hi list, I'm playing with the ImportExport module, trying to add a new format backend. I think I've found a bug: In the Run() function in "Modules/AdminImportExport.pm", under subAction "TemplateEdit4", when creating the form input fields for the format attribute's value, the following code is used: for my $Item ( @{$MappingFormatAttributes} ) { # create form input my $InputString = $Self->{LayoutObject}->ImportExportFormInputCreate( Item => $Item, Prefix => 'Format::' . $AtributteRowCounter . '::', Value => $MappingFormatData->{ $Item->{Key} }, ); # output attribute row $Self->{LayoutObject}->Block( Name => 'TemplateEdit4MapNumberColumn', Data => { Name => $Item->{Name}, InputStrg => $InputString, Counter => $AtributteRowCounter, }, ); } Where no "Name" parameter is passed to the $Self->{LayoutObject}->ImportExportFormInputCreate() function. This causes the FormInputCreate() function in "Output/HTML/ImportExportLayoutText.pm" to create a field with a name containing the prefix twice: # prepare data my $ID = ( $Param{Prefix} || '' ) . ( $Param{Item}->{Key} ); my $Name = ( $Param{Prefix} || '' ) . ( $Param{Name} || $ID ); my $Class = ( $SizeClass || '' ) . ( $Param{Class} || '' ); my $String = "{ParamObject}->GetParam( Param => $Param{Prefix} . $Param{Item}->{Key}, ); So, this effectively prevents the user of text fields in the mapping definition. I fixed it here as follow: # create form input my $InputString = $Self->{LayoutObject}->ImportExportFormInputCreate( Item => $Item, ++ Name => $Item->{Name}, Prefix => 'Format::' . $AtributteRowCounter . '::', Value => $MappingFormatData->{ $Item->{Key} }, ); Does it make sense for you? Br, Cyrille
participants (1)
-
Cyrille Bollu