--- loncom/interface/lonevaluate.pm 2008/11/21 20:17:11 1.26 +++ loncom/interface/lonevaluate.pm 2018/04/14 02:29:44 1.31 @@ -1,7 +1,7 @@ # The LearningOnline Network # Evaluate # -# $Id: lonevaluate.pm,v 1.26 2008/11/21 20:17:11 jms Exp $ +# $Id: lonevaluate.pm,v 1.31 2018/04/14 02:29:44 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -48,7 +48,7 @@ sub handler { &Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'},['postdata']); my $feedurl=$env{'form.postdata'}; - $feedurl=~s/^http\:\/\///; + $feedurl=~s/^https?\:\/\///; $feedurl=~s/^$ENV{'SERVER_NAME'}//; $feedurl=~s/^$ENV{'HTTP_HOST'}//; @@ -76,6 +76,11 @@ sub handler { my $warning=''; + my $windowname = 'loncapaclient'; + if ($env{'request.lti.login'}) { + $windowname .= 'lti'; + } + if ($env{'form.submiteval'} eq 'true') { # ------------------------------------------------ User is submitting something my $complete=1; @@ -88,34 +93,44 @@ sub handler { } if ($complete) { my $showurl=&Apache::lonenc::check_encrypt(&Apache::lonnet::clutter($feedurl)); - my $js =<<ENDJS; -<script type="text/javascript"> + my $js = &Apache::lonhtmlcommon::scripttag(<<ENDJS); function goback() { - if ((window.name=='loncapaclient')) { + if ((window.name=='$windowname')) { window.location='$showurl'; } else { self.close(); } } -</script> ENDJS - my $start_page = - &Apache::loncommon::start_page('Evaluate Resource',$js); - $r->print(' -'.$start_page.' -<h1>'.&mt('Thank you for your input!').'</h1> -'); - $r->print(&mt('Saving feedback: [_1]', - &Apache::lonnet::put('nohist_resevaldata',\%currenteval,$rdomain,$rauth))); + # Breadcrumbs + my $brcrum = [{'href' => '/adm/evaluate', + 'text' => 'Evaluate Resource'}, + {'href' => '', + 'text' => 'Done'}]; + + my $start_page = &Apache::loncommon::start_page('Evaluate Resource', + $js, + {'bread_crumbs' => $brcrum,}); + + $r->print($start_page + .'<p class="LC_success">' + .&mt('Saving feedback: [_1]' + ,&Apache::lonnet::put( + 'nohist_resevaldata',\%currenteval,$rdomain,$rauth)) + .'</p>' + ); unless ($already) { - $r->print('<br />'.&mt('Logging first evaluation')); + $r->print('<p>'.&mt('Logging first evaluation').'</p>'); } - $r->print( - '<script type="text/javascript">setTimeout("goback()",2000);</script>'.&Apache::loncommon::end_page()); + $r->print('<p><b>'.&mt('Thank you for your input!').'</b></p>' + .&Apache::lonhtmlcommon::scripttag( + 'setTimeout("goback()",2000);') + .&Apache::loncommon::end_page() + ); return OK; } else { - $warning=&mt('Please fill out all fields below'); + $warning=&mt('Please fill out all required fields below!'); } } @@ -152,60 +167,79 @@ ENDJS <option value="5">$lt{'e'}</option> ENDOPTIONS - my $start_page = &Apache::loncommon::start_page('Evaluate Resource'); + # Breadcrumbs + my $brcrum = [{'href' => '/adm/evaluate', + 'text' => 'Evaluate Resource'}]; + + my $start_page = &Apache::loncommon::start_page('Evaluate Resource', + undef, + {'bread_crumbs' => $brcrum,}); my $end_page = &Apache::loncommon::end_page(); - %lt=&Apache::lonlocal::texthash( + %lt=&Apache::lonlocal::texthash( 'pleaserank' => 'Please rank the following criteria:', + 'required' => '(All fields marked with * are required.)', 'correct' => 'The material appears to be correct', 'helpful' => 'The material is helpful', 'depth' => 'The material is covered with sufficient depth', 'clear' => 'The material is presented in a clear way', 'technical' => 'The resource is technically correct (loads fast enough, does not produce errors, links work, etc)', - 'comments' => 'Any comments?', + 'comments' => 'Comments', 'submit' => 'Submit Evaluation', ); - $r->print(<<ENDDOCUMENT); -$start_page -<h2><tt>$title</tt></h2><br /><br /> -<h3><font color="red">$warning</font></h3> -$lt{'pleaserank'}<br /> -<form method="post" name="evaluation" action="/adm/evaluate"> -<input type="hidden" name="submiteval" value="true" /> -<input type="hidden" name="postdata" value="$showurl" /> -<hr /> -$lt{'correct'} -<br /><select name="correct"> -$standardoptions -</select> -<hr /> -$lt{'helpful'} -<br /><select name="helpful"> -$standardoptions -</select> -<hr /> -$lt{'depth'} -<br /><select name="depth"> -$standardoptions -</select> -<hr /> -$lt{'clear'} -<br /><select name="clear"> -$standardoptions -</select> -<hr /> -$lt{'technical'} -<br /><select name="technical"> -$standardoptions -</select> -<hr /> -$lt{'comments'} -<br /><textarea name="comments" cols="40" rows="5">$oldcomments</textarea> -<script type="text/javascript">$dialold</script> -<br /><input type="submit" value="$lt{'submit'}" /> -</form> -$end_page -ENDDOCUMENT + $r->print( + $start_page + .'<h2>'.$title.'</h2>'); + + if ($warning) { + $r->print( + &Apache::loncommon::confirmwrapper( + &Apache::lonhtmlcommon::confirm_success( + $warning,1))); + } + $r->print( + '<form method="post" name="evaluation" action="/adm/evaluate">' + .'<input type="hidden" name="submiteval" value="true" />' + .'<input type="hidden" name="postdata" value="'.$showurl.'" />' + ); + $r->print( + &Apache::lonhtmlcommon::start_pick_box() + .&Apache::lonhtmlcommon::row_headline() + .$lt{'pleaserank'}.'<br />' + .'<span class="LC_info">'.$lt{'required'}.'</span>' + .&Apache::lonhtmlcommon::row_closure() + ); + + foreach my $key ('correct', 'helpful', 'depth', 'clear', 'technical') { + $r->print( + &Apache::lonhtmlcommon::row_title( + '<span title="'.&mt('required').'">'.$lt{$key} + .' <span class="LC_info">*</span></span>') + .'<select name="'.$key.'">' + .$standardoptions + .'</select>' + .&Apache::lonhtmlcommon::row_closure() + ); + } + + $r->print( + &Apache::lonhtmlcommon::row_title($lt{'comments'}) + .'<textarea name="comments" cols="40" rows="5">' + .$oldcomments + .'</textarea>' + .&Apache::lonhtmlcommon::row_closure(1) + .&Apache::lonhtmlcommon::end_pick_box() + .'<p>' + .'<input type="submit" value="'.$lt{'submit'}.'" />' + .'</p>' + ); + + $r->print( + &Apache::lonhtmlcommon::scripttag($dialold) + .'</form>' + .$end_page + ); + return OK; }