Diff for /loncom/interface/loncreateuser.pm between versions 1.249.2.4 and 1.254

version 1.249.2.4, 2008/07/16 12:32:11 version 1.254, 2008/07/13 09:53:16
Line 1456  sub personal_data_display { Line 1456  sub personal_data_display {
                     $row .= '<input type="hidden" name="c'.$item.'" value="'.$inst_results->{$item}.'" />'.$inst_results->{$item};                      $row .= '<input type="hidden" name="c'.$item.'" value="'.$inst_results->{$item}.'" />'.$inst_results->{$item};
                 } else {                  } else {
                     if ($context eq 'selfcreate') {                      if ($context eq 'selfcreate') {
                         if ($canmodify{$item}) {                          if ($canmodify{$item}) { 
                             $row .= '<input type="text" name="c'.$item.'" size="'.$textboxsize{$item}.'" value="" />';                              $row .= '<input type="text" name="c'.$item.'" size="'.$textboxsize{$item}.'" value="" />';
                             $editable ++;                              $editable ++;
                         } else {                          } else {
Line 3400  function getIndexByName(item) { Line 3400  function getIndexByName(item) {
     return -1;      return -1;
 }  }
 ENDSCRIPT  ENDSCRIPT
     my $cdom = $env{'course.'.$env{'request.course.id'}.'.domain'};  
     my $cnum = $env{'course.'.$env{'request.course.id'}.'.num'};  
   
     my $output = '<script type="text/javascript">'."\n".      my $output = '<script type="text/javascript">'."\n".
                  $setsec_js."\n".$selfenroll_js."\n".                   $setsec_js."\n".$selfenroll_js."\n".
                  '</script>'."\n".                   '</script>'."\n".
                  '<h3>'.$lt->{'selfenroll'}.'</h3>'."\n";                   '<h3>'.$lt->{'selfenroll'}.'</h3>'."\n".
     my ($visible,$cansetvis,$vismsgs,$visactions) = &visible_in_cat($cdom,$cnum);                   '<form name="'.$formname.'" method="post" action="/adm/createuser">'."\n".
     if (ref($visactions) eq 'HASH') {                   &Apache::lonhtmlcommon::start_pick_box();
         if ($visible) {      my $cdom = $env{'course.'.$env{'request.course.id'}.'.domain'};
             $output .= '<p>'.$visactions->{'vis'}.'</p>';      my $cnum = $env{'course.'.$env{'request.course.id'},'.num'};
         } else {  
             $output .= $visactions->{'miss'}.'<br />'.$visactions->{'yous'}.  
                        '<p>'.$visactions->{'gen'}.'<br />'.$visactions->{'coca'};  
             if (ref($vismsgs) eq 'ARRAY') {  
                 $output .= '<br />'.$visactions->{'make'}.'<ul>';  
                 foreach my $item (@{$vismsgs}) {  
                     $output .= '<li>'.$visactions->{$item}.'</li>';  
                 }  
                 $output .= '</ul>';  
             }  
             $output .= '</p>';  
         }  
     }  
     $output .= '<form name="'.$formname.'" method="post" action="/adm/createuser">'."\n".  
                &Apache::lonhtmlcommon::start_pick_box();  
     if (ref($row) eq 'ARRAY') {      if (ref($row) eq 'ARRAY') {
         foreach my $item (@{$row}) {          foreach my $item (@{$row}) {
             my $title = $item;               my $title = $item; 
Line 3577  ENDSCRIPT Line 3559  ENDSCRIPT
     return;      return;
 }  }
   
 sub visible_in_cat {  
     my ($cdom,$cnum) = @_;  
     my %domconf = &Apache::lonnet::get_dom('configuration',['coursecategories'],$cdom);  
     my ($cathash,%settable,@vismsgs,$cansetvis);  
     my %visactions = &Apache::lonlocal::texthash(  
                    vis => 'Your course currently appears in the Course Catalog for this domain.',  
                    gen => 'Courses can be both self-cataloging, based on an institutional code (e.g., fs08phy231), or can be assigned categories from a hierarchy defined for the domain.',  
                    miss => 'Your course does not currently appear in the Course Catalog for this domain.',  
                    yous => 'You should remedy this if you plan to allow self-enrollment, otherwise students will have difficulty finding your course.',  
                    coca => 'Courses can be absent from the Catalog, because they do not have an institutional code, have no assigned category, or have been specifically excluded.',  
                    make => 'Make any changes to self-enrollment settings below, click "Save changes", then take action to include the course in the Catalog:',  
                    take => 'Take the following action to ensure the course appears in the Catalog:',  
                    dc_unhide  => 'Ask a domain coordinator to change the "Exclude from course catalog" setting.',  
                    dc_addinst => 'Ask a domain coordinator to enable display the catalog of "Official courses (with institutional codes)".',  
                    dc_instcode => 'Ask a domain coordinator to assign an institutional code (if this is an official course).',  
                    dc_catalog  => 'Ask a domain coordinator to enable or create at least one course category in the domain.',  
                    dc_categories => 'Ask a domain coordinator to create a hierarchy of categories and sub categories for courses in the domain.',  
                    dc_chgcat => 'Ask a domain coordinator to change the category assigned to the course, as the one currently assigned is no longer used in the domain',  
                    dc_addcat => 'Ask a domain coordinator to assign a category to the course.',  
     );  
     $visactions{'unhide'} = &mt('Use [_1]Set course environment[_2] to change the "Exclude from course catalog" setting.','<a href="/adm/parmset?action=crsenv">','</a>');  
     $visactions{'chgcat'} = &mt('Use [_1]Set course environment[_2] to change the category assigned to the course, as the one currently assigned is no longer used in the domain.','<a href="/adm/parmset?action=crsenv">','</a>');  
     $visactions{'addcat'} = &mt('Use [_1]Set course environment[_2] to assign a category to the course.','<a href="/adm/parmset?action=crsenv">','</a>');  
     if (ref($domconf{'coursecategories'}) eq 'HASH') {  
         if ($domconf{'coursecategories'}{'togglecats'} eq 'crs') {  
             $settable{'togglecats'} = 1;  
         }  
         if ($domconf{'coursecategories'}{'categorize'} eq 'crs') {  
             $settable{'categorize'} = 1;  
         }  
         $cathash = $domconf{'coursecategories'}{'cats'};  
     }  
     if ($settable{'togglecats'} && $settable{'categories'}) {  
         $cansetvis = &mt('You are able to both assign a course category and choose to exclude this course from the catalog.');  
     } elsif ($settable{'togglecats'}) {  
         $cansetvis = &mt('You are able to choose to exclude this course from the catalog, but only a Domain Coordinator may assign a course category.');  
     } elsif ($settable{'categories'}) {  
         $cansetvis = &mt('You may assign a course category, but only a Domain Coordinator may choose to exclude this course from the catalog.');  
     } else {  
         $cansetvis = &mt('Only a Domain Coordinator may assign a course category or choose to exclude this course from the catalog.');  
     }  
   
     my %currsettings =  
         &Apache::lonnet::get('environment',['hidefromcat','categories','internal.coursecode'],  
                              $cdom,$cnum);  
     my $visible = 0;  
     if ($currsettings{'internal.coursecode'} ne '') {  
         if (ref($domconf{'coursecategories'}) eq 'HASH') {  
             $cathash = $domconf{'coursecategories'}{'cats'};  
             if (ref($cathash) eq 'HASH') {  
                 if ($cathash->{'instcode::0'} eq '') {  
                     push(@vismsgs,'dc_addinst');  
                 } else {  
                     $visible = 1;  
                 }  
             } else {  
                 $visible = 1;  
             }  
         } else {  
             $visible = 1;  
         }  
     } else {  
         if (ref($cathash) eq 'HASH') {  
             if ($cathash->{'instcode::0'} ne '') {  
                 push(@vismsgs,'dc_instcode');  
             }  
         } else {  
             push(@vismsgs,'dc_instcode');  
         }  
     }  
     if ($currsettings{'categories'} ne '') {  
         my $cathash;  
         if (ref($domconf{'coursecategories'}) eq 'HASH') {  
             $cathash = $domconf{'coursecategories'}{'cats'};  
             if (ref($cathash) eq 'HASH') {  
                 if (keys(%{$cathash}) == 0) {  
                     push(@vismsgs,'dc_catalog');  
                 } elsif ((keys(%{$cathash}) == 1) && ($cathash->{'instcode::0'} ne '')) {  
                     push(@vismsgs,'dc_categories');  
                 } else {  
                     my @currcategories = split('&',$currsettings{'categories'});  
                     my $matched = 0;  
                     foreach my $cat (@currcategories) {  
                         if ($cathash->{$cat} ne '') {  
                             $visible = 1;  
                             $matched = 1;  
                             last;  
                         }  
                     }  
                     if (!$matched) {  
                         if ($settable{'categories'}) {  
                             push(@vismsgs,'chgcat');  
                         } else {  
                             push(@vismsgs,'dc_chgcat');  
                         }  
                     }  
                 }  
             }  
         }  
     } else {  
         if (ref($cathash) eq 'HASH') {  
             if ((keys(%{$cathash}) > 1) ||  
                 (keys(%{$cathash}) == 1) && ($cathash->{'instcode::0'} eq '')) {  
                 if ($settable{'categories'}) {  
                     push(@vismsgs,'addcat');  
                 } else {  
                     push(@vismsgs,'dc_addcat');  
                 }  
             }  
         }  
     }  
     if ($currsettings{'hidefromcat'} eq 'yes') {  
         $visible = 0;  
         if ($settable{'togglecats'}) {  
             unshift(@vismsgs,'unhide');  
         } else {  
             unshift(@vismsgs,'dc_unhide')  
         }  
     }  
     return ($visible,$cansetvis,\@vismsgs,\%visactions);  
 }  
   
 sub new_selfenroll_dom_row {  sub new_selfenroll_dom_row {
     my ($newdom,$num) = @_;      my ($newdom,$num) = @_;
     my $domdesc = &Apache::lonnet::domain($newdom);      my $domdesc = &Apache::lonnet::domain($newdom);
Line 3846  sub print_userchangelogs_display { Line 3706  sub print_userchangelogs_display {
                    &mt('Context').'</th><th>'.&mt('Start').'</th><th>'.&mt('End').'</th>'.                     &mt('Context').'</th><th>'.&mt('Start').'</th><th>'.&mt('End').'</th>'.
                    &Apache::loncommon::end_data_table_header_row();                     &Apache::loncommon::end_data_table_header_row();
     my ($minshown,$maxshown);      my ($minshown,$maxshown);
     $minshown = 1;      my $minshown = 1;
     my $count = 0;      my $count = 0;
     if ($curr{'show'} ne &mt('all')) {       if ($curr{'show'} ne &mt('all')) { 
         $maxshown = $curr{'page'} * $curr{'show'};          $maxshown = $curr{'page'} * $curr{'show'};
Line 4857  sub update_selfenroll_config { Line 4717  sub update_selfenroll_config {
     } else {      } else {
         $r->print(&mt('No changes were made to the existing self-enrollment settings in this course.'));          $r->print(&mt('No changes were made to the existing self-enrollment settings in this course.'));
     }      }
     my ($visible,$cansetvis,$vismsgs,$visactions) = &visible_in_cat($cdom,$cnum);  
     if (ref($visactions) eq 'HASH') {  
         if (!$visible) {  
             $r->print('<br />'.$visactions->{'miss'}.'<br />'.$visactions->{'yous'}.  
                       '<br />');  
             if (ref($vismsgs) eq 'ARRAY') {  
                 $r->print('<br />'.$visactions->{'take'}.'<ul>');  
                 foreach my $item (@{$vismsgs}) {  
                     $r->print('<li>'.$visactions->{$item}.'</li>');  
                 }  
                 $r->print('</ul>');  
             }  
             $r->print($cansetvis);  
         }  
     }  
     return;      return;
 }  }
   
Line 4881  sub get_selfenroll_titles { Line 4726  sub get_selfenroll_titles {
                 types        => 'Users allowed to self-enroll in this course',                  types        => 'Users allowed to self-enroll in this course',
                 registered   => 'Restrict self-enrollment to students officially registered for the course',                  registered   => 'Restrict self-enrollment to students officially registered for the course',
                 enroll_dates => 'Dates self-enrollment available',                  enroll_dates => 'Dates self-enrollment available',
                 access_dates => 'Course access dates assigned to self-enrolling users',                  access_dates => 'Course access dates for self-enrolled users',
                 section      => 'Section assigned to self-enrolling users',                  section      => 'Section assigned to self-enrolled users',
              );               );
     return (\@row,\%lt);      return (\@row,\%lt);
 }  }

Removed from v.1.249.2.4  
changed lines
  Added in v.1.254


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