Diff for /loncom/interface/lonconfigsettings.pm between versions 1.29 and 1.32

version 1.29, 2014/04/23 10:11:26 version 1.32, 2016/07/25 19:50:30
Line 36  use Apache::loncommon(); Line 36  use Apache::loncommon();
 use Apache::lonhtmlcommon();  use Apache::lonhtmlcommon();
 use Apache::lonlocal;  use Apache::lonlocal;
 use Apache::lonparmset();  use Apache::lonparmset();
   use Apache::courseclassifier();
   use LONCAPA qw(:DEFAULT :match); 
   
 sub print_header {  sub print_header {
     my ($r,$phase,$context,$jscript,$container) = @_;      my ($r,$phase,$context,$jscript,$container) = @_;
     my ($pagetitle,$brcrumtitle,$action,$call_category_check,$crstype);      my ($pagetitle,$brcrumtitle,$action,$call_category_check,$instcode_check,
           $crstype,@actions,@code_order);
       if ($phase eq 'display') {
           @actions = &Apache::loncommon::get_env_multiple('form.actions');
       }
     if ($context eq 'domain') {      if ($context eq 'domain') {
         ($pagetitle, $brcrumtitle) = ('View/Modify Domain Settings','View/Modify Domain Settings');          ($pagetitle, $brcrumtitle) = ('View/Modify Domain Settings','View/Modify Domain Settings');
         $action = '/adm/domainprefs';          $action = '/adm/domainprefs';
         if ($phase eq 'display') {          if ($phase eq 'display') {
             my @actions = &Apache::loncommon::get_env_multiple('form.actions');  
             if (grep(/^coursecategories$/,@actions)) {              if (grep(/^coursecategories$/,@actions)) {
                 $call_category_check = qq|                  $call_category_check = qq|
     if (formname == document.display) {      if (formname == document.display) {
Line 63  sub print_header { Line 68  sub print_header {
             ($pagetitle,$brcrumtitle) = ('Course Configuration','Course Configuration');              ($pagetitle,$brcrumtitle) = ('Course Configuration','Course Configuration');
         }          }
         $action = '/adm/courseprefs';          $action = '/adm/courseprefs';
           if ($phase eq 'display') {
               if (grep(/^courseinfo$/,@actions)) {
                   my %codedefaults;
                   &Apache::lonnet::auto_instcode_defaults($env{'request.role.domain'},\%codedefaults,
                                                           \@code_order);
                   if (@code_order) {
                      my $noinstcodestr = &mt('You indicated cloning based on category, but did not select any categories.');
                      &js_escape(\$noinstcodestr);
                      $instcode_check = <<"ENDSCRIPT";
       if (formname == document.display) {
           if (formname.cloners_instcode.length) {
               for (var j=0; j<formname.cloners_instcode.length; j++) {
                   if (formname.cloners_instcode[j].checked) {
                       if (formname.cloners_instcode[j].value == 1) {
                           var codes;
                           if (document.getElementsByClassName) {
                               codes = document.getElementsByClassName('LC_cloners_instcodes');
                           } else {
                               codes = getElementsByClassName(document.body,'LC_cloners_instcodes');
                           }
                           if (codes.length) {
                               var gotcode = 0;
                               for (var i=0; i<codes.length; i++) {
                                   if (codes[i].selectedIndex != 0) {
                                        gotcode = 1; 
                                        break;
                                   }
                               }
                               if (!gotcode) {
                                   for (var k=0; k<formname.cloners_instcode.length; k++) {
                                       if (formname.cloners_instcode[k].value == 0) {
                                           formname.cloners_instcode[k].checked = true;
                                       }
                                   }
                                   toggleCloners(document.display.cloners_instcode);
                                   alert('$noinstcodestr');
                                   return false;
                               }
                           }
                       }
                   }
               }
           }
       }
   
   ENDSCRIPT
                   }
               }
           }
     }      }
     my $alert = &mt('You must select at least one functionality type to display.');      my $alert = &mt('You must select at least one functionality type to display.');
       &js_escape(\$alert);
     my $js = '      my $js = '
 <script type="text/javascript">  <script type="text/javascript">
 // <![CDATA[  // <![CDATA[
Line 91  function changePage(formname,newphase) { Line 146  function changePage(formname,newphase) {
             return;              return;
         }          }
     }      }
     '.$call_category_check.'      '.$instcode_check.$call_category_check.'
     formname.submit();      formname.submit();
 }'."\n";  }'."\n";
     if ($phase eq 'pickactions') {      if ($phase eq 'pickactions') {
Line 120  $jscript Line 175  $jscript
                     'onload' => "setFormElements(document.pickactions);",                      'onload' => "setFormElements(document.pickactions);",
                         );                          );
         $additem = {'add_entries' => \%loaditems,};          $additem = {'add_entries' => \%loaditems,};
       } elsif ($phase eq 'display') {
           if ($context eq 'domain') {
               if (grep(/^coursedefaults$/,@actions)) {
                   my %loaditems = (
                       '             onload' => "toggleDisplay(document.display,'cloneinstcode');".
                                                "toggleDisplay(document.display,'credits');".
                                                "toggleDisplay(document.display,'studentsubmission');",
                                   );
                   $additem = {'add_entries' => \%loaditems,};
               }
           } elsif ($context eq 'course') {
               if (grep(/^courseinfo$/,@actions)) {
                   if (@code_order) { 
                       $additem = {
                                      add_entries => {'onload' => "courseSet('','load');toggleCloners(document.display.cloners_instcode);"},
                                  };
                   }
               }
           }
     }      }
     $r->print(&Apache::loncommon::start_page($pagetitle,$js,$additem));      $r->print(&Apache::loncommon::start_page($pagetitle,$js,$additem));
     $r->print(&Apache::lonhtmlcommon::breadcrumbs($brcrumtitle));      $r->print(&Apache::lonhtmlcommon::breadcrumbs($brcrumtitle));
Line 255  sub display_settings { Line 329  sub display_settings {
     &Apache::lonhtmlcommon::add_breadcrumb      &Apache::lonhtmlcommon::add_breadcrumb
         ({href=>"javascript:changePage(document.$phase,'display')",          ({href=>"javascript:changePage(document.$phase,'display')",
           text=>"Display/Edit Settings"});            text=>"Display/Edit Settings"});
     &print_header($r,$phase,$context,$jscript,$container);      my $instcode;
       if (ref($values) eq 'HASH') {
           $instcode = $values->{'internal.coursecode'};
       }
       &print_header($r,$phase,$context,$jscript,$container,$instcode);
     my $divwidth = 900;      my $divwidth = 900;
     if ((ref($prefs_order) eq 'ARRAY') && (ref($prefs) eq 'HASH') && (ref($values) eq 'HASH')) {       if ((ref($prefs_order) eq 'ARRAY') && (ref($prefs) eq 'HASH') && (ref($values) eq 'HASH')) { 
         if (@actions > 0) {          if (@actions > 0) {
             my $rowsum = 0;              my $rowsum = 0;
             my (%output,%rowtotal,@items);              my (%output,%rowtotal,@items,$got_check_uncheck);
             foreach my $item (@{$prefs_order}) {              foreach my $item (@{$prefs_order}) {
                 if (grep(/^\Q$item\E$/,@actions)) {                  if (grep(/^\Q$item\E$/,@actions)) {
                     push(@items,$item);                      push(@items,$item);
Line 269  sub display_settings { Line 347  sub display_settings {
                         if (ref($values) eq 'HASH') {                           if (ref($values) eq 'HASH') { 
                             $settings = $values->{$item};                              $settings = $values->{$item};
                         }                          }
                         if ($item eq 'usersessions') {                          if (($item eq 'usersessions') || ($item eq 'ssl')) {
                             $r->print('<script type="text/javascript">'."\n".                              unless ($got_check_uncheck) {
                                       '// <![CDATA['."\n".                                  $r->print('<script type="text/javascript">'."\n".
                                       &Apache::loncommon::check_uncheck_jscript()."\n".                                            '// <![CDATA['."\n".
                                       '// ]]>'."\n".                                            &Apache::loncommon::check_uncheck_jscript()."\n".
                                       '</script>'."\n");                                            '// ]]>'."\n".
                                             '</script>'."\n");
                                   $got_check_uncheck = 1;
                               }
                         } elsif ($item eq 'selfcreation') {                          } elsif ($item eq 'selfcreation') {
                             if (ref($values) eq 'HASH') {                              if (ref($values) eq 'HASH') {
                                 $settings = $values->{'usercreation'};                                  $settings = $values->{'usercreation'};

Removed from v.1.29  
changed lines
  Added in v.1.32


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