Diff for /loncom/interface/lonmodifycourse.pm between versions 1.79.2.5 and 1.79.2.7

version 1.79.2.5, 2017/01/22 19:23:35 version 1.79.2.7, 2019/07/26 17:43:54
Line 39  use Apache::lonpickcourse; Line 39  use Apache::lonpickcourse;
 use lib '/home/httpd/lib/perl';  use lib '/home/httpd/lib/perl';
 use LONCAPA qw(:DEFAULT :match);  use LONCAPA qw(:DEFAULT :match);
   
   my $registered_cleanup;
   my $modified_dom;
   
 sub get_dc_settable {  sub get_dc_settable {
     my ($type,$cdom) = @_;      my ($type,$cdom) = @_;
     if ($type eq 'Community') {      if ($type eq 'Community') {
Line 269  function gochoose(cname,cdom,cdesc) { Line 272  function gochoose(cname,cdom,cdesc) {
                         document.courselist.submit();                          document.courselist.submit();
                     } else {                      } else {
                         var str = '';                          var str = '';
                           \$("#LC_choose_adhoc").empty();
                         for (var i=0; i<data.roles.length; i++) {                          for (var i=0; i<data.roles.length; i++) {
                             \$("<label><input type='radio' value='"+data.roles[i].name+"' name='LC_get_role' id='LC_get_role_"+i+"' />"+data.roles[i].desc+"</label><span>&nbsp;&nbsp;</span>")                              \$("<label><input type='radio' value='"+data.roles[i].name+"' name='LC_get_role' id='LC_get_role_"+i+"' />"+data.roles[i].desc+"</label><span>&nbsp;&nbsp;</span>")
                             .appendTo("#LC_choose_adhoc");                              .appendTo("#LC_choose_adhoc");
                         }                          }
                           \$( "#LC_adhocrole_chooser" ).toggle( true );
                         \$( "#LC_get_role_0").prop("checked", true);                          \$( "#LC_get_role_0").prop("checked", true);
                         \$( "#LC_adhocrole_chooser" ).dialog({ autoOpen: false });                          \$( "#LC_adhocrole_chooser" ).dialog({ autoOpen: false });
                         \$( "#LC_adhocrole_chooser" ).dialog("open");                          \$( "#LC_adhocrole_chooser" ).dialog("open");
Line 318  function gochoose(cname,cdom,cdesc) { Line 323  function gochoose(cname,cdom,cdesc) {
 // ]]>  // ]]>
 </script>  </script>
   
 <div id="LC_adhocrole_chooser" title="$lt{'title'}">  <div id="LC_adhocrole_chooser" title="$lt{'title'}" style="display:none">
   <p>$lt{'preamble'}</p>    <p>$lt{'preamble'}</p>
   <form name="LChelpdeskadhoc" id="LChelpdeskpicker" action="">    <form name="LChelpdeskadhoc" id="LChelpdeskpicker" action="">
     <div id="LC_choose_adhoc">      <div id="LC_choose_adhoc">
Line 1412  sub modify_course { Line 1417  sub modify_course {
             my $putres = &Apache::lonnet::courseidput($cdom,\%crsinfo,$chome,'notime');              my $putres = &Apache::lonnet::courseidput($cdom,\%crsinfo,$chome,'notime');
             if ($putres eq 'ok') {              if ($putres eq 'ok') {
                 &update_coowners($cdom,$cnum,$chome,\%settings,\%newattr);                  &update_coowners($cdom,$cnum,$chome,\%settings,\%newattr);
                   if ($changed{'code'}) {
                       &Apache::lonnet::devalidate_cache_new('instcats',$cdom);
                       # Update cache of self-cataloging courses on institution's server(s).
                       if (&Apache::lonnet::shared_institution($cdom)) {
                           unless ($registered_cleanup) {
                               my $handlers = $r->get_handlers('PerlCleanupHandler');
                               $r->set_handlers('PerlCleanupHandler' => [\&devalidate_remote_instcats,@{$handlers}]);
                               $registered_cleanup=1;
                               $modified_dom = $cdom;
                           }
                       }
                   }
             }              }
         }          }
     }      }
Line 2444  sub get_permission { Line 2461  sub get_permission {
     return ($allowed,\%permission);      return ($allowed,\%permission);
 }  }
   
   sub devalidate_remote_instcats {
       if ($modified_dom ne '') {
           my %servers = &Apache::lonnet::internet_dom_servers($modified_dom);
           my %thismachine;
           map { $thismachine{$_} = 1; } &Apache::lonnet::current_machine_ids();
           if (keys(%servers)) {
               foreach my $server (keys(%servers)) {
                   next if ($thismachine{$server});
                   &Apache::lonnet::remote_devalidate_cache($server,['instcats:'.$modified_dom]);
               }
           }
           $modified_dom = '';
       }
       return;
   }
   
 sub handler {  sub handler {
     my $r = shift;      my $r = shift;
     if ($r->header_only) {      if ($r->header_only) {
Line 2452  sub handler { Line 2485  sub handler {
         return OK;          return OK;
     }      }
   
       $registered_cleanup=0;
       $modified_dom = '';
   
     my $dom = $env{'request.role.domain'};      my $dom = $env{'request.role.domain'};
     my $domdesc = &Apache::lonnet::domain($dom,'description');      my $domdesc = &Apache::lonnet::domain($dom,'description');
     my ($allowed,$permission) = &get_permission($dom);      my ($allowed,$permission) = &get_permission($dom);

Removed from v.1.79.2.5  
changed lines
  Added in v.1.79.2.7


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