Diff for /loncom/auth/lonroles.pm between versions 1.367 and 1.370

version 1.367, 2022/10/05 16:11:26 version 1.370, 2023/06/20 14:04:02
Line 444  sub handler { Line 444  sub handler {
        $reqauthor = &Apache::loncoursequeueadmin::process_reqauthor(\$update);         $reqauthor = &Apache::loncoursequeueadmin::process_reqauthor(\$update);
     }      }
   
   # ------------------------------------------------- Check for approval results
       my $approvalresult;
       if (($env{'form.approvals'} eq 'show') && ($env{'form.state'} eq 'done')) {
           $approvalresult = &Apache::loncoursequeueadmin::update_request_queue('othdombyuser',  
                                                                                $env{'user.domain'});
       }
     my $envkey;      my $envkey;
     my %dcroles = ();      my %dcroles = ();
     my %helpdeskroles = ();      my %helpdeskroles = ();
Line 499  sub handler { Line 505  sub handler {
  "request.course.sec"          => '',   "request.course.sec"          => '',
                                  "request.course.tied"         => '',                                   "request.course.tied"         => '',
                                  "request.course.timechecked"  => '',                                   "request.course.timechecked"  => '',
                                    "request.course.suppupdated"  => '',
  "request.role"                => 'cm',   "request.role"                => 'cm',
                                  "request.role.adv"            => $env{'user.adv'},                                   "request.role.adv"            => $env{'user.adv'},
  "request.role.domain"         => $env{'user.domain'}});   "request.role.domain"         => $env{'user.domain'}});
Line 853  ENDCLOSE Line 860  ENDCLOSE
                             my ($feeds,$syllabus_time);                              my ($feeds,$syllabus_time);
                             &Apache::lonrss::advertisefeeds($cnum,$cdom,undef,\$feeds);                              &Apache::lonrss::advertisefeeds($cnum,$cdom,undef,\$feeds);
                             &Apache::lonnet::appenv({'request.course.feeds' => $feeds});                              &Apache::lonnet::appenv({'request.course.feeds' => $feeds});
                             &Apache::lonnet::get_numsuppfiles($cnum,$cdom,1);  
                             unless ($env{'course.'.$cdom.'_'.$cnum.'.updatedsyllabus'}) {                              unless ($env{'course.'.$cdom.'_'.$cnum.'.updatedsyllabus'}) {
                                 unless (($env{'course.'.$cdom.'_'.$cnum.'.externalsyllabus'}) ||                                  unless (($env{'course.'.$cdom.'_'.$cnum.'.externalsyllabus'}) ||
                                         ($env{'course.'.$cdom.'_'.$cnum.'.uploadedsyllabus'})) {                                          ($env{'course.'.$cdom.'_'.$cnum.'.uploadedsyllabus'})) {
Line 886  ENDCLOSE Line 892  ENDCLOSE
                                 if ($env{'form.symb'}) {                                  if ($env{'form.symb'}) {
                                     $furl .= '&symb='.&HTML::Entities::encode($env{'form.symb'},'<>&"');                                      $furl .= '&symb='.&HTML::Entities::encode($env{'form.symb'},'<>&"');
                                 }                                  }
                               } else {
                                   &set_supplemental_access($cnum,$cdom);
                             }                              }
                             if (($ferr) && ($tadv)) {                              if (($ferr) && ($tadv)) {
  &error_page($r,$ferr,$furl);   &error_page($r,$ferr,$furl);
Line 951  ENDCLOSE Line 959  ENDCLOSE
                                               &Apache::loncommon::end_page());                                                &Apache::loncommon::end_page());
                                 }                                  }
     } else {      } else {
                                   &set_supplemental_access($cnum,$cdom);
                                 if (($env{'request.lti.login'}) &&                                  if (($env{'request.lti.login'}) &&
                                     ($env{'request.lti.rosterid'} || $env{'request.lti.passbackid'})) {                                      ($env{'request.lti.rosterid'} || $env{'request.lti.passbackid'})) {
                                     &process_lti($r,$cdom,$cnum);                                      &process_lti($r,$cdom,$cnum);
Line 1230  ENDCLOSE Line 1239  ENDCLOSE
     } else {      } else {
         my $crumbsright;          my $crumbsright;
         unless (($norolelist) && ((split(/:/,$env{'user.error.msg'}))[2])) {          unless (($norolelist) && ((split(/:/,$env{'user.error.msg'}))[2])) {
             $funcs = &get_roles_functions($showcount,$cattype);              $funcs = &get_roles_functions($showcount,$cattype,$domdefs{'userapprovals'});
             if ($env{'browser.mobile'}) {              if ($env{'browser.mobile'}) {
                 $crumbsright = $funcs;                  $crumbsright = $funcs;
                 undef($funcs);                  undef($funcs);
Line 1268  function enterrole (thisform,rolecode,bu Line 1277  function enterrole (thisform,rolecode,bu
 }  }
   
 function rolesView (caller) {  function rolesView (caller) {
     if ((caller == 'showall') || (caller == 'noshowall')) {      if (caller == 'approvals') {
           document.rolechoice.approvals.value = 'show';
       } else if (caller == 'noapprovals') {
           document.rolechoice.approvals.value = 'hide';
       } else if ((caller == 'showall') || (caller == 'noshowall')) {
         document.rolechoice.display.value = caller;          document.rolechoice.display.value = caller;
     } else {      } else {
         if ((caller == 'doupdate') || (caller == 'requestauthor') ||          if ((caller == 'doupdate') || (caller == 'requestauthor') ||
Line 1364  ENDHEADER Line 1377  ENDHEADER
             }              }
             if ($hotlist) {              if ($hotlist) {
                 $showresult .= $hotlist;                  $showresult .= $hotlist;
             }               }
             $showresult .= '</div>';              $showresult .= '</div>';
             $r->print($showresult);              $r->print($showresult);
         } elsif ($env{'form.state'} eq 'queued') {          } elsif ($env{'form.state'} eq 'queued') {
             $r->print(&get_queued());              $r->print(&get_queued());
           } elsif ($env{'form.approvals'} eq 'show') {
               if ($env{'form.state'} eq 'done') {
                   $r->print($approvalresult).'<br />';
               }
               $r->print('<div class="LC_left_float"><fieldset><legend>'.&mt('Role assignments queued pending your acceptance').'</legend>'.
                        &get_approvals().
                        '</fieldset></div><br clear="all" />');
         }          }
         if (($ENV{'REDIRECT_QUERY_STRING'}) && ($fn)) {          if (($ENV{'REDIRECT_QUERY_STRING'}) && ($fn)) {
        $fn.='?'.$ENV{'REDIRECT_QUERY_STRING'};         $fn.='?'.$ENV{'REDIRECT_QUERY_STRING'};
         }          }
         my $display = ($env{'form.display'} =~ /^(showall)$/);          my $display = ($env{'form.display'} =~ /^(showall)$/);
           my $approvals = ($env{'form.approvals'} =~ /^(show)$/);
         $r->print('<form method="post" name="rolechoice" action="'.(($fn)?$fn:$r->uri).'">');          $r->print('<form method="post" name="rolechoice" action="'.(($fn)?$fn:$r->uri).'">');
         $r->print('<input type="hidden" name="orgurl" value="'.$fn.'" />');          $r->print('<input type="hidden" name="orgurl" value="'.$fn.'" />');
         $r->print('<input type="hidden" name="selectrole" value="1" />');          $r->print('<input type="hidden" name="selectrole" value="1" />');
         $r->print('<input type="hidden" name="newrole" value="" />');          $r->print('<input type="hidden" name="newrole" value="" />');
         $r->print('<input type="hidden" name="display" value="'.$display.'" />');          $r->print('<input type="hidden" name="display" value="'.$display.'" />');
         $r->print('<input type="hidden" name="state" value="" />');          $r->print('<input type="hidden" name="state" value="" />');
           $r->print('<input type="hidden" name="approvals" value="'.$approvals.'" />');
         if ($blocked_by_ip) {          if ($blocked_by_ip) {
             my $blocked_role = 'student';              my $blocked_role = 'student';
             if ($blocked_type eq 'Community') {              if ($blocked_type eq 'Community') {
Line 3363  sub is_active_course { Line 3385  sub is_active_course {
 }  }
   
 sub get_roles_functions {  sub get_roles_functions {
     my ($rolescount,$cattype) = @_;      my ($rolescount,$cattype,$userapprovals) = @_;
     my @links;      my @links;
     push(@links,["javascript:rolesView('doupdate');",'start-here-22x22',&mt('Check for changes')]);      push(@links,["javascript:rolesView('doupdate');",'start-here-22x22',&mt('Check for changes')]);
     if ($env{'environment.canrequest.author'}) {      if ($env{'environment.canrequest.author'}) {
Line 3392  sub get_roles_functions { Line 3414  sub get_roles_functions {
     unless ($cattype eq 'none') {      unless ($cattype eq 'none') {
         push(@links,['/adm/coursecatalog','ccat-22x22',&mt('Course catalog')]);          push(@links,['/adm/coursecatalog','ccat-22x22',&mt('Course catalog')]);
     }      }
       if ($userapprovals) {
           if ($env{'form.approvals'} eq 'show') {
               push(@links,["javascript:rolesView('noapprovals');",'list-add-22x22',&mt('Hide pending')]);
           } else {
               push(@links,["javascript:rolesView('approvals');",'list-add-22x22',&mt('Show pending')]);
           }
       }
     my $funcs;      my $funcs;
     if ($env{'browser.mobile'}) {      if ($env{'browser.mobile'}) {
         my @functions;          my @functions;
Line 3495  sub get_queued { Line 3524  sub get_queued {
     unless ($output) {      unless ($output) {
         if ($env{'environment.canrequest.author'} || $env{'environment.canrequest.official'} ||          if ($env{'environment.canrequest.author'} || $env{'environment.canrequest.official'} ||
             $env{'environment.canrequest.unofficial'} || $env{'environment.canrequest.community'}) {              $env{'environment.canrequest.unofficial'} || $env{'environment.canrequest.community'}) {
             $output = &mt('No requests for courses, communities or authoring currently queued');              $output = '<span class="LC_info">'.
                         &mt('No requests for courses, communities or authoring currently queued').
                         '</span>';
         } else {          } else {
             $output = &mt('No enrollment requests currently queued awaiting approval');              $output = '<span class="LC_info">'.
                         &mt('No enrollment requests currently queued awaiting approval').
                         '</span>';
         }          }
     }      }
     return '<div class="LC_left_float"><fieldset><legend>'.&mt('Queued requests').'</legend>'.      return '<div class="LC_left_float"><fieldset><legend>'.&mt('Queued requests').'</legend>'.
            $output.'</fieldset></div><br clear="all" />';             $output.'</fieldset></div><br clear="all" />';
 }  }
   
   sub get_approvals {
       return &Apache::loncoursequeueadmin::display_queued_requests('othdomaction',$env{'user.domain'},'','user');
   }
   
 sub process_lti {  sub process_lti {
     my ($r,$cdom,$cnum) = @_;      my ($r,$cdom,$cnum) = @_;
     my %lti = &Apache::lonnet::get_domain_lti($cdom,'provider');      my %lti = &Apache::lonnet::get_domain_lti($cdom,'provider');
Line 3610  sub set_deeplink_target { Line 3647  sub set_deeplink_target {
     return;      return;
 }  }
   
   sub set_supplemental_access {
       my ($cnum,$cdom) = @_;
       my ($supplemental,$refs_updated) = &Apache::loncommon::get_supplemental($cnum,$cdom);
       unless ($refs_updated) {
           &Apache::loncommon::set_supp_httprefs($cnum,$cdom,$supplemental);
       }
   }
   
 1;  1;
 __END__  __END__
   

Removed from v.1.367  
changed lines
  Added in v.1.370


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