X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=stemmaweb%2Flib%2Fstemmaweb%2FController%2FRelation.pm;h=08421244d8111e3ceeebb9078218f38d11440ad8;hb=HEAD;hp=8785d6fc108c133f4d77ae969fabada6d75f5641;hpb=a7f4020a1a1fd72aba6e25dc0a8f8aa9a1891202;p=scpubgit%2Fstemmatology.git diff --git a/stemmaweb/lib/stemmaweb/Controller/Relation.pm b/stemmaweb/lib/stemmaweb/Controller/Relation.pm index 8785d6f..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; @@ -336,7 +339,7 @@ sub reading :Chained('text') :PathPart :Args(1) { } } } - $m->save( $tradition ); + $m->save( $rdg ); $c->stash->{'result'} = $errmsg ? { 'error' => $errmsg } : _reading_struct( $rdg );