Diff for /loncom/interface/lonpickcourse.pm between versions 1.119 and 1.122

version 1.119, 2016/10/05 13:59:46 version 1.122, 2016/11/02 22:41:18
Line 69  sub handler { Line 69  sub handler {
         $title = 'Selecting '.$type.'(s)';          $title = 'Selecting '.$type.'(s)';
     }      }
   
     # if called when a DC is selecting a course       # if called when a DC or DH is selecting a course 
     my $roledom = $env{'form.roleelement'};      my ($roledom,$rolename) = split(/:/,$env{'form.roleelement'});
     if ($roledom) {      if ($roledom) {
         $roleelement = '<input type="hidden" name="roleelement" value="'.$roledom.'" />';          $roleelement = '<input type="hidden" name="roleelement" value="'.$env{'form.roleelement'}.'" />';
         $submitopener = &processpick();          $submitopener = &processpick();
         $autosubmit = 'process_pick("'.$roledom.'")';          $autosubmit = 'process_pick("'.$roledom.'","'.$rolename.'")';
     }      }
     if ($env{'form.typeelement'} ne '') {      if ($env{'form.typeelement'} ne '') {
         $typeelement = '<input type="hidden" name="typeelement" value="'.$env{'form.typeelement'}.'" />';          $typeelement = '<input type="hidden" name="typeelement" value="'.$env{'form.typeelement'}.'" />';
Line 288  sub processpick { Line 288  sub processpick {
     }      }
     my $process_pick = <<"ENDONE";      my $process_pick = <<"ENDONE";
 <script type="text/javascript">  <script type="text/javascript">
 function process_pick(dom) {  function process_pick(dom,rolename) {
     var pickedCourse=opener.document.$openerform.$env{'form.cnumelement'}.value;      var pickedCourse=opener.document.$openerform.$env{'form.cnumelement'}.value;
     var pickedDomain=opener.document.$openerform.$env{'form.cdomelement'}.value;      var pickedDomain=opener.document.$openerform.$env{'form.cdomelement'}.value;
     var okDomain = 0;      var okDomain = 0;
Line 297  ENDONE Line 297  ENDONE
         $process_pick .= <<"ENDTWO";          $process_pick .= <<"ENDTWO";
     if (pickedDomain == dom) {      if (pickedDomain == dom) {
         if (pickedCourse != '') {          if (pickedCourse != '') {
             var ccrole = "cc";              var courseTarget; 
             var pickedType = "$env{'form.type'}";              if (rolename == 'cc') {
             if (pickedType == "Community") {                  var ccrole = "cc";
                 ccrole = "co";                  var pickedType = "$env{'form.type'}";
             }                  if (pickedType == "Community") {
             var courseTarget = ccrole+"./"+pickedDomain+"/"+pickedCourse                      ccrole = "co";
             opener.document.title='Role selected. Please stand by.';                  }
             opener.status='Role selected. Please stand by.';                  courseTarget = ccrole+"./"+pickedDomain+"/"+pickedCourse;
             opener.document.rolechoice.newrole.value=courseTarget              } else {
             opener.document.rolechoice.submit();                  if (!/\\W/.test(rolename)) {
                       courseTarget = "cr/"+pickedDomain+"/"+pickedDomain+"-domainconfig/"+rolename+"./"+pickedDomain+"/"+pickedCourse;
                   }
               }
               if ((courseTarget != '') && (courseTarget != undefined)) { 
                   opener.document.title='Role selected. Please stand by.';
                   opener.status='Role selected. Please stand by.';
                   opener.document.rolechoice.newrole.value=courseTarget;
                   opener.document.rolechoice.submit();
               } else {
                   alert("Invalid role selection");
                   return;
               }
         }          }
     }       }
     else {      else {
         alert("You may only use this screen to select courses in the current domain: "+dom+"\\nPlease return to the roles page window and click the 'Select Course' link for domain: "+pickedDomain+",\\n if you are a Domain Coordinator in that domain, and wish to become a Course Coordinator in a course in the domain");          alert("You may only use this screen to select courses in the current domain: "+dom+"\\nPlease return to the roles page window and click the 'Select Course' link for domain: "+pickedDomain+",\\n if you are a Domain Coordinator in that domain, and wish to become a Course Coordinator in a course in the domain");
     }      }
Line 398  sub display_matched_courses { Line 410  sub display_matched_courses {
             my $cctitle = &Apache::lonnet::plaintext($ccrole,$type);              my $cctitle = &Apache::lonnet::plaintext($ccrole,$type);
             my $dctitle = &Apache::lonnet::plaintext('dc');              my $dctitle = &Apache::lonnet::plaintext('dc');
             my $ccrolechk = ' ';              my $ccrolechk = ' ';
               my $possrole;
             my $menuchk = ' checked="checked" ';              my $menuchk = ' checked="checked" ';
             $r->print(              $r->print(
                 '<div class="LC_left_float">'                  '<div class="LC_left_float">'
                .'<fieldset>'                 .'<fieldset>'
                .'<legend>'.&mt('Pick action').'</legend>'                 .'<legend>'.&mt('Pick action').'</legend>');
                .'<span class="LC_nobreak"><label>'              my $roleradio = '<span class="LC_nobreak"><label>'.
                .'<input type="radio" name="phase" value="adhocrole"'.$ccrolechk.'/>'                              '<input type="radio" name="phase" value="adhocrole"'.$ccrolechk.'/>'.'&nbsp;';
                .'&nbsp;');  
             if (&Apache::lonnet::allowed('ccc',$crsdom)) {              if (&Apache::lonnet::allowed('ccc',$crsdom)) {
                   $possrole = 1;
                   $r->print($roleradio);
                 if ($type eq 'Community') {                  if ($type eq 'Community') {
                     $r->print(&mt('Enter the community with the role of [_1].',$cctitle));                      $r->print(&mt('Enter the community with the role of [_1].',$cctitle));
                 } elsif ($type eq 'Placement') {                  } elsif ($type eq 'Placement') {
Line 417  sub display_matched_courses { Line 431  sub display_matched_courses {
             } elsif (&Apache::lonnet::allowed('rar',$crsdom)) {              } elsif (&Apache::lonnet::allowed('rar',$crsdom)) {
                 my %adhocroles = &Apache::lonnet::userenvironment($env{'user.domain'},$env{'user.name'},                  my %adhocroles = &Apache::lonnet::userenvironment($env{'user.domain'},$env{'user.name'},
                                                                   'adhocroles.'.$crsdom);                                                                    'adhocroles.'.$crsdom);
                 if (keys(%adhocroles)) {                  if ($adhocroles{'adhocroles.'.$crsdom} ne '') {
                       $possrole = 1;
                       $r->print($roleradio);
                     my @adhoc = split(/,/,$adhocroles{'adhocroles.'.$crsdom});                      my @adhoc = split(/,/,$adhocroles{'adhocroles.'.$crsdom});
                     if (@adhoc > 1) {                      if (@adhoc > 1) {
                         my %adhochash;                          my %adhochash;
Line 441  sub display_matched_courses { Line 457  sub display_matched_courses {
                         } else {                          } else {
                             $r->print(&mt('Enter the course with the ad hoc role of: [_1]',$adhoc[0]));                              $r->print(&mt('Enter the course with the ad hoc role of: [_1]',$adhoc[0]));
                         }                          }
                           $r->print('<input type="hidden" name="adhocrole" value="'.$adhoc[0].'" />');
                     }                      }
                 }                  }
             }              }
             $r->print('</label></span><br />'              if ($possrole) { 
                .'<span class="LC_nobreak"><label>'                  $r->print('</label></span><br />');
                .'<input type="radio" name="phase" value="menu"'.$menuchk.'/>&nbsp;');              }
               $r->print('<span class="LC_nobreak"><label>'
                        .'<input type="radio" name="phase" value="menu"'.$menuchk.'/>&nbsp;');
             if (&Apache::lonnet::allowed('ccc',$crsdom)) {              if (&Apache::lonnet::allowed('ccc',$crsdom)) {
                 if ($type eq 'Community') {                  if ($type eq 'Community') {
                     $r->print(&mt('View or modify community settings which only a [_1] may modify.',$dctitle));                      $r->print(&mt('View or modify community settings which only a [_1] may modify.',$dctitle));

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


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