version 1.48, 2010/03/19 13:23:05
|
version 1.60, 2011/01/05 18:47:46
|
Line 128 sub handler {
|
Line 128 sub handler {
|
} |
} |
|
|
&Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'}, |
&Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'}, |
['action','showdom','cnum','state','crstype']); |
['action','showdom','cnum','state','crstype','queue']); |
&Apache::lonhtmlcommon::clear_breadcrumbs(); |
&Apache::lonhtmlcommon::clear_breadcrumbs(); |
my $dom = &get_course_dom(); |
my $dom = &get_course_dom(); |
my $action = $env{'form.action'}; |
my $action = $env{'form.action'}; |
Line 179 sub handler {
|
Line 179 sub handler {
|
if (($dom eq $env{'request.role.domain'}) && (&Apache::lonnet::allowed('ccc',$dom))) { |
if (($dom eq $env{'request.role.domain'}) && (&Apache::lonnet::allowed('ccc',$dom))) { |
if ($env{'form.cnum'} ne '') { |
if ($env{'form.cnum'} ne '') { |
my $cnum = $env{'form.cnum'}; |
my $cnum = $env{'form.cnum'}; |
my $reqkey = $cnum.'_approval'; |
my $queue = $env{'form.queue'}; |
|
my $reqkey = $cnum.'_'.$queue; |
my $namespace = 'courserequestqueue'; |
my $namespace = 'courserequestqueue'; |
my $domconfig = &Apache::lonnet::get_domainconfiguser($dom); |
my $domconfig = &Apache::lonnet::get_domainconfiguser($dom); |
my %queued = |
my %queued = |
Line 317 sub handler {
|
Line 318 sub handler {
|
} elsif ($action eq 'display') { |
} elsif ($action eq 'display') { |
if ($warning ne '') { |
if ($warning ne '') { |
my $args = { only_body => 1 }; |
my $args = { only_body => 1 }; |
$r->print(&header('Course/Community Requests','','',$args).$crumb. |
$r->print(&header('Course/Community Requests','','' ,'',$args).$crumb. |
'<h3>'.&mt('Course/Community Request Details').'</h3>'. |
'<h3>'.&mt('Course/Community Request Details').'</h3>'. |
'<div class="LC_warning">'.$warning.'</div>'. |
'<div class="LC_warning">'.$warning.'</div>'. |
&close_popup_form()); |
&close_popup_form()); |
Line 646 sub onload_action {
|
Line 647 sub onload_action {
|
sub print_main_menu { |
sub print_main_menu { |
my ($r,$can_request,$states,$dom,$jscript,$loaditems,$crumb,$request_domains) = @_; |
my ($r,$can_request,$states,$dom,$jscript,$loaditems,$crumb,$request_domains) = @_; |
my ($types,$typename) = &Apache::loncommon::course_types(); |
my ($types,$typename) = &Apache::loncommon::course_types(); |
my $onchange; |
my $onchange = 'this.form.submit()'; |
unless ($env{'form.interface'} eq 'textual') { |
|
$onchange = 'this.form.submit()'; |
|
} |
|
|
|
my $nextstate_setter = "\n"; |
my $nextstate_setter = "\n"; |
if (ref($states) eq 'HASH') { |
if (ref($states) eq 'HASH') { |
foreach my $key (keys(%{$states})) { |
foreach my $key (keys(%{$states})) { |
Line 699 END
|
Line 696 END
|
official => 'You are not permitted to request creation of an official course in this domain.', |
official => 'You are not permitted to request creation of an official course in this domain.', |
unofficial => 'You are not permitted to request creation of an unofficial course in this domain.', |
unofficial => 'You are not permitted to request creation of an unofficial course in this domain.', |
community => 'You are not permitted to request creation of a community this domain.', |
community => 'You are not permitted to request creation of a community this domain.', |
all => 'You must choose a specific course type when making a new course request.\\nAll types is not allowed.', |
all => 'You must choose a specific course type when making a new course request.\\n\"All types\" is not allowed.', |
); |
); |
$js .= <<END; |
$js .= <<END; |
if (crschoice == 'official') { |
if (crschoice == 'official') { |
Line 859 END
|
Line 856 END
|
} |
} |
if ($action eq 'new') { |
if ($action eq 'new') { |
my $jsextra; |
my $jsextra; |
if ($state eq 'courseinfo') { |
if (($state eq 'courseinfo') || ($state eq 'codepick')) { |
$jsextra = "\n".&Apache::loncommon::coursebrowser_javascript($dom); |
$jsextra = "\n".&Apache::loncommon::coursebrowser_javascript($dom); |
} elsif ($state eq 'enrollment') { |
} elsif ($state eq 'enrollment') { |
if (($env{'form.crstype'} eq 'official') && |
if (($env{'form.crstype'} eq 'official') && |
Line 1325 sub print_request_form {
|
Line 1322 sub print_request_form {
|
} |
} |
if ($skipuser) { |
if ($skipuser) { |
push(@disallowed,$i); |
push(@disallowed,$i); |
$disallowmsg{$i} = &mt('[_1] was excluded because new users need be from the course domain','<tt>'.$personname.':'.$persondom.'</tt>'); |
$disallowmsg{$i} = &mt('[_1] was excluded because new users need to be from the course domain','<tt>'.$personname.':'.$persondom.'</tt>'); |
next; |
next; |
} |
} |
} |
} |
if (&get_cancreate_status($persondom,$personname,$dom)) { |
my $usertype = &get_usertype($persondom,$personname,\%curr_rules,\%got_rules); |
my ($allowed,$msg) = |
if (&Apache::lonuserutils::can_create_user($dom,'requestcrs',$usertype)) { |
|
my ($allowed,$msg,$authtype,$authparam) = |
&check_newuser_rules($persondom,$personname, |
&check_newuser_rules($persondom,$personname, |
\%alerts,\%rulematch,\%inst_results, |
\%alerts,\%rulematch,\%inst_results, |
\%curr_rules,\%got_rules); |
\%curr_rules,\%got_rules); |
if ($allowed) { |
if ($allowed) { |
|
my %domdefaults = &Apache::lonnet::get_domain_defaults($persondom); |
|
if ($usertype eq 'official') { |
|
if ($authtype eq '') { |
|
$authtype = $domdefaults{'auth_def'}; |
|
$authparam = $domdefaults{'auth_arg_def'}; |
|
} |
|
} elsif ($usertype eq 'unofficial') { |
|
if ($authtype eq '') { |
|
$authtype = 'internal'; |
|
$authparam = ''; |
|
} |
|
} else { |
|
$authtype = $domdefaults{'auth_def'}; |
|
$authparam = $domdefaults{'auth_arg_def'}; |
|
} |
|
if (($authtype eq '') || |
|
(($authtype =~/^krb/) && ($authparam eq ''))) { |
|
push(@disallowed,$i); |
|
$disallowmsg{$i} = &mt('[_1] was excluded because institutional information is incomplete for this new user.','<tt>'.$personname.':'.$persondom.'</tt>'); |
|
next; |
|
} |
if (ref($inst_results{$personname.':'.$persondom}) eq 'HASH') { |
if (ref($inst_results{$personname.':'.$persondom}) eq 'HASH') { |
if ($inst_results{$personname.':'.$persondom}{'lastname'} ne '') { |
if ($inst_results{$personname.':'.$persondom}{'lastname'} ne '') { |
$env{'form.person_'.$i.'_lastname'} = $inst_results{$personname.':'.$persondom}{'lastname'}; |
$env{'form.person_'.$i.'_lastname'} = $inst_results{$personname.':'.$persondom}{'lastname'}; |
Line 1457 sub print_request_form {
|
Line 1476 sub print_request_form {
|
return; |
return; |
} |
} |
|
|
sub get_cancreate_status { |
sub get_usertype { |
my ($persondom,$personname,$dom) = @_; |
my ($persondom,$personname,$curr_rules,$got_rules) = @_; |
my ($rules,$ruleorder) = |
my ($rules,$ruleorder) = |
&Apache::lonnet::inst_userrules($persondom,'username'); |
&Apache::lonnet::inst_userrules($persondom,'username'); |
my $usertype = &Apache::lonuserutils::check_usertype($persondom,$personname, |
my $usertype = &Apache::lonuserutils::check_usertype($persondom,$personname, |
$rules); |
$rules,$curr_rules,$got_rules); |
return &Apache::lonuserutils::can_create_user($dom,'requestcrs',$usertype); |
return $usertype; |
} |
} |
|
|
sub check_newuser_rules { |
sub check_newuser_rules { |
Line 1471 sub check_newuser_rules {
|
Line 1490 sub check_newuser_rules {
|
$got_rules) = @_; |
$got_rules) = @_; |
my $allowed = 1; |
my $allowed = 1; |
my $newuser = 1; |
my $newuser = 1; |
my ($checkhash,$userchkmsg); |
my ($checkhash,$userchkmsg,$authtype,$authparam); |
my $checks = { 'username' => 1 }; |
my $checks = { 'username' => 1 }; |
$checkhash->{$personname.':'.$persondom} = { 'newuser' => $newuser }; |
$checkhash->{$personname.':'.$persondom} = { 'newuser' => $newuser }; |
&Apache::loncommon::user_rule_check($checkhash,$checks,$alerts,$rulematch, |
&Apache::loncommon::user_rule_check($checkhash,$checks,$alerts,$rulematch, |
Line 1493 sub check_newuser_rules {
|
Line 1512 sub check_newuser_rules {
|
} |
} |
} |
} |
} |
} |
return ($allowed,$userchkmsg); |
if ($allowed) { |
|
if (ref($rulematch) eq 'HASH') { |
|
if (ref($rulematch->{$personname.':'.$persondom}) eq 'HASH') { |
|
my $matchedrule = $rulematch->{$personname.':'.$persondom}{'username'}; |
|
my ($rules,$ruleorder) = |
|
&Apache::lonnet::inst_userrules($persondom,'username'); |
|
if (ref($rules) eq 'HASH') { |
|
if (ref($rules->{$matchedrule}) eq 'HASH') { |
|
$authtype = $rules->{$matchedrule}{'authtype'}; |
|
$authparam = $rules->{$matchedrule}{'authparm'}; |
|
} |
|
} |
|
} |
|
} |
|
} |
|
return ($allowed,$userchkmsg,$authtype,$authparam); |
} |
} |
|
|
sub get_excluded_elements { |
sub get_excluded_elements { |
Line 1861 sub current_lc_sections {
|
Line 1895 sub current_lc_sections {
|
} |
} |
|
|
sub sorted_request_history { |
sub sorted_request_history { |
my ($dom,$action,$after,$before) = @_; |
my ($dom,$action,$curr_req) = @_; |
|
my ($after,$before,$statusfilter,$crstypefilter); |
|
if ($env{'form.status'} ne '') { |
|
$statusfilter = $env{'form.status'}; |
|
} |
|
if ($env{'form.crstype'} ne '') { |
|
$crstypefilter = $env{'form.crstype'}; |
|
} |
|
if (ref($curr_req) eq 'HASH') { |
|
$after = $curr_req->{'requested_after_date'}, |
|
$before = $curr_req->{'requested_before_date'}; |
|
$statusfilter = $curr_req->{'status'}; |
|
$crstypefilter = $curr_req->{'crstype'}; |
|
} |
my %statusinfo = &Apache::lonnet::dump('courserequests',$env{'user.domain'}, |
my %statusinfo = &Apache::lonnet::dump('courserequests',$env{'user.domain'}, |
$env{'user.name'},'^status:'.$dom); |
$env{'user.name'},'^status:'.$dom); |
my %queue_by_date; |
my %queue_by_date; |
Line 1870 sub sorted_request_history {
|
Line 1917 sub sorted_request_history {
|
if ($action eq 'view') { |
if ($action eq 'view') { |
next unless (($statusinfo{$key} eq 'approval') || ($statusinfo{$key} eq 'pending')); |
next unless (($statusinfo{$key} eq 'approval') || ($statusinfo{$key} eq 'pending')); |
} else { |
} else { |
next unless (($env{'form.status'} eq 'any') || |
next unless (($statusfilter eq 'any') || |
($env{'form.status'} eq $statusinfo{$key})); |
($statusfilter eq $statusinfo{$key})); |
} |
} |
(undef,my($cdom,$cnum)) = split(':',$key); |
(undef,my($cdom,$cnum)) = split(':',$key); |
next if ($cdom ne $dom); |
next if ($cdom ne $dom); |
Line 1890 sub sorted_request_history {
|
Line 1937 sub sorted_request_history {
|
} else { |
} else { |
next if (($reqtime < $after) || ($reqtime > $before)); |
next if (($reqtime < $after) || ($reqtime > $before)); |
} |
} |
next unless (($env{'form.crstype'} eq 'any') || |
next unless (($crstypefilter eq 'any') || |
($env{'form.crstype'} eq $crstype)); |
($crstypefilter eq $crstype)); |
if ($action eq 'view') { |
if ($action eq 'view') { |
next unless (($disposition eq 'approval') || |
next unless (($disposition eq 'approval') || |
($disposition eq 'pending')); |
($disposition eq 'pending')); |
Line 2154 sub print_request_logs {
|
Line 2201 sub print_request_logs {
|
my ($statuses,$statusnames) = &reqstatus_names($curr{'crstype'}); |
my ($statuses,$statusnames) = &reqstatus_names($curr{'crstype'}); |
$r->print('<input type="hidden" name="page" value="'.$curr{'page'}.'" />'. |
$r->print('<input type="hidden" name="page" value="'.$curr{'page'}.'" />'. |
&requestlog_display_filter($formname,\%curr)); |
&requestlog_display_filter($formname,\%curr)); |
my %queue_by_date = &sorted_request_history($dom,$env{'form.action'}, |
my %queue_by_date = &sorted_request_history($dom,$env{'form.action'},\%curr); |
$curr{'requested_after_date'}, |
|
$curr{'requested_before_date'}); |
|
my @sortedtimes = sort {$a <=> $b} (keys(%queue_by_date)); |
my @sortedtimes = sort {$a <=> $b} (keys(%queue_by_date)); |
my $showntablehdr = 0; |
my $showntablehdr = 0; |
my $tablehdr = &Apache::loncommon::start_data_table(). |
my $tablehdr = &Apache::loncommon::start_data_table(). |
Line 2302 sub reqstatus_names {
|
Line 2347 sub reqstatus_names {
|
my @statuses = qw(created approval pending rejected cancelled); |
my @statuses = qw(created approval pending rejected cancelled); |
my %statusnames = |
my %statusnames = |
&Apache::lonlocal::texthash ( |
&Apache::lonlocal::texthash ( |
created => 'Course/Community created', |
created => 'Created', |
approval => 'Queued pending approval', |
approval => 'Queued pending approval', |
pending => 'Queued pending validation', |
pending => 'Queued pending validation', |
rejected => 'Request rejected', |
rejected => 'Request rejected', |
Line 2526 sub print_review {
|
Line 2571 sub print_review {
|
if (($env{'form.cloning'}) && |
if (($env{'form.cloning'}) && |
($env{'form.clonecrs'} =~ /^$match_name$/) && |
($env{'form.clonecrs'} =~ /^$match_name$/) && |
($env{'form.clonedom'} =~ /^$match_domain$/)) { |
($env{'form.clonedom'} =~ /^$match_domain$/)) { |
my $canclone = &Apache::loncoursequeueadmin::can_clone_course($env{'user.name'}, |
my $canclone = &Apache::loncoursequeueadmin::can_clone_course($uname, |
$env{'user.domain'},$env{'form.clonecrs'},$env{'form.clonedom'}, |
$udom,$env{'form.clonecrs'},$env{'form.clonedom'}, |
$env{'form.crstype'}); |
$env{'form.crstype'}); |
if ($canclone) { |
if ($canclone) { |
my %courseenv = &Apache::lonnet::userenvironment($env{'form.clonedom'}, |
my %courseenv = &Apache::lonnet::userenvironment($env{'form.clonedom'}, |
Line 2756 ENDJS
|
Line 2801 ENDJS
|
'<label><input type="radio" name="cloning" value="1" '. |
'<label><input type="radio" name="cloning" value="1" '. |
'onclick="javascript:toggleCloning()" />'. |
'onclick="javascript:toggleCloning()" />'. |
&mt('Yes').(' 'x2).'</label><label>'. |
&mt('Yes').(' 'x2).'</label><label>'. |
'<input type="radio" name="cloning" value="0" '. |
'<input type="radio" name="cloning" value="0" checked="checked" '. |
'onclick="javascript:toggleCloning()" />'.&mt('No').'</label>'. |
'onclick="javascript:toggleCloning()" />'.&mt('No').'</label>'. |
'</h3>'. |
'</h3>'. |
&Apache::lonhtmlcommon::row_closure(1). |
&Apache::lonhtmlcommon::row_closure(1). |
Line 2775 sub clone_form {
|
Line 2820 sub clone_form {
|
if ($crstype eq 'community') { |
if ($crstype eq 'community') { |
$type = 'Community'; |
$type = 'Community'; |
} |
} |
my $cloneform = &Apache::loncommon::select_dom_form($dom,'clonedom').' '. |
|
&Apache::loncommon::selectcourse_link($formname,'clonecrs','clonedom','','','',$type); |
|
my %lt = &clone_text(); |
my %lt = &clone_text(); |
my $output .= |
my $output .= |
&Apache::lonhtmlcommon::row_title($lt{'cid'}).'<label>'. |
|
'<input type="text" size="25" name="clonecrs" value="" />'. |
|
'</label>'.&Apache::lonhtmlcommon::row_closure(1). |
|
&Apache::lonhtmlcommon::row_title($lt{'dmn'}).'<label>'. |
&Apache::lonhtmlcommon::row_title($lt{'dmn'}).'<label>'. |
$cloneform.'</label>'.&Apache::lonhtmlcommon::row_closure(1). |
&Apache::loncommon::select_dom_form($dom,'clonedom').'</label>'. |
|
&Apache::lonhtmlcommon::row_closure(1). |
|
&Apache::lonhtmlcommon::row_title($lt{'cid'}).'<label>'. |
|
'<input type="text" size="25" name="clonecrs" value="" onfocus="this.blur();opencrsbrowser('."'$formname','clonecrs','clonedom','','','','','$type'".')" />'. |
|
'</label> '. |
|
&Apache::loncommon::selectcourse_link($formname,'clonecrs','clonedom','','','',$type). |
|
&Apache::lonhtmlcommon::row_closure(1). |
&Apache::lonhtmlcommon::row_title($lt{'dsh'}).'<label>'. |
&Apache::lonhtmlcommon::row_title($lt{'dsh'}).'<label>'. |
'<input type="radio" name="datemode" value="delete" /> '.$lt{'ncd'}. |
'<input type="radio" name="datemode" value="delete" /> '.$lt{'ncd'}. |
'</label><br /><label>'. |
'</label><br /><label>'. |
Line 3027 sub print_request_outcome {
|
Line 3073 sub print_request_outcome {
|
push(@instsections,$sec); |
push(@instsections,$sec); |
} |
} |
$sections{$i}{'loncapa'} = $env{'form.loncapasec_'.$i}; |
$sections{$i}{'loncapa'} = $env{'form.loncapasec_'.$i}; |
|
$sections{$i}{'loncapa'} =~ s/\W//g; |
|
if ($sections{$i}{'loncapa'} eq 'none') { |
|
$sections{$i}{'loncapa'} = ''; |
|
} |
} |
} |
} |
} |
} |
} |
Line 3052 sub print_request_outcome {
|
Line 3102 sub print_request_outcome {
|
$enrollstart = ''; |
$enrollstart = ''; |
$enrollend = ''; |
$enrollend = ''; |
} |
} |
|
my (%alerts,%rulematch,%inst_results,%curr_rules,%got_rules,%disallowmsg); |
for (my $i=0; $i<$env{'form.persontotal'}; $i++) { |
for (my $i=0; $i<$env{'form.persontotal'}; $i++) { |
my $uname = $env{'form.person_'.$i.'_uname'}; |
my $uname = $env{'form.person_'.$i.'_uname'}; |
my $udom = $env{'form.person_'.$i.'_dom'}; |
my $udom = $env{'form.person_'.$i.'_dom'}; |
Line 3063 sub print_request_outcome {
|
Line 3114 sub print_request_outcome {
|
lastname => $env{'form.person_'.$i.'_lastname'}, |
lastname => $env{'form.person_'.$i.'_lastname'}, |
emailaddr => $env{'form.person_'.$i.'_emailaddr'}, |
emailaddr => $env{'form.person_'.$i.'_emailaddr'}, |
}; |
}; |
|
my $usertype = &get_usertype($udom,$uname,\%curr_rules,\%got_rules); |
|
if (&Apache::lonuserutils::can_create_user($udom,'requestcrs',$usertype)) { |
|
my ($allowed,$msg,$authtype,$authparam) = |
|
&check_newuser_rules($udom,$uname,\%alerts,\%rulematch, |
|
\%inst_results,\%curr_rules,\%got_rules); |
|
if ($allowed) { |
|
my %domdefaults = &Apache::lonnet::get_domain_defaults($udom); |
|
if ($usertype eq 'official') { |
|
if ($authtype eq '') { |
|
$authtype = $domdefaults{'auth_def'}; |
|
$authparam = $domdefaults{'auth_arg_def'}; |
|
} else { |
|
if ($authtype eq 'loc') { |
|
$authtype = 'localauth'; |
|
} elsif ($authtype eq 'int') { |
|
$authtype = 'internal'; |
|
} |
|
if ($authtype !~ /^(krb4|krb5|internal|localauth)$/) { |
|
$authtype = $domdefaults{'auth_def'}; |
|
$authparam = $domdefaults{'auth_arg_def'}; |
|
} |
|
} |
|
} elsif ($usertype eq 'unofficial') { |
|
if ($authtype eq '') { |
|
$authtype = 'internal'; |
|
$authparam = ''; |
|
} |
|
} else { |
|
$authtype = $domdefaults{'auth_def'}; |
|
$authparam = $domdefaults{'auth_arg_def'}; |
|
} |
|
if (($authtype eq '') || |
|
(($authtype =~/^krb(4|5)$/) && ($authparam eq '')) || |
|
($authtype !~ /^(krb4|krb5|internal|localauth)$/)) { |
|
next; |
|
} else { |
|
$personnel{$uname.':'.$udom}{'authtype'} = $authtype; |
|
$personnel{$uname.':'.$udom}{'autharg'} = $authparam; |
|
} |
|
} else { |
|
next; |
|
} |
|
} else { |
|
next; |
|
} |
} |
} |
my $role = $env{'form.person_'.$i.'_role'}; |
my $role = $env{'form.person_'.$i.'_role'}; |
unless ($role eq '') { |
unless ($role eq '') { |
Line 3115 sub print_request_outcome {
|
Line 3211 sub print_request_outcome {
|
} |
} |
my $autoadds = 0; |
my $autoadds = 0; |
if ($env{'form.autoadds'}) { |
if ($env{'form.autoadds'}) { |
$autodrops = $env{'form.autoadds'}; |
$autoadds = $env{'form.autoadds'}; |
} |
|
if ($env{'form.autoadds'}) { |
|
$autodrops = $env{'form.autoadds'}; |
|
} |
} |
my $instcode = ''; |
my $instcode = ''; |
if (exists($env{'form.instcode'})) { |
if (exists($env{'form.instcode'})) { |
Line 3286 sub print_request_outcome {
|
Line 3379 sub print_request_outcome {
|
description => $env{'form.cdescr'}, |
description => $env{'form.cdescr'}, |
}, |
}, |
}; |
}; |
|
if ($crstype eq 'official') { |
|
$request->{$requestid}->{'instcode'} = $instcode; |
|
} |
my $statuskey = 'status:'.$dom.':'.$cnum; |
my $statuskey = 'status:'.$dom.':'.$cnum; |
my %userreqhash = &Apache::lonnet::get('courserequests',[$statuskey], |
my %userreqhash = &Apache::lonnet::get('courserequests',[$statuskey], |
$env{'user.domain'},$env{'user.name'}); |
$env{'user.domain'},$env{'user.name'}); |
Line 3577 sub retrieve_settings {
|
Line 3673 sub retrieve_settings {
|
} |
} |
$env{'form.clonecrs'} = $reqinfo{'clonecrs'}; |
$env{'form.clonecrs'} = $reqinfo{'clonecrs'}; |
$env{'form.clonedom'} = $reqinfo{'clonedom'}; |
$env{'form.clonedom'} = $reqinfo{'clonedom'}; |
|
if (($reqinfo{'clonecrs'} ne '') && ($reqinfo{'clonedom'} ne '')) { |
|
$env{'form.cloning'} = 1; |
|
} |
$env{'form.datemode'} = $reqinfo{'datemode'}; |
$env{'form.datemode'} = $reqinfo{'datemode'}; |
$env{'form.dateshift'} = $reqinfo{'dateshift'}; |
$env{'form.dateshift'} = $reqinfo{'dateshift'}; |
if (($reqinfo{'crstype'} eq 'official') && ($reqinfo{'instcode'} ne '')) { |
if ($reqinfo{'crstype'} eq 'official') { |
$env{'form.sectotal'} = $reqinfo{'sectotal'}; |
$env{'form.autoadds'} = $reqinfo{'autoadds'}; |
$env{'form.crosslisttotal'} = $reqinfo{'crosslisttotal'}; |
$env{'form.autodrops'} = $reqinfo{'autodrops'}; |
$env{'form.autoadds'} = $reqinfo{'autoadds'}; |
if ($reqinfo{'instcode'} ne '') { |
$env{'form.autdrops'} = $reqinfo{'autodrops'}; |
$env{'form.sectotal'} = $reqinfo{'sectotal'}; |
$env{'form.instcode'} = $reqinfo{'instcode'}; |
$env{'form.crosslisttotal'} = $reqinfo{'crosslisttotal'}; |
my $crscode = { |
$env{'form.instcode'} = $reqinfo{'instcode'}; |
$cnum => $reqinfo{'instcode'}, |
my $crscode = { |
}; |
$cnum => $reqinfo{'instcode'}, |
&extract_instcode($dom,'instcode',$crscode,$cnum); |
}; |
|
&extract_instcode($dom,'instcode',$crscode,$cnum); |
|
} |
} |
} |
my @currsec; |
my @currsec; |
if (ref($reqinfo{'sections'}) eq 'HASH') { |
if (ref($reqinfo{'sections'}) eq 'HASH') { |