=cut
-sub GetPrimaryKeys($) {
+sub GetPrimaryKeys {
my $tablename=shift;
my $hash_columns=_get_columns($tablename);
return grep { $hash_columns->{$_}->{'Key'} =~/PRI/i} keys %$hash_columns;
=cut
-sub _get_columns($) {
+sub _get_columns {
my ($tablename) = @_;
unless ( exists( $hashref->{$tablename} ) ) {
my $dbh = C4::Context->dbh;
=cut
-sub _filter_columns ($$;$) {
+sub _filter_columns {
my ($tablename,$research, $filtercolumns)=@_;
if ($filtercolumns){
return (@$filtercolumns);
## supposed to be a hash of simple values, hashes of arrays could be implemented
$filter_input->{$field}=format_date_in_iso($filter_input->{$field})
if $columns->{$field}{Type}=~/date/ &&
- $filter_input->{$field} !~C4::Dates->regexp("iso");
+ ($filter_input->{$field} && $filter_input->{$field} !~C4::Dates->regexp("iso"));
my ($tmpkeys, $localvalues)=_Process_Operands($filter_input->{$field},"$tablename.$field",$searchtype,$columns);
if (@$tmpkeys){
push @values, @$localvalues;