X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=stemmaweb%2Flib%2Fstemmaweb%2FController%2FRelation.pm;h=08421244d8111e3ceeebb9078218f38d11440ad8;hb=a1411d50483bfd6cc561d7f8d81941cd6d6f61a9;hp=22a1d0701a7654b3cb04133fffbaad4491eabc0d;hpb=896fe649a80575aaa06d3484c09579a2cb34ba8a;p=scpubgit%2Fstemmatology.git diff --git a/stemmaweb/lib/stemmaweb/Controller/Relation.pm b/stemmaweb/lib/stemmaweb/Controller/Relation.pm index 22a1d07..0842124 100644 --- a/stemmaweb/lib/stemmaweb/Controller/Relation.pm +++ b/stemmaweb/lib/stemmaweb/Controller/Relation.pm @@ -313,20 +313,23 @@ sub reading :Chained('text') :PathPart :Args(1) { foreach my $p ( keys %{$c->request->params} ) { if( $p =~ /^morphology_(\d+)$/ ) { # Set the form on the correct lexeme + my $morphval = $c->request->param( $p ); + next unless $morphval; my $midx = $1; - $c->log->debug( "Fetching lexeme $midx" ); my $lx = $rdg->lexeme( $midx ); - my $strrep = $rdg->language . ' // ' - . $c->request->param( $p ); + my $strrep = $rdg->language . ' // ' . $morphval; my $idx = $lx->has_form( $strrep ); unless( defined $idx ) { # Make the word form and add it to the lexeme. - $c->log->debug("Adding new form for $strrep"); try { $idx = $lx->add_matching_form( $strrep ) - 1; } catch( Text::Tradition::Error $e ) { $c->response->status( '403' ); $errmsg = $e->message; + } catch { + # Something else went wrong, probably a Moose error + $c->response->status( '403' ); + $errmsg = 'Something went wrong with the request'; } } $lx->disambiguate( $idx ) if defined $idx;