Diff for /loncom/interface/lonuserutils.pm between versions 1.18 and 1.19

version 1.18, 2007/12/21 14:05:40 version 1.19, 2007/12/21 15:22:01
Line 3940  sub get_course_identity { Line 3940  sub get_course_identity {
     return ($cnum,$cdom,$cdesc);      return ($cnum,$cdom,$cdesc);
 }  }
   
   sub dc_setcourse_js {
       my ($formname,$mode) = @_;
       my $dc_setcourse_code;
       my $cctext = &Apache::lonnet::plaintext('cc');
       my %alerts = &sectioncheck_alerts();
       my $role = 'role';
       if ($mode eq 'upload') {
           $role = 'courserole';
       }
       $dc_setcourse_code = (<<"SCRIPTTOP");
   function setCourse() {
       var course = document.$formname.dccourse.value;
       if (course != "") {
           if (document.$formname.dcdomain.value != document.$formname.origdom.value) {
               alert("$alerts{'curd'}");
               return;
           }
           var userrole = document.$formname.$role.options[document.$formname.$role.selectedIndex].value
           var section="";
           var numsections = 0;
           var newsecs = new Array();
           for (var i=0; i<document.$formname.currsec.length; i++) {
               if (document.$formname.currsec.options[i].selected == true ) {
                   if (document.$formname.currsec.options[i].value != "" && document.$formname.currsec.options[i].value != null) {
                       if (numsections == 0) {
                           section = document.$formname.currsec.options[i].value
                           numsections = 1;
                       }
                       else {
                           section = section + "," +  document.$formname.currsec.options[i].value
                           numsections ++;
                       }
                   }
               }
           }
           if (document.$formname.newsec.value != "" && document.$formname.newsec.value != null) {
               if (numsections == 0) {
                   section = document.$formname.newsec.value
               }
               else {
                   section = section + "," +  document.$formname.newsec.value
               }
               newsecs = document.$formname.newsec.value.split(/,/g);
               numsections = numsections + newsecs.length;
           }
           if ((userrole == 'st') && (numsections > 1)) {
               alert("$alerts{'inea'}. $alerts{'youh'} "+numsections+" $alerts{'sect'}.\\n$alerts{'plsm'}.")
               return;
           }
           for (var j=0; j<newsecs.length; j++) {
               if ((newsecs[j] == 'all') || (newsecs[j] == 'none')) {
                   alert("'"+newsecs[j]+"' $alerts{'mayn'}.\\n$alerts{'plsc'}.");
                   return;
               }
               if (document.$formname.groups.value != '') {
                   var groups = document.$formname.groups.value.split(/,/g);
                   for (var k=0; k<groups.length; k++) {
                       if (newsecs[j] == groups[k]) {
                           alert("'"+newsecs[j]+"' $alerts{'mayt'}.\\n$alerts{'secn'}. $alerts{'plsc'}.");
                           return;
                       }
                   }
               }
           }
           if ((userrole == 'cc') && (numsections > 0)) {
               alert("$alerts{'secd'} $cctext $alerts{'role'}.\\n$alerts{'accr'}.");
               section = "";
           }
   SCRIPTTOP
       if ($mode ne 'upload') {
           $dc_setcourse_code .= (<<"ENDSCRIPT");
           var coursename = "_$env{'request.role.domain'}"+"_"+course+"_"+userrole
           var numcourse = getIndex(document.$formname.dccourse);
           if (numcourse == "-1") {
               alert("$alerts{'thwa'}");
               return;
           }
           else {
               document.$formname.elements[numcourse].name = "act"+coursename;
               var numnewsec = getIndex(document.$formname.newsec);
               if (numnewsec != "-1") {
                   document.$formname.elements[numnewsec].name = "sec"+coursename;
                   document.$formname.elements[numnewsec].value = section;
               }
               var numstart = getIndex(document.$formname.start);
               if (numstart != "-1") {
                   document.$formname.elements[numstart].name = "start"+coursename;
               }
               var numend = getIndex(document.$formname.end);
               if (numend != "-1") {
                   document.$formname.elements[numend].name = "end"+coursename
               }
           }
       }
       document.$formname.submit();
   }
   
   ENDSCRIPT
       } else {
           $dc_setcourse_code .=  "
           document.$formname.sections.value = section;
       }
       return 'ok';
   }
   ";
       }
       $dc_setcourse_code .= (<<"ENDSCRIPT");
   
       function getIndex(caller) {
           for (var i=0;i<document.$formname.elements.length;i++) {
               if (document.$formname.elements[i] == caller) {
                   return i;
               }
           }
           return -1;
       }
   ENDSCRIPT
   }
   
   sub sectioncheck_alerts {
       my %alerts = &Apache::lonlocal::texthash(
                       curd => 'You must select a course in the current domain',
                       inea => 'In each course, each user may only have one student role at a time',
                       youh => 'You had selected',
                       sect => 'sections',
                       plsm => 'Please modify your selections so they include no more than one section',
                       mayn => 'may not be used as the name for a section, as it is a reserved word',
                       plsc => 'Please choose a different section name',
                       mayt => 'may not be used as the name for a section, as it is the name of a course group',
                       secn => 'Section names and group names must be distinct',
                       secd => 'Section designations do not apply to ',
                       role => 'roles',
                       accr => 'role will be added with access to all sections',
                       thwa => 'There was a problem with your course selection'
                    );
       return %alerts;
   }
   
   
 1;  1;

Removed from v.1.18  
changed lines
  Added in v.1.19


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