Diff for /loncom/homework/essayresponse.pm between versions 1.122 and 1.128

version 1.122, 2014/12/06 20:08:16 version 1.128, 2025/03/02 05:22:43
Line 68  sub start_essayresponse { Line 68  sub start_essayresponse {
                 ($Apache::lonhomework::type eq 'anonsurveycred')) {                  ($Apache::lonhomework::type eq 'anonsurveycred')) {
                 $hiddendraft = '<input type="hidden" name="HWDRAFT'.$part.'_'.$id.'" value="yes" />';                  $hiddendraft = '<input type="hidden" name="HWDRAFT'.$part.'_'.$id.'" value="yes" />';
             } else {              } else {
                 $result = &draft_row($part,$id,$ncol,$uploadedfiletypes);                  $result = &draft_row($part,$id,$ncol,$uploadedfiletypes,'essayresponse');
     }      }
     if ($ncol > 0) {      if ($ncol > 0) {
                 $result .= &get_collab_row($part,$id,$coll,$ncol);                  $result .= &get_collab_row($part,$id,$coll,$ncol);
Line 98  sub start_essayresponse { Line 98  sub start_essayresponse {
 }  }
   
 sub draft_row {  sub draft_row {
     my ($part,$id,$ncol,$uploadedfiletypes) = @_;      my ($part,$id,$ncol,$uploadedfiletypes,$resptype) = @_;
     my $status_text = &mt('Submission type');      my $status_text = &mt('Submission type');
     if ($Apache::lonhomework::history{"resource.$part.award"} eq 'DRAFT') {      if ($Apache::lonhomework::history{"resource.$part.award"} eq 'DRAFT') {
         $status_text .= '<br />'.&mt('(Currently -- draft)');          $status_text .= '<br />'.&mt('(Currently -- draft)');
Line 107  sub draft_row { Line 107  sub draft_row {
     unless ($ncol || $uploadedfiletypes) {      unless ($ncol || $uploadedfiletypes) {
         $closure = 1;          $closure = 1;
     }      }
       my %label = (
           draft => {
                      essayresponse => &mt('Save entries below (not submitted for credit yet)'),
                      externalresponse => &mt('Save entries below (not submitted for grading yet)'),
                    },
           submit => {
                       essayresponse => &mt('Submit entries below as answer to receive credit'),
                       externalresponse => &mt('Submit entries below for grading'),
                     }
       );
     return &Apache::lonhtmlcommon::row_title($status_text).      return &Apache::lonhtmlcommon::row_title($status_text).
            '<label>'.             '<fieldset class="LC_landmark">'.
            '<input type="radio" name="HWDRAFT'.$part.'_'.$id.'" value="yes" checked="checked" />'.             '<legend class="LC_visually_hidden">'.$status_text.'</legend>'.
            '&nbsp;'.&mt('Submit entries below as answer to receive credit').'</label> <br />'.             '<div><label><input type="radio" name="HWDRAFT'.$part.'_'.$id.'" value="yes" checked="checked" />'.
            '<label>'.             '&nbsp;'.$label{'submit'}{$resptype}.'</label></div>'.
              '<div><label>'.
            '<input type="radio" name="HWDRAFT'.$part.'_'.$id.'" value="no" />&nbsp;'.             '<input type="radio" name="HWDRAFT'.$part.'_'.$id.'" value="no" />&nbsp;'.
            &mt('Save entries below (not submitted for credit yet)').             $label{'draft'}{$resptype}.'</label></div></fieldset>'.
            '</label>'.  
            &Apache::lonhtmlcommon::row_closure($closure);             &Apache::lonhtmlcommon::row_closure($closure);
 }  }
   
Line 139  sub show_status_table { Line 149  sub show_status_table {
     my ($part,$id,$coll) = @_;      my ($part,$id,$coll) = @_;
     my $output;      my $output;
     if ($coll) {      if ($coll) {
         $output = '<td><i>'.&mt('Collaborated with [_1]',$coll).'</i></td>';          my $udom = $env{'user.domain'};
           my $uname = $env{'user.name'};
           my @collaborators;
           foreach my $possible_collaborator
               (split(/[,;\s]+/,$coll)) {
               $possible_collaborator =~ s/[\$\^\(\)]//g;
               next if ($possible_collaborator eq '');
               my ($co_name,$co_dom) = split(/:/,$possible_collaborator);
               $co_dom = $udom if (! defined($co_dom) || $co_dom =~ /^domain$/i);
               next if ($co_name eq $uname && $co_dom eq $udom);
               push(@collaborators,$possible_collaborator);
           }
           if (@collaborators) {
               $output = '<div style="display: inline-block; float: left">'."\n".
                         &Apache::loncommon::start_data_table().
                         &Apache::loncommon::data_table_caption(&mt('Collaborators'),'LC_filesub_status').
                         &Apache::loncommon::start_data_table_header_row().
                         '<th>'.&mt('Username').'</th>'.
                         &Apache::loncommon::end_data_table_header_row()."\n";
               foreach my $user (@collaborators) {
                   $output .= &Apache::loncommon::start_data_table_row().
                              '<td>'.$user.'</td>'.
                              &Apache::loncommon::end_data_table_row()."\n";
               }
               $output .= &Apache::loncommon::end_data_table().'</div>';
           }
     }      }
     my $current_files_display = &Apache::inputtags::current_file_submissions($part,$id);      my $current_files_display =
           &Apache::inputtags::current_file_submissions($part,$id,'',&mt('Submitted files'));
     if ($current_files_display) {      if ($current_files_display) {
         $output .= '<td><b>'.&mt('Submitted files:').'</b><br />'.          $output .= '<div style="display: inline-block; float:left;">'.
                    $current_files_display.'</td>';                     $current_files_display.'</div>';
     }      }
     if ($output ne '') {      if ($output ne '') {
         return '<table class="LC_pastsubmission"><tr>'.$output.          return '<div style="padding:0;clear:both;margin:0;border:0"></div>'.
                '</tr></table>';                 $output.
                  '<div style="padding:0;clear:both;margin:0;border:0"></div>';
     }      }
     return;      return;
 }  }
Line 217  sub end_essayresponse { Line 254  sub end_essayresponse {
       &escape($crsid));        &escape($crsid));
  my $essayurl=   my $essayurl=
     &Apache::lonnet::declutter($ENV{'REQUEST_URI'});      &Apache::lonnet::declutter($ENV{'REQUEST_URI'});
  my ($adom,$aname,$apath)=                          if ($essayurl eq 'lib/templates/simpleproblem.problem') {
     ($essayurl=~/^($LONCAPA::domain_re)\/($LONCAPA::username_re)\/(.*)$/);                              my %crsinfo = &Apache::lonnet::coursedescription($crsid);
                         $apath=&escape($apath);                              my $cdom = $crsinfo{'domain'};
  $apath=~s/\W/\_/gs;                              my $cnum = $crsinfo{'num'};
  &Apache::lonnet::put('nohist_essay_'.$apath,                              my ($map,$id,$res) = &Apache::lonnet::decode_symb($symb);
  { $akey => $response },$adom,$aname);                              if ($map =~ m{^\Quploaded/$cdom/$cnum/\E(default(?:|_\d+)\.(?:sequence|page))$}) {
     }                                  my $apath = $1.'_'.$id;
                                   $apath=~s/\W/\_/gs;
                                   my $akey = join('.',&escape($name),&escape($domain));
                                   &Apache::lonnet::put('nohist_essay_'.$apath,
                                                        { $akey => $response },$cdom,$cnum);
                               }
                           } else {
       my ($adom,$aname,$apath)=
           ($essayurl=~/^($LONCAPA::domain_re)\/($LONCAPA::username_re)\/(.*)$/);
                               $apath=&escape($apath);
       $apath=~s/\W/\_/gs;
       &Apache::lonnet::put('nohist_essay_'.$apath,
                                                    { $akey => $response },$adom,$aname);
                           }
                       }
                 }                  }
             }              }
  }           }
     } elsif ($target eq 'edit') {      } elsif ($target eq 'edit') {
  $result.=&Apache::edit::end_table();   $result.=&Apache::edit::end_table();
   
Line 318  sub file_submission { Line 369  sub file_submission {
     if ($Apache::lonhomework::history{"resource.$part.$id.portfiles"} ||      if ($Apache::lonhomework::history{"resource.$part.$id.portfiles"} ||
         $Apache::lonhomework::history{"resource.$part.$id.uploadedurl"}) {          $Apache::lonhomework::history{"resource.$part.$id.uploadedurl"}) {
         if ($Apache::lonhomework::history{"resource.$part.$id.portfiles"}) {          if ($Apache::lonhomework::history{"resource.$part.$id.portfiles"}) {
             @portfiles = split(/,/,$Apache::lonhomework::history{"resource.$part.$id.portfiles"});              my @possfiles = split(/,/,$Apache::lonhomework::history{"resource.$part.$id.portfiles"});
               foreach my $file (@possfiles) {
                   my ($path,$name) = ($file =~ m{^(.*/)([^/]+)$});
                   my ($origname,$version,$ext) = &Apache::lonnet::file_name_version_ext($name);
                   unless ($version) {
                       push(@portfiles,$file);
                   }
               }
         }          }
         $uploadedurl = $Apache::lonhomework::history{"resource.$part.$id.uploadedurl"};          $uploadedurl = $Apache::lonhomework::history{"resource.$part.$id.uploadedurl"};
         if (ref($deletions) eq 'ARRAY') {          if (ref($deletions) eq 'ARRAY') {

Removed from v.1.122  
changed lines
  Added in v.1.128


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>