Index: perl_lib/EPrints/MetaField.pm =================================================================== --- perl_lib/EPrints/MetaField.pm +++ perl_lib/EPrints/MetaField.pm @@ -362,7 +393,14 @@ } my $phrasename = $self->{confid}."_fieldname_".$self->{name}; - return $self->repository->html_phrase( $phrasename ); + # START: Changes made to provide context sensitive names + my $eptype = $self->{repository}->{eptype} || ''; + if ($eptype) { + $phrasename .= "#$eptype" if $self->repository->get_lang->has_phrase("$phrasename#$eptype"); + } + # END: Changes made to provide context sensitive names + + return $self->repository->html_phrase( $phrasename ); } @@ -412,7 +450,14 @@ } my $phrasename = $self->{confid}."_fieldhelp_".$self->{name}; - return $self->repository->html_phrase( $phrasename ); + # START: Changes made to provide context sensitive help + my $eptype = $self->{repository}->{eptype} || ''; + if ($eptype) { + $phrasename .= "#$eptype" if $self->repository->get_lang->has_phrase("$phrasename#$eptype"); + } + # END: Changes made to provide context sensitive help + + return $self->repository->html_phrase( $phrasename ); } Index: perl_lib/EPrints/Repository.pm =================================================================== --- perl_lib/EPrints/Repository.pm +++ perl_lib/EPrints/Repository.pm @@ -4727,6 +4715,15 @@ $self->{query} = CGI->new( $r ); } + # cache the first eprint type for use by metafield later (context sensitive help and field names) + my $eprintid = $self->{query}->{eprintid}->[0] || $self->{query}->{param}->{eprintid}->[0]; + if ($eprintid) { + my $eprint = $self->eprint($eprintid); + if ($eprint) { + $self->{eptype} = $eprint->get_type; + } + } + $c->notes->set( loginparams=>'undef' ); }