Diff for /loncom/interface/lonrequestcourse.pm between versions 1.95.2.2.2.1 and 1.95.2.3

version 1.95.2.2.2.1, 2020/07/17 20:39:55 version 1.95.2.3, 2018/09/02 01:16:59
Line 551  sub form_elements { Line 551  sub form_elements {
                 clonedom         => 'selectbox',                  clonedom         => 'selectbox',
                 datemode         => 'radio',                  datemode         => 'radio',
                 dateshift        => 'text',                  dateshift        => 'text',
                 tinyurls         => 'radio',  
             },              },
             enrollment  => {              enrollment  => {
                 accessstart_month  => 'selectbox',                  accessstart_month  => 'selectbox',
Line 2918  sub print_review { Line 2917  sub print_review {
         $inst_values .= '<td>'.$env{'form.coursecredits'}.'</td>';          $inst_values .= '<td>'.$env{'form.coursecredits'}.'</td>';
     }      }
   
     my %ctxt = &clone_text($env{'form.crstype'});      my %ctxt = &clone_text();
     $inst_headers .= '<th>'.&mt('Clone From').'</th>';      $inst_headers .= '<th>'.&mt('Clone From').'</th>';
     if (($env{'form.cloning'}) &&      if (($env{'form.cloning'}) &&
         ($env{'form.clonecrs'} =~ /^$match_name$/) &&           ($env{'form.clonecrs'} =~ /^$match_name$/) && 
Line 2930  sub print_review { Line 2929  sub print_review {
             my %courseenv = &Apache::lonnet::userenvironment($env{'form.clonedom'},              my %courseenv = &Apache::lonnet::userenvironment($env{'form.clonedom'},
                               $env{'form.clonecrs'},('description','internal.coursecode'));                                $env{'form.clonecrs'},('description','internal.coursecode'));
             if (keys(%courseenv) > 0) {              if (keys(%courseenv) > 0) {
                 $inst_headers .= '<th>'.$ctxt{'dsh'}.'</th>'.                  $inst_headers .= '<th>'.$ctxt{'dsh'}.'</th>';
                                  '<th>'.$ctxt{'dpl'}.'</th>';  
                 $inst_values .= '<td>'.$courseenv{'description'}.'&nbsp;';                  $inst_values .= '<td>'.$courseenv{'description'}.'&nbsp;';
                 my $cloneinst = $courseenv{'internal.coursecode'};                  my $cloneinst = $courseenv{'internal.coursecode'};
                 if ($cloneinst ne '') {                  if ($cloneinst ne '') {
Line 2947  sub print_review { Line 2945  sub print_review {
                 } else {                  } else {
                     $inst_values .= $ctxt{'ncd'};                      $inst_values .= $ctxt{'ncd'};
                 }                  }
                 $inst_values .= '</td><td>';  
                 if ($env{'form.tinyurls'} eq 'delete') {  
                     $inst_values .= $ctxt{'nsl'};  
                 } elsif ($env{'form.tinyurls'} eq 'transfer') {  
                     $inst_values .= $ctxt{'tsl'};  
                 } else {  
                     $inst_values .= $ctxt{'csl'};  
                 }  
                 $inst_values .= '</td>';                  $inst_values .= '</td>';
              } else {               } else {
                  $inst_values .= '<td>'.&mt('Unknown').'</td>';                   $inst_values .= '<td>'.&mt('Unknown').'</td>';
Line 3183  sub clone_form { Line 3173  sub clone_form {
     if ($crstype eq 'community') {      if ($crstype eq 'community') {
         $type = 'Community';          $type = 'Community';
     }      }
     my %lt = &clone_text($crstype);      my %lt = &clone_text();
     my $output .=       my $output .= 
         &Apache::lonhtmlcommon::row_title($lt{'dmn'}).'<label>'.          &Apache::lonhtmlcommon::row_title($lt{'dmn'}).'<label>'.
         &Apache::loncommon::select_dom_form($dom,'clonedom').'</label>'.          &Apache::loncommon::select_dom_form($dom,'clonedom').'</label>'.
Line 3201  sub clone_form { Line 3191  sub clone_form {
         '<input type="radio" name="datemode" value="shift" checked="checked" /> '.          '<input type="radio" name="datemode" value="shift" checked="checked" /> '.
         $lt{'shd'}.'</label>'.          $lt{'shd'}.'</label>'.
         '<input type="text" size="5" name="dateshift" value="365" />'.          '<input type="text" size="5" name="dateshift" value="365" />'.
         &Apache::lonhtmlcommon::row_closure(1).  
         &Apache::lonhtmlcommon::row_title($lt{'dpl'}).'<label>'.  
         '<input type="radio" name="tinyurls" value="delete" /> '.$lt{'nsl'}.  
         '</label><br /><label>'.  
         '<input type="radio" name="tinyurls" value="transfer" /> '.$lt{'tsl'}.  
         '</label><br /><label>'.  
         '<input type="radio" name="tinyurls" value="create" checked="checked" /> '.$lt{'csl'}.  
         '</label>'.  
         &Apache::lonhtmlcommon::row_closure(1);          &Apache::lonhtmlcommon::row_closure(1);
     return $output;      return $output;
 }  }
   
 sub clone_text {  sub clone_text {
     my ($crstype) = @_;      return &Apache::lonlocal::texthash(
     my %lt = &Apache::lonlocal::texthash(  
                'cid'  => 'Course ID',                 'cid'  => 'Course ID',
                'dmn'  => 'Domain',                 'dmn'  => 'Domain',
                'dsh'  => 'Date Shift',                 'dsh'  => 'Date Shift',
                'ncd'  => 'Do not clone date parameters',                 'ncd'  => 'Do not clone date parameters',
                'prd'  => 'Clone date parameters as-is',                 'prd'  => 'Clone date parameters as-is',
                'shd'  => 'Shift date parameters by number of days',                 'shd'  => 'Shift date parameters by number of days',
                'dpl'  => 'URL shortcuts (for deep linking)',          );
                'nsl'  => 'Do not clone URL shortcuts',  
                'tsl'  => 'Transfer URL shortcuts from existing course to new course',  
                'csl'  => 'Create new URL shortcuts in new course',  
     );  
     if ($crstype eq 'Community') {  
         $lt{'tsl'} = &mt('Transfer URL shortcuts from existing course to new community');  
         $lt{'csl'} = &mt('Create new URL shortcuts in new course');  
     }  
     return %lt;  
 }  }
   
 sub coursecode_form {  sub coursecode_form {
Line 3673  sub print_request_outcome { Line 3645  sub print_request_outcome {
                     clonecrs       => $clonecrs,                      clonecrs       => $clonecrs,
                     datemode       => $env{'form.datemode'},                      datemode       => $env{'form.datemode'},
                     dateshift      => $env{'form.dateshift'},                      dateshift      => $env{'form.dateshift'},
                     tinyurls       => $env{'form.tinyurls'},  
                     sectotal       => $sectotal,                      sectotal       => $sectotal,
                     sections       => \%sections,                      sections       => \%sections,
                     crosslisttotal => $crosslisttotal,                      crosslisttotal => $crosslisttotal,
Line 3805  sub process_request { Line 3776  sub process_request {
             $storeresult = 'rejected';              $storeresult = 'rejected';
         } elsif ($disposition eq 'process') {          } elsif ($disposition eq 'process') {
             my %domdefs = &Apache::lonnet::get_domain_defaults($dom);              my %domdefs = &Apache::lonnet::get_domain_defaults($dom);
             my ($logmsg,$newusermsg,$addresult,$enrollcount,$response,              my ($logmsg,$newusermsg,$addresult,$enrollcount,$response,$keysmsg,%longroles,$code);
                 $keysmsg,%longroles,$code);  
             my $clonemsg = [];  
             my $type = 'Course';              my $type = 'Course';
             if ($crstype eq 'community') {              if ($crstype eq 'community') {
                 $type = 'Community';                  $type = 'Community';
Line 3840  sub process_request { Line 3809  sub process_request {
             $customitems{'_LC_coursestartdate'} = $accessstart;              $customitems{'_LC_coursestartdate'} = $accessstart;
             $customitems{'_LC_courseenddate'} = $accessend;              $customitems{'_LC_courseenddate'} = $accessend;
             my ($result,$postprocess) = &Apache::loncoursequeueadmin::course_creation($dom,$cnum,              my ($result,$postprocess) = &Apache::loncoursequeueadmin::course_creation($dom,$cnum,
                                           'autocreate',$details,\$logmsg,$clonemsg,\$newusermsg,                                            'autocreate',$details,\$logmsg,\$newusermsg,\$addresult,
                                           \$addresult,\$enrollcount,\$response,\$keysmsg,\%domdefs,                                            \$enrollcount,\$response,\$keysmsg,\%domdefs,\%longroles,
                                           \%longroles,\$code,\%customitems);                                            \$code,\%customitems);
             if (ref($postprocess) eq 'HASH') {              if (ref($postprocess) eq 'HASH') {
                 $customized = $postprocess->{'createdcustomized'};                  $customized = $postprocess->{'createdcustomized'};
             }              }
Line 3876  sub process_request { Line 3845  sub process_request {
                     $output .= '<br />'.$role_result;                      $output .= '<br />'.$role_result;
                 }                  }
                 $output .= '</p>';                  $output .= '</p>';
                 if ($logmsg) {  
                     $output .= '<p>'.$logmsg.'</p>';  
                 }  
                 if ((ref($clonemsg) eq 'ARRAY') && (@{$clonemsg})) {  
                     $output .= '<p class="LC_info">';  
                     my $user_lh = &Apache::loncommon::user_lang($env{'user.name'},$env{'user.domain'});  
                     foreach my $item (@{$clonemsg}) {  
                         if (ref($item) eq 'HASH') {  
                             $output .= &mt_user($user_lh,$item->{mt},  
                                                 @{$item->{args}}).'<br />'."\n";  
                         }  
                     }  
                     $output .= '</p>'."\n";  
                 }  
                 $creationresult = 'created';                  $creationresult = 'created';
             } else {              } else {
                 $output = '<span class="LC_error">';                  $output = '<span class="LC_error">';
Line 4412  sub retrieve_settings { Line 4367  sub retrieve_settings {
             }              }
             $env{'form.datemode'} = $reqinfo{'datemode'};              $env{'form.datemode'} = $reqinfo{'datemode'};
             $env{'form.dateshift'} = $reqinfo{'dateshift'};              $env{'form.dateshift'} = $reqinfo{'dateshift'};
             $env{'form.tinyurls'} = $reqinfo{'tinyurls'};  
             if ($reqinfo{'crstype'} eq 'official') {              if ($reqinfo{'crstype'} eq 'official') {
                 $env{'form.autoadds'} = $reqinfo{'autoadds'};                  $env{'form.autoadds'} = $reqinfo{'autoadds'};
                 $env{'form.autodrops'} = $reqinfo{'autodrops'};                  $env{'form.autodrops'} = $reqinfo{'autodrops'};
Line 4815  sub print_textbook_form { Line 4769  sub print_textbook_form {
 #  #
 # Table of user's current courses (owner and/or course coordinator)  # Table of user's current courses (owner and/or course coordinator)
 #  #
     my %lt = &clone_text('Course');      my %lt = &clone_text();
     if (keys(%cloneable)) {      if (keys(%cloneable)) {
         $r->print('<div id="showexisting" style="display:none">'.          $r->print('<div id="showexisting" style="display:none">'.
                   &clone_selection_table($dom,'owned',\%cloneable).                    &clone_selection_table($dom,'owned',\%cloneable).
                   '<fieldset style="display:inline-block"><legend>'.$lt{'dsh'}.'</legend><label>'.                    '<p><input type="radio" name="owndatemode" value="delete" /> '.$lt{'ncd'}.
                   '<input type="radio" name="owndatemode" value="delete" /> '.$lt{'ncd'}.  
                   '</label><br /><label>'.                    '</label><br /><label>'.
                   '<input type="radio" name="owndatemode" value="preserve" /> '.$lt{'prd'}.                    '<input type="radio" name="owndatemode" value="preserve" /> '.$lt{'prd'}.
                   '</label><br /><label>'.                    '</label><br /><label>'.
                   '<input type="radio" name="owndatemode" value="shift" checked="checked" /> '.                    '<input type="radio" name="owndatemode" value="shift" checked="checked" /> '.
                   $lt{'shd'}.'</label>'.                    $lt{'shd'}.'</label>'.
                   '<input type="text" size="5" name="owndateshift" value="365" />'.                    '<input type="text" size="5" name="owndateshift" value="365" />'.
                   '</fieldset><fieldset style="display:inline-block">'.  
                   '<legend>'.$lt{'dpl'}.'</legend><label>'.  
                   '<input type="radio" name="owntinyurls" value="delete" />'.$lt{'nsl'}.  
                   '</label><br /><label>'.  
                   '<input type="radio" name="owntinyurls" value="transfer" />'.$lt{'tsl'}.  
                   '</label><br /><label>'.  
                   '<input type="radio" name="owntinyurls" value="create" checked="checked" />'.$lt{'csl'}.  
                   '</label></fieldset>'.  
                   '</div>');                    '</div>');
     }      }
 #  #
Line 4843  sub print_textbook_form { Line 4788  sub print_textbook_form {
     if (keys(%domcloneable)) {      if (keys(%domcloneable)) {
         $r->print('<div id="showcolleague" style="display:none">'.          $r->print('<div id="showcolleague" style="display:none">'.
                   &clone_selection_table($dom,'colleague',\%domcloneable).                    &clone_selection_table($dom,'colleague',\%domcloneable).
                   '<fieldset style="display:inline-block"><legend>'.$lt{'dsh'}.'</legend><label>'.                    '<p><input type="radio" name="colldatemode" value="delete" /> '.$lt{'ncd'}.
                   '<input type="radio" name="colldatemode" value="delete" /> '.$lt{'ncd'}.  
                   '</label><br /><label>'.                    '</label><br /><label>'.
                   '<input type="radio" name="colldatemode" value="preserve" /> '.$lt{'prd'}.                    '<input type="radio" name="colldatemode" value="preserve" /> '.$lt{'prd'}.
                   '</label><br /><label>'.                    '</label><br /><label>'.
                   '<input type="radio" name="colldatemode" value="shift" checked="checked" /> '.                    '<input type="radio" name="colldatemode" value="shift" checked="checked" /> '.
                   $lt{'shd'}.'</label>'.                    $lt{'shd'}.'</label>'.
                   '<input type="text" size="5" name="colldateshift" value="365" />'.                    '<input type="text" size="5" name="colldateshift" value="365" />'.
                   '</fieldset><fieldset style="display:inline-block">'.  
                   '<legend>'.$lt{'dpl'}.'</legend><label>'.  
                   '<input type="radio" name="colltinyurls" value="delete" />'.$lt{'nsl'}.  
                   '</label><br /><label>'.  
                   '<input type="radio" name="colltinyurls" value="create" checked="checked" />'.$lt{'csl'}.  
                   '</label></fieldset>'.  
                   '</div>');                    '</div>');
     }      }
   
Line 5087  sub process_textbook_request { Line 5025  sub process_textbook_request {
             } else {              } else {
                 $details->{dateshift} = '';                  $details->{dateshift} = '';
             }              }
             $details->{tinyurls} = $env{'form.owntinyurls'};  
         } elsif ($reqtype eq 'colleague') {          } elsif ($reqtype eq 'colleague') {
             $details->{datemode} = $env{'form.colldatemode'};              $details->{datemode} = $env{'form.colldatemode'};
             if ($details->{datemode} eq 'shift') {              if ($details->{datemode} eq 'shift') {
Line 5095  sub process_textbook_request { Line 5032  sub process_textbook_request {
             } else {              } else {
                 $details->{dateshift} = '';                  $details->{dateshift} = '';
             }              }
             $details->{tinyurls} = $env{'form.colltinyurls'};  
         } elsif (($reqtype eq 'textbook') || ($reqtype eq 'template')) {          } elsif (($reqtype eq 'textbook') || ($reqtype eq 'template')) {
             $details->{datemode} = 'delete';              $details->{datemode} = 'delete';
             $details->{dateshift} = '';              $details->{dateshift} = '';
             $details->{tinyurls} = '';  
         }          }
         if ($details->{dateshift} ne '') {          if ($details->{dateshift} ne '') {
             $details->{dateshift} =~ s/[^\d\.]+//g;              $details->{dateshift} =~ s/[^\d\.]+//g;
Line 5107  sub process_textbook_request { Line 5042  sub process_textbook_request {
     } else {      } else {
         $details->{datemode} = '';          $details->{datemode} = '';
         $details->{dateshift} = '';          $details->{dateshift} = '';
         $details->{tinyurls} = '';  
     }      }
     my $lonhost = $r->dir_config('lonHostID');      my $lonhost = $r->dir_config('lonHostID');
     $r->rflush();      $r->rflush();

Removed from v.1.95.2.2.2.1  
changed lines
  Added in v.1.95.2.3


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