--- loncom/interface/lonmodifycourse.pm 2022/02/07 12:03:43 1.79.2.9.2.1 +++ loncom/interface/lonmodifycourse.pm 2024/12/30 00:34:19 1.79.2.10 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # handler for DC-only modifiable course settings # -# $Id: lonmodifycourse.pm,v 1.79.2.9.2.1 2022/02/07 12:03:43 raeburn Exp $ +# $Id: lonmodifycourse.pm,v 1.79.2.10 2024/12/30 00:34:19 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -410,7 +410,6 @@ sub print_modification_menu { 'setanon' => 'View/Modify responders threshold for anonymous survey submissions display', 'selfenroll' => 'View/Modify Self-Enrollment configuration', 'setpostsubmit' => 'View/Modify submit button behavior, post-submission', - 'setltiauth' => 'View/Modify re-authentication requirement for LTI launch of deep-linked item', ); } else { %linktext = ( @@ -418,7 +417,6 @@ sub print_modification_menu { 'setanon' => 'View responders threshold for anonymous survey submissions display', 'selfenroll' => 'View Self-Enrollment configuration', 'setpostsubmit' => 'View submit button behavior, post-submission', - 'setltiauth' => 'View re-authentication requirement for LTI launch of deep-linked item', ); } if ($type eq 'Community') { @@ -457,7 +455,6 @@ sub print_modification_menu { my $anon_text = &mt('Responder threshold required to display anonymous survey submissions.'); my $postsubmit_text = &mt('Override defaults for submit button behavior post-submission for this specific course.'); my $mysqltables_text = &mt('Override default for lifetime of "temporary" MySQL tables containing student performance data.'); - my $ltiauth_text = &mt('Override default for requirement for re-authentication for LTI-limited launch of deep-linked item'); $linktext{'viewparms'} = 'Display current settings for automated enrollment'; my %domconf = &Apache::lonnet::get_dom('configuration',['coursecategories'],$dom); @@ -539,14 +536,6 @@ sub print_modification_menu { permission => $permission->{'setpostsubmit'}, linktitle => '', }, - { - linktext => $linktext{'setltiauth'}, - icon => 'system-lock-screen.png', - #help => '', - url => &phaseurl('setltiauth'), - permission => $permission->{'setltiauth'}, - linktitle => '', - }, ] }, ); @@ -577,8 +566,7 @@ sub print_modification_menu { '
  • '.$setquota_text.'
  • '."\n". '
  • '.$setuploadquota_text.'
  • '."\n". '
  • '.$anon_text.'
  • '."\n". - '
  • '.$postsubmit_text.'
  • '."\n". - '
  • '.$ltiauth_text.'
  • '."\n"; + '
  • '.$postsubmit_text.'
  • '."\n"; my ($categories_link_start,$categories_link_end); if ($permission->{'catsettings'} eq 'edit') { $categories_link_start = ''; @@ -1251,79 +1239,6 @@ sub print_selfenrollconfig { return; } -sub print_set_ltiauth { - my ($r,$cdom,$cnum,$cdesc,$type,$readonly) = @_; - my %lt = &Apache::lonlocal::texthash( - 'requ' => 'Requirement for re-authentication for student LTI-limited launch of deep-linked item', - 'link' => 'Link protection can be set to accept username for an enrolled student (if sent by Consumer)', - 'logi' => 'Login needed, regardless of user information sent by LTI Consumer in (signed) parameters', - 'used' => 'Use domain default', - 'cour' => 'Use course-specific setting', - 'curd' => 'Current domain default is', - 'valu' => 'Value for this course', - 'modi' => 'Save', - 'back' => 'Pick another action', - ); - my ($domdef,$checkeddom,$checkedcrs,$domdefdisplay,$divsty,$authok,$authno); - $domdef = 0; - $checkeddom = 'checked="checked "'; - $domdefdisplay = $lt{'logi'}; - $divsty = 'display:none'; - $authno = 'checked="checked" '; - my %domconfig = - &Apache::lonnet::get_dom('configuration',['coursedefaults'],$cdom); - if (ref($domconfig{'coursedefaults'}) eq 'HASH') { - $domdef = $domconfig{'coursedefaults'}{'ltiauth'}; - } - if ($domdef) { - $domdefdisplay = $lt{'link'}; - } - my %settings = &Apache::lonnet::get('environment',['internal.ltiauth'],$cdom,$cnum); - my $ltiauth = $settings{'internal.ltiauth'}; - - if ($ltiauth ne '') { - $checkedcrs = $checkeddom; - $checkeddom = ''; - $divsty = 'display:inline-block'; - if ($ltiauth) { - $authok = 'checked="checked "'; - } - } - &print_header($r,$type); - my $hidden_elements = &hidden_form_elements(); - my ($disabled,$submit); - if ($readonly) { - $disabled = ' disabled="disabled"'; - } else { - $submit = ''; - } - my $helpitem = &Apache::loncommon::help_open_topic('Modify_Course_LTI_Authen'); - $r->print(< -

    $helpitem $lt{'requ'} $cdesc

    -

    $lt{'curd'}: '.$domdefdisplay -

    -
    - - -

    -$lt{'valu'} - - -
    - - - -
    -$submit -

    -$hidden_elements -
    $lt{'back'} - -ENDDOCUMENT - return; -} - sub modify_selfenrollconfig { my ($r,$type,$cdesc,$coursehash) = @_; return unless(ref($coursehash) eq 'HASH'); @@ -2316,109 +2231,6 @@ sub modify_catsettings { return; } -sub modify_ltiauth { - my ($r,$cdom,$cnum,$cdesc,$domdesc,$type) = @_; - my %lt = &Apache::lonlocal::texthash( - 'requ' => 'Requirement for re-authentication for student LTI-limited launch of deep-linked item', - 'link' => 'Link protection can be set to accept username for an enrolled student (if sent by Consumer)', - 'logi' => 'Login needed, regardless of user information sent by LTI Consumer in (signed) parameters', - 'used' => 'Use domain default', - 'cour' => 'Use course-specific setting', - 'modi' => 'Save', - 'back' => 'Pick another action', - ); - &print_header($r,$type); - $r->print('
    '."\n". - '

    '.$lt{'requ'}. - ' '.$cdesc.'

    '); - my %oldsettings = &Apache::lonnet::get('environment',['internal.ltiauth'],$cdom,$cnum); - my $oldltiauth = $oldsettings{'internal.ltiauth'}; - my $domdef; - my %domconfig = - &Apache::lonnet::get_dom('configuration',['coursedefaults'],$cdom); - if (ref($domconfig{'coursedefaults'}) eq 'HASH') { - $domdef = $domconfig{'coursedefaults'}{'ltiauth'}; - } - my ($newltiauth,$nochange,$change,$status,$error,$ltiauth); - if ($env{'form.ltiauthset'} eq 'dom') { - if ($oldltiauth eq '') { - $nochange = 1; - } else { - $change = 1; - } - } elsif ($env{'form.ltiauthset'} eq 'course') { - if ($env{'form.ltiauth'} =~ /^0|1$/) { - $newltiauth = $env{'form.ltiauth'}; - } - if ($oldltiauth == $newltiauth) { - $nochange = 1; - } else { - $change = 1; - } - } - if ($change) { - if ($newltiauth ne '') { - my %cenv = ( - 'internal.ltiauth' => $newltiauth, - ); - if (&Apache::lonnet::put('environment',\%cenv,$cdom,$cnum) eq 'ok') { - if ($env{'course.'.$cdom.'_'.$cnum.'.description'} ne '') { - &Apache::lonnet::appenv( - {'course.'.$cdom.'_'.$cnum.'.internal.ltiauth' => $newltiauth}); - } - } else { - $error = 1; - } - } else { - if (&Apache::lonnet::del('environment',['internal.ltiauth'],$cdom,$cnum) eq 'ok') { - if (exists($env{'course.'.$cdom.'_'.$cnum.'.internal.ltiauth'})) { - &Apache::lonnet::delenv('course.'.$cdom.'_'.$cnum.'.internal.ltiauth'); - } - } else { - $error = 1; - } - } - } - if ($error) { - $nochange = 1; - } - if ($nochange) { - $ltiauth = $oldltiauth; - } else { - $ltiauth = $newltiauth; - } - if ($ltiauth eq '') { - $status = $lt{'used'}.': '; - if ($domdef) { - $status .= ''.$lt{'link'}.''; - } else { - $status .= ''.$lt{'logi'}.''; - } - } else { - $status = $lt{'cour'}.': '; - if ($ltiauth) { - $status .= ''.$lt{'link'}.''; - } else { - $status .= ''.$lt{'logi'}.''; - } - } - if ($error) { - $r->print('

    '.&mt('An error occurred when saving your changes').'

    '); - } - $r->print('

    '); - if ($nochange) { - $r->print(&mt('Re-authentication requirement for LTI launch of deep-linked item is unchanged')); - } elsif ($change) { - $r->print(&mt('Re-authentication requirement for LTI launch of deep-linked changed')); - } - $r->print('
    '.$status); - $r->print('

    '. - ''. - &mt('Pick another action').'

    '); - $r->print(&hidden_form_elements().'
    '); - return; -} - sub print_header { my ($r,$type,$javascript_validations) = @_; my $phase = "start"; @@ -2574,35 +2386,6 @@ function togglePostsubmit(caller) { ENDSCRIPT - } elsif ($phase eq 'setltiauth') { - $js .= <<"ENDJS"; -function toggleLTIOptions(form) { - var radioname = 'ltiauthset'; - var divid = 'crsltiauth'; - var num = form.elements[radioname].length; - if (num) { - var setvis = ''; - for (var i=0; i {'onload' => "hide_searching(); courseSet(document.filterpicker.official, 'load');"}, }; - } elsif ($env{'form.phase'} eq 'setltiauth') { - $starthash = { - add_entries => {'onload' => "toggleLTIOptions(document.setltiauth);"}, - }; } $r->print(&Apache::loncommon::start_page('View/Modify Course/Community Settings', &Apache::lonhtmlcommon::scripttag($js), @@ -2714,7 +2493,7 @@ sub hidden_form_elements { 'locarg','krbarg','krbver','counter','hidefromcat','usecategory', 'threshold','postsubmit','postsubtimeout','defaultcredits','uploadquota', 'selfenrollmgrdc','selfenrollmgrcc','action','state','currsec_st', - 'sections','newsec','mysqltables','nopasswdchg','ltiauth','ltiauthset'], + 'sections','newsec','mysqltables','nopasswdchg'], ['^selfenrollmgr_','^selfenroll_'])."\n". ''; return $hidden_elements; @@ -2748,8 +2527,6 @@ sub get_permission { processcat => 'edit', selfenroll => 'edit', adhocrole => 'coord', - setltiauth => 'edit', - processltiauth => 'edit', ); if ($passwdconf{'crsownerchg'}) { $permission{passwdchg} = 'edit'; @@ -2765,7 +2542,6 @@ sub get_permission { catsettings => 'view', selfenroll => 'view', adhocrole => 'custom', - setltiauth => 'view', ); if ($passwdconf{'crsownerchg'}) { $permission{passwdchg} = 'view'; @@ -2787,7 +2563,7 @@ sub devalidate_remote_instcats { } $modified_dom = ''; } - return; + return OK; } sub handler { @@ -2965,19 +2741,6 @@ sub handler { text=>"Result"}); &modify_selfenrollconfig($r,$type,$cdesc,$coursehash); } - } elsif (($phase eq 'setltiauth') && ($permission->{'setltiauth'})) { - &Apache::lonhtmlcommon::add_breadcrumb - ({href=>"javascript:changePage(document.$phase,'$phase')", - text=>"Requirement for re-authentication for LTI launch of deep-linked item"}); - &print_set_ltiauth($r,$cdom,$cnum,$cdesc,$type,$readonly); - } elsif (($phase eq 'processltiauth') && ($permission->{'processltiauth'})) { - &Apache::lonhtmlcommon::add_breadcrumb - ({href=>"javascript:changePage(document.$phase,'setltiauth')", - text=>"Requirement for re-authentication for LTI launch of deep-linked item"}); - &Apache::lonhtmlcommon::add_breadcrumb - ({href=>"javascript:changePage(document.$phase,'$phase')", - text=>"Result"}); - &modify_ltiauth($r,$cdom,$cnum,$cdesc,$domdesc,$type); } } } else {