Diff for /loncom/interface/lonpickcourse.pm between versions 1.117 and 1.120

version 1.117, 2016/04/02 04:30:21 version 1.120, 2016/10/19 13:14:05
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 404  sub display_matched_courses { Line 416  sub display_matched_courses {
                .'<fieldset>'                 .'<fieldset>'
                .'<legend>'.&mt('Pick action').'</legend>'                 .'<legend>'.&mt('Pick action').'</legend>'
                .'<span class="LC_nobreak"><label>'                 .'<span class="LC_nobreak"><label>'
                .'<input type="radio" name="phase" value="ccrole"'.$ccrolechk.'/>'                 .'<input type="radio" name="phase" value="adhocrole"'.$ccrolechk.'/>'
                .'&nbsp;');                 .'&nbsp;');
             if ($type eq 'Community') {              if (&Apache::lonnet::allowed('ccc',$crsdom)) {
                 $r->print(&mt('Enter the community with the role of [_1].',$cctitle));                  if ($type eq 'Community') {
             } else {                      $r->print(&mt('Enter the community with the role of [_1].',$cctitle));
                 $r->print(&mt('Enter the course with the role of [_1].',$cctitle));                  } elsif ($type eq 'Placement') {
                       $r->print(&mt('Enter the placement test with the role of [_1].',$cctitle));
                   } else {
                       $r->print(&mt('Enter the course with the role of [_1].',$cctitle));
                   }
               } elsif (&Apache::lonnet::allowed('rar',$crsdom)) {
                   my %adhocroles = &Apache::lonnet::userenvironment($env{'user.domain'},$env{'user.name'},
                                                                     'adhocroles.'.$crsdom);
                   if (keys(%adhocroles)) {
                       my @adhoc = split(/,/,$adhocroles{'adhocroles.'.$crsdom});
                       if (@adhoc > 1) {
                           my %adhochash;
                           map { $adhochash{$_} = $_; } @adhoc; 
                           my $selector = &Apache::loncommon::select_form($adhoc[0],'adhocrole',\%adhochash);
                           if ($type eq 'Community') {
                               $r->print(&mt('Enter the community with one of the available ad hoc roles: [_1].',
                                             $selector)); 
                           } elsif ($type eq 'Placement') {
                               $r->print(&mt('Enter the placement test with one of the available ad hoc roles: [_1].',
                                             $selector));
                           } else {
                               $r->print(&mt('Enter the course with one of the available ad hoc roles: [_1].',
                                             $selector));
                           }
                       } else {
                           if ($type eq 'Community') {
                               $r->print(&mt('Enter the community with the ad hoc role of: [_1]',$adhoc[0]));
                           } elsif ($type eq 'Placement') {
                               $r->print(&mt('Enter the placement test with the ad hoc role of: [_1]',$adhoc[0]));
                           } else {
                               $r->print(&mt('Enter the course with the ad hoc role of: [_1]',$adhoc[0]));
                           }
                       }
                   }
             }              }
             $r->print('</label></span><br />'              $r->print('</label></span><br />'
                .'<span class="LC_nobreak"><label>'                 .'<span class="LC_nobreak"><label>'
                .'<input type="radio" name="phase" value="menu"'.$menuchk.'/>&nbsp;');                 .'<input type="radio" name="phase" value="menu"'.$menuchk.'/>&nbsp;');
             if ($type eq 'Community') {              if (&Apache::lonnet::allowed('ccc',$crsdom)) {
                 $r->print(&mt('View or modify community settings which only a [_1] may modify.',$dctitle));                  if ($type eq 'Community') {
             } else {                      $r->print(&mt('View or modify community settings which only a [_1] may modify.',$dctitle));
                 $r->print(&mt('View or modify course settings which only a [_1] may modify.',$dctitle));                  } elsif ($type eq 'Placement') {
                       $r->print(&mt('View or modify placement test settings which only a [_1] may modify.',$dctitle));
                   } else {
                       $r->print(&mt('View or modify course settings which only a [_1] may modify.',$dctitle));
                   }
               } elsif (&Apache::lonnet::allowed('rar',$crsdom)) {
                   if ($type eq 'Community') {
                       $r->print(&mt('View community settings which only a [_1] may modify.',$dctitle));
                   } elsif ($type eq 'Placement') {
                       $r->print(&mt('View placement test settings which only a [_1] may modify.',$dctitle));
                   } else {
                       $r->print(&mt('View course settings which only a [_1] may modify.',$dctitle));
                   }
             }              }
             $r->print('</label></span>'              $r->print('</label></span>'
                .'</fieldset></div>'                       .'</fieldset></div>'
                .'<br clear="all" />'                       .'<br clear="all" />'
             );                       );
         }          }
     }      }
     my %by_descrip;      my %by_descrip;

Removed from v.1.117  
changed lines
  Added in v.1.120


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