[LON-CAPA-cvs] cvs: loncom /interface loncreateuser.pm lonmodifycourse.pm
raeburn
raeburn at source.lon-capa.org
Mon Apr 28 18:20:14 EDT 2014
raeburn Mon Apr 28 22:20:14 2014 EDT
Modified files:
/loncom/interface lonmodifycourse.pm loncreateuser.pm
Log:
- Display of self-enrollment settings, and saving of changes takes into
account domain configuration (or course-specific configuration) which
determine which self-enrollment settings in a course can be set by a CC.
-------------- next part --------------
Index: loncom/interface/lonmodifycourse.pm
diff -u loncom/interface/lonmodifycourse.pm:1.72 loncom/interface/lonmodifycourse.pm:1.73
--- loncom/interface/lonmodifycourse.pm:1.72 Mon Mar 31 02:31:05 2014
+++ loncom/interface/lonmodifycourse.pm Mon Apr 28 22:20:13 2014
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# handler for DC-only modifiable course settings
#
-# $Id: lonmodifycourse.pm,v 1.72 2014/03/31 02:31:05 raeburn Exp $
+# $Id: lonmodifycourse.pm,v 1.73 2014/04/28 22:20:13 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -839,7 +839,7 @@
$r->print('<form action="/adm/modifycourse" method="post" name="selfenroll">'."\n".
&hidden_form_elements().'<br />');
&Apache::loncreateuser::update_selfenroll_config($r,$env{'form.pickedcourse'},
- $cdom,$cnum,\%currsettings);
+ $cdom,$cnum,'domain',$type,\%currsettings);
$r->print('</form>');
return;
}
@@ -862,6 +862,7 @@
selfenroll_end_access => $coursehash->{'internal.selfenroll_end_access'},
default_enrollment_start_date => $coursehash->{'default_enrollment_start_date'},
default_enrollment_end_date => $coursehash->{'default_enrollment_end_date'},
+ uniquecode => $coursehash->{'internal.uniquecode'},
);
}
return %currsettings;
Index: loncom/interface/loncreateuser.pm
diff -u loncom/interface/loncreateuser.pm:1.399 loncom/interface/loncreateuser.pm:1.400
--- loncom/interface/loncreateuser.pm:1.399 Fri Apr 25 17:56:42 2014
+++ loncom/interface/loncreateuser.pm Mon Apr 28 22:20:13 2014
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# Create a user
#
-# $Id: loncreateuser.pm,v 1.399 2014/04/25 17:56:42 bisitz Exp $
+# $Id: loncreateuser.pm,v 1.400 2014/04/28 22:20:13 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -4993,6 +4993,7 @@
selfenroll_end_access => $env{'course.'.$cid.'.internal.selfenroll_end_access'},
default_enrollment_start_date => $env{'course.'.$cid.'.default_enrollment_start_date'},
default_enrollment_end_date => $env{'course.'.$cid.'.default_enrollment_end_date'},
+ uniquecode => $env{'course.'.$cid.'.internal.uniquecode'},
);
push(@{$brcrum},
{href => '/adm/createuser?action=selfenroll',
@@ -5012,7 +5013,7 @@
bread_crumbs_component => 'Self-enrollment result'};
$r->print(&header(undef,$args));
$r->print('<h3>'.&mt('Self-enrollment with a student role').'</h3>'."\n");
- &update_selfenroll_config($r,$cid,$cdom,$cnum,\%currsettings);
+ &update_selfenroll_config($r,$cid,$cdom,$cnum,$context,$crstype,\%currsettings);
}
} else {
$r->print(&header(undef,{'no_nav_bar' => 1}).
@@ -5740,28 +5741,64 @@
'// ]]>'."\n".
'</script>'."\n".
'<h3>'.$lt->{'selfenroll'}.'</h3>'."\n";
- my ($visible,$cansetvis,$vismsgs,$visactions) = &visible_in_cat($cdom,$cnum);
- if (ref($visactions) eq 'HASH') {
- if ($visible) {
- $output .= '<p class="LC_info">'.$visactions->{'vis'}.'</p>';
- } else {
- $output .= '<p class="LC_warning">'.$visactions->{'miss'}.'</p>'
- .$visactions->{'yous'}.
- '<p>'.$visactions->{'gen'}.'<br />'.$visactions->{'coca'};
- if (ref($vismsgs) eq 'ARRAY') {
- $output .= '<br />'.$visactions->{'make'}.'<ul>';
- foreach my $item (@{$vismsgs}) {
- $output .= '<li>'.$visactions->{$item}.'</li>';
+
+ my $visactions = &cat_visibility();
+ my ($cathash,%cattype);
+ my %domconfig = &Apache::lonnet::get_dom('configuration',['coursecategories'],$cdom);
+ if (ref($domconfig{'coursecategories'}) eq 'HASH') {
+ $cathash = $domconfig{'coursecategories'}{'cats'};
+ $cattype{'auth'} = $domconfig{'coursecategories'}{'auth'};
+ $cattype{'unauth'} = $domconfig{'coursecategories'}{'unauth'};
+ } else {
+ $cathash = {};
+ $cattype{'auth'} = 'std';
+ $cattype{'unauth'} = 'std';
+ }
+ if (($cattype{'auth'} eq 'none') && ($cattype{'unauth'} eq 'none')) {
+ $r->print('<br /><span class="LC_warning">'.$visactions->{'miss'}.'</span><br />'.$visactions->{'yous'}.
+ '<br />'.
+ '<br />'.$visactions->{'take'}.'<ul>'.
+ '<li>'.$visactions->{'dc_chgconf'}.'</li>'.
+ '</ul>');
+ } elsif (($cattype{'auth'} !~ /^(std|domonly)$/) && ($cattype{'unauth'} !~ /^(std|domonly)$/)) {
+ if ($currsettings->{'uniquecode'}) {
+ $r->print('<span class="LC_info">'.$visactions->{'vis'}.'</span>');
+ } else {
+ $r->print('<br /><span class="LC_warning">'.$visactions->{'miss'}.'</span><br />'.$visactions->{'yous'}.
+ '<br />'.
+ '<br />'.$visactions->{'take'}.'<ul>'.
+ '<li>'.$visactions->{'dc_setcode'}.'</li>'.
+ '</ul><br />');
+ }
+ } else {
+ my ($visible,$cansetvis,$vismsgs) = &visible_in_stdcat($cdom,$cnum,\%domconfig);
+ if (ref($visactions) eq 'HASH') {
+ if ($visible) {
+ $output .= '<p class="LC_info">'.$visactions->{'vis'}.'</p>';
+ } else {
+ $output .= '<p class="LC_warning">'.$visactions->{'miss'}.'</p>'
+ .$visactions->{'yous'}.
+ '<p>'.$visactions->{'gen'}.'<br />'.$visactions->{'coca'};
+ if (ref($vismsgs) eq 'ARRAY') {
+ $output .= '<br />'.$visactions->{'make'}.'<ul>';
+ foreach my $item (@{$vismsgs}) {
+ $output .= '<li>'.$visactions->{$item}.'</li>';
+ }
+ $output .= '</ul>';
}
- $output .= '</ul>';
+ $output .= '</p>';
}
- $output .= '</p>';
}
}
my $actionhref = '/adm/createuser';
if ($context eq 'domain') {
$actionhref = '/adm/modifycourse';
}
+
+ my %noedit;
+ unless ($context eq 'domain') {
+ %noedit = &get_noedit_fields($cdom,$cnum,$crstype,$row);
+ }
$output .= '<form name="'.$formname.'" method="post" action="'.$actionhref.'">'."\n".
&Apache::lonhtmlcommon::start_pick_box();
if (ref($row) eq 'ARRAY') {
@@ -5776,6 +5813,37 @@
if (ref($currsettings) eq 'HASH') {
$curr_types = $currsettings->{'selfenroll_types'};
}
+ if ($noedit{$item}) {
+ if ($curr_types eq '*') {
+ $output .= &mt('Any user in any domain');
+ } else {
+ my @entries = split(/;/,$curr_types);
+ if (@entries > 0) {
+ $output .= '<ul>';
+ foreach my $entry (@entries) {
+ my ($currdom,$typestr) = split(/:/,$entry);
+ next if ($typestr eq '');
+ my $domdesc = &Apache::lonnet::domain($currdom);
+ my @currinsttypes = split(',',$typestr);
+ my ($othertitle,$usertypes,$types) =
+ &Apache::loncommon::sorted_inst_types($currdom);
+ if ((ref($types) eq 'ARRAY') && (ref($usertypes) eq 'HASH')) {
+ $usertypes->{'any'} = &mt('any user');
+ if (keys(%{$usertypes}) > 0) {
+ $usertypes->{'other'} = &mt('other users');
+ }
+ my @longinsttypes = map { $usertypes->{$_}; } @currinsttypes;
+ $output .= '<li>'.$domdesc.':'.join(', ', at longinsttypes).'</li>';
+ }
+ }
+ $output .= '</ul>';
+ } else {
+ $output .= &mt('None');
+ }
+ }
+ $output .= '<br />'.&mt('(Set by Domain Coordinator)');
+ next;
+ }
my $showdomdesc = 1;
my $includeempty = 1;
my $num = 0;
@@ -5844,6 +5912,15 @@
if (ref($currsettings) eq 'HASH') {
$registered = $currsettings->{'selfenroll_registered'};
}
+ if ($noedit{$item}) {
+ if ($registered) {
+ $output .= &mt('Must be registered in course');
+ } else {
+ $output .= &mt('No requirement');
+ }
+ $output .= '<br />'.&mt('(Set by Domain Coordinator)');
+ next;
+ }
if ($registered) {
$regon = ' checked="checked" ';
$regoff = ' ';
@@ -5868,6 +5945,12 @@
$endtime = $currsettings->{'default_enrollment_end_date'};
}
}
+ if ($noedit{$item}) {
+ $output .= &mt('From: [_1], to: [_2]',&Apache::lonlocal::locallocaltime($starttime),
+ &Apache::lonlocal::locallocaltime($endtime));
+ $output .= '<br />'.&mt('(Set by Domain Coordinator)');
+ next;
+ }
my $startform =
&Apache::lonhtmlcommon::date_setter($formname,'selfenroll_start_date',$starttime,
undef,undef,undef,undef,undef,undef,undef,$nolink);
@@ -5887,6 +5970,12 @@
$endtime = $currsettings->{'default_enrollment_end_date'};
}
}
+ if ($noedit{$item}) {
+ $output .= &mt('From: [_1], to: [_2]',&Apache::lonlocal::locallocaltime($starttime),
+ &Apache::lonlocal::locallocaltime($endtime));
+ $output .= '<br />'.&mt('(Set by Domain Coordinator)');
+ next;
+ }
my $startform =
&Apache::lonhtmlcommon::date_setter($formname,'selfenroll_start_access',$starttime,
undef,undef,undef,undef,undef,undef,undef,$nolink);
@@ -5906,6 +5995,15 @@
$newsecval = $currsec;
}
}
+ if ($noedit{$item}) {
+ if ($currsec ne '') {
+ $output .= $currsec;
+ } else {
+ $output .= &mt('No specific section');
+ }
+ $output .= '<br />'.&mt('(Set by Domain Coordinator)');
+ next;
+ }
my $sections_select =
&Apache::lonuserutils::course_sections(\%sections_count,'st',$currsec);
$output .= '<table class="LC_createuser">'."\n".
@@ -5915,7 +6013,6 @@
&mt('New section').'<br />'."\n".
'<input type="text" name="newsec" size="15" value="'.$newsecval.'" />'."\n".
'<input type="hidden" name="sections" value="" />'."\n".
- '<input type="hidden" name="state" value="done" />'."\n".
'</td></tr></table>'."\n";
} elsif ($item eq 'approval') {
my ($currnotified,$currapproval,%appchecked);
@@ -5927,6 +6024,11 @@
if ($currapproval !~ /^[012]$/) {
$currapproval = 0;
}
+ if ($noedit{$item}) {
+ $output .= $selfdescs{'approval'}{$currapproval}.
+ '<br />'.&mt('(Set by Domain Coordinator)');
+ next;
+ }
$appchecked{$currapproval} = ' checked="checked"';
for my $i (0..2) {
$output .= '<label>'.
@@ -5995,6 +6097,20 @@
$currlim = $currsettings->{'selfenroll_limit'};
$currcap = $currsettings->{'selfenroll_cap'};
}
+ if ($noedit{$item}) {
+ if (($currlim eq 'allstudents') || ($currlim eq 'selfenrolled')) {
+ if ($currlim eq 'allstudents') {
+ $output .= &mt('Limit by total students');
+ } elsif ($currlim eq 'selfenrolled') {
+ $output .= &mt('Limit by total self-enrolled students');
+ }
+ $output .= ' '.&mt('Maximum: [_1]',$currcap).
+ '<br />'.&mt('(Set by Domain Coordinator)');
+ } else {
+ $output .= &mt('No limit').'<br />'.&mt('(Set by Domain Coordinator)');
+ }
+ next;
+ }
if ($currlim eq 'allstudents') {
$crslimit = ' checked="checked" ';
$selflimit = ' ';
@@ -6026,43 +6142,51 @@
$output .= &Apache::lonhtmlcommon::end_pick_box().
'<br /><input type="button" name="selfenrollconf" value="'
.&mt('Save').'" onclick="validate_types(this.form);" />'
- .'<input type="hidden" name="action" value="selfenroll" />'.
+ .'<input type="hidden" name="action" value="selfenroll" />'
+ .'<input type="hidden" name="state" value="done" />'."\n".
$additional.'</form>';
$r->print($output);
return;
}
-sub visible_in_cat {
- my ($cdom,$cnum) = @_;
- my %domconf = &Apache::lonnet::get_dom('configuration',['coursecategories'],$cdom);
- my ($cathash,%settable, at vismsgs,$cansetvis);
- my %visactions = &Apache::lonlocal::texthash(
- vis => 'This course/community currently appears in the Course/Community Catalog for this domain.',
- gen => 'Courses can be both self-cataloging, based on an institutional code (e.g., fs08phy231), or can be assigned categories from a hierarchy defined for the domain.',
- miss => 'This course/community does not currently appear in the Course/Community Catalog for this domain.',
- yous => 'You should remedy this if you plan to allow self-enrollment, otherwise students will have difficulty finding this course.',
- coca => 'Courses can be absent from the Catalog, because they do not have an institutional code, have no assigned category, or have been specifically excluded.',
- make => 'Make any changes to self-enrollment settings below, click "Save", then take action to include the course in the Catalog:',
- take => 'Take the following action to ensure the course appears in the Catalog:',
- dc_unhide => 'Ask a domain coordinator to change the "Exclude from course catalog" setting.',
- dc_addinst => 'Ask a domain coordinator to enable display the catalog of "Official courses (with institutional codes)".',
- dc_instcode => 'Ask a domain coordinator to assign an institutional code (if this is an official course).',
- dc_catalog => 'Ask a domain coordinator to enable or create at least one course category in the domain.',
- dc_categories => 'Ask a domain coordinator to create a hierarchy of categories and sub categories for courses in the domain.',
- dc_chgcat => 'Ask a domain coordinator to change the category assigned to the course, as the one currently assigned is no longer used in the domain',
- dc_addcat => 'Ask a domain coordinator to assign a category to the course.',
- );
- $visactions{'unhide'} = &mt('Use [_1]Categorize course[_2] to change the "Exclude from course catalog" setting.','<a href="/adm/courseprefs?phase=display&actions=courseinfo">','</a>"');
- $visactions{'chgcat'} = &mt('Use [_1]Categorize course[_2] to change the category assigned to the course, as the one currently assigned is no longer used in the domain.','"<a href="/adm/courseprefs?phase=display&actions=courseinfo">','</a>"');
- $visactions{'addcat'} = &mt('Use [_1]Categorize course[_2] to assign a category to the course.','"<a href="/adm/courseprefs?phase=display&actions=courseinfo">','</a>"');
- if (ref($domconf{'coursecategories'}) eq 'HASH') {
- if ($domconf{'coursecategories'}{'togglecats'} eq 'crs') {
+sub get_noedit_fields {
+ my ($cdom,$cnum,$crstype,$row) = @_;
+ my %noedit;
+ if (ref($row) eq 'ARRAY') {
+ my %settings = &Apache::lonnet::get('environment',['internal.coursecode','internal.textbook',
+ 'internal.selfenrollmgrdc',
+ 'internal.selfenrollmgrcc'],$cdom,$cnum);
+ my $type = &Apache::lonuserutils::get_extended_type($cdom,$cnum,$crstype,\%settings);
+ my (%specific_managebydc,%specific_managebycc,%default_managebydc);
+ map { $specific_managebydc{$_} = 1; } (split(/,/,$settings{'internal.selfenrollmgrdc'}));
+ map { $specific_managebycc{$_} = 1; } (split(/,/,$settings{'internal.selfenrollmgrcc'}));
+ my %domdefaults = &Apache::lonnet::get_domain_defaults($cdom);
+ map { $default_managebydc{$_} = 1; } (split(/,/,$domdefaults{$type.'selfenrolladmdc'}));
+
+ foreach my $item (@{$row}) {
+ next if ($specific_managebycc{$item});
+ if (($specific_managebydc{$item}) || ($default_managebydc{$item})) {
+ $noedit{$item} = 1;
+ }
+ }
+ }
+ return %noedit;
+}
+
+sub visible_in_stdcat {
+ my ($cdom,$cnum,$domconf) = @_;
+ my ($cathash,%settable, at vismsgs,$cansetvis,$visible);
+ unless (ref($domconf) eq 'HASH') {
+ return ($visible,$cansetvis,\@vismsgs);
+ }
+ if (ref($domconf->{'coursecategories'}) eq 'HASH') {
+ if ($domconf->{'coursecategories'}{'togglecats'} eq 'crs') {
$settable{'togglecats'} = 1;
}
- if ($domconf{'coursecategories'}{'categorize'} eq 'crs') {
+ if ($domconf->{'coursecategories'}{'categorize'} eq 'crs') {
$settable{'categorize'} = 1;
}
- $cathash = $domconf{'coursecategories'}{'cats'};
+ $cathash = $domconf->{'coursecategories'}{'cats'};
}
if ($settable{'togglecats'} && $settable{'categorize'}) {
$cansetvis = &mt('You are able to both assign a course category and choose to exclude this course from the catalog.');
@@ -6077,10 +6201,10 @@
my %currsettings =
&Apache::lonnet::get('environment',['hidefromcat','categories','internal.coursecode'],
$cdom,$cnum);
- my $visible = 0;
+ $visible = 0;
if ($currsettings{'internal.coursecode'} ne '') {
- if (ref($domconf{'coursecategories'}) eq 'HASH') {
- $cathash = $domconf{'coursecategories'}{'cats'};
+ if (ref($domconf->{'coursecategories'}) eq 'HASH') {
+ $cathash = $domconf->{'coursecategories'}{'cats'};
if (ref($cathash) eq 'HASH') {
if ($cathash->{'instcode::0'} eq '') {
push(@vismsgs,'dc_addinst');
@@ -6104,8 +6228,8 @@
}
if ($currsettings{'categories'} ne '') {
my $cathash;
- if (ref($domconf{'coursecategories'}) eq 'HASH') {
- $cathash = $domconf{'coursecategories'}{'cats'};
+ if (ref($domconf->{'coursecategories'}) eq 'HASH') {
+ $cathash = $domconf->{'coursecategories'}{'cats'};
if (ref($cathash) eq 'HASH') {
if (keys(%{$cathash}) == 0) {
push(@vismsgs,'dc_catalog');
@@ -6151,7 +6275,33 @@
unshift(@vismsgs,'dc_unhide')
}
}
- return ($visible,$cansetvis,\@vismsgs,\%visactions);
+ return ($visible,$cansetvis,\@vismsgs);
+}
+
+sub cat_visibility {
+ my %visactions = &Apache::lonlocal::texthash(
+ vis => 'This course/community currently appears in the Course/Community Catalog for this domain.',
+ gen => 'Courses can be both self-cataloging, based on an institutional code (e.g., fs08phy231), or can be assigned categories from a hierarchy defined for the domain.',
+ miss => 'This course/community does not currently appear in the Course/Community Catalog for this domain.',
+ none => 'Display of a course catalog is disabled for this domain.',
+ yous => 'You should remedy this if you plan to allow self-enrollment, otherwise students will have difficulty finding this course.',
+ coca => 'Courses can be absent from the Catalog, because they do not have an institutional code, have no assigned category, or have been specifically excluded.',
+ make => 'Make any changes to self-enrollment settings below, click "Save", then take action to include the course in the Catalog:',
+ take => 'Take the following action to ensure the course appears in the Catalog:',
+ dc_chgconf => 'Ask a domain coordinator to change the Catalog type for this domain.',
+ dc_setcode => 'Ask a domain coordinator to assign a six character code to the course',
+ dc_unhide => 'Ask a domain coordinator to change the "Exclude from course catalog" setting.',
+ dc_addinst => 'Ask a domain coordinator to enable display the catalog of "Official courses (with institutional codes)".',
+ dc_instcode => 'Ask a domain coordinator to assign an institutional code (if this is an official course).',
+ dc_catalog => 'Ask a domain coordinator to enable or create at least one course category in the domain.',
+ dc_categories => 'Ask a domain coordinator to create a hierarchy of categories and sub categories for courses in the domain.',
+ dc_chgcat => 'Ask a domain coordinator to change the category assigned to the course, as the one currently assigned is no longer used in the domain',
+ dc_addcat => 'Ask a domain coordinator to assign a category to the course.',
+ );
+ $visactions{'unhide'} = &mt('Use [_1]Categorize course[_2] to change the "Exclude from course catalog" setting.','<a href="/adm/courseprefs?phase=display&actions=courseinfo">','</a>"');
+ $visactions{'chgcat'} = &mt('Use [_1]Categorize course[_2] to change the category assigned to the course, as the one currently assigned is no longer used in the domain.','"<a href="/adm/courseprefs?phase=display&actions=courseinfo">','</a>"');
+ $visactions{'addcat'} = &mt('Use [_1]Categorize course[_2] to assign a category to the course.','"<a href="/adm/courseprefs?phase=display&actions=courseinfo">','</a>"');
+ return \%visactions;
}
sub new_selfenroll_dom_row {
@@ -7336,14 +7486,19 @@
}
sub update_selfenroll_config {
- my ($r,$cid,$cdom,$cnum,$currsettings) = @_;
+ my ($r,$cid,$cdom,$cnum,$context,$crstype,$currsettings) = @_;
return unless (ref($currsettings) eq 'HASH');
my ($row,$lt) = &Apache::lonuserutils::get_selfenroll_titles();
my %curr_groups = &Apache::longroup::coursegroups($cdom,$cnum);
my (%changes,%warning);
my $curr_types;
+ my %noedit;
+ unless ($context eq 'domain') {
+ %noedit = &get_noedit_fields($cdom,$cnum,$crstype,$row);
+ }
if (ref($row) eq 'ARRAY') {
foreach my $item (@{$row}) {
+ next if ($noedit{$item});
if ($item eq 'enroll_dates') {
my (%currenrolldate,%newenrolldate);
foreach my $type ('start','end') {
@@ -7663,19 +7818,49 @@
} else {
$r->print(&mt('No changes were made to the existing self-enrollment settings in this course.'));
}
- my ($visible,$cansetvis,$vismsgs,$visactions) = &visible_in_cat($cdom,$cnum);
- if (ref($visactions) eq 'HASH') {
- if (!$visible) {
+ my $visactions = &cat_visibility();
+ my ($cathash,%cattype);
+ my %domconfig = &Apache::lonnet::get_dom('configuration',['coursecategories'],$cdom);
+ if (ref($domconfig{'coursecategories'}) eq 'HASH') {
+ $cathash = $domconfig{'coursecategories'}{'cats'};
+ $cattype{'auth'} = $domconfig{'coursecategories'}{'auth'};
+ $cattype{'unauth'} = $domconfig{'coursecategories'}{'unauth'};
+ } else {
+ $cathash = {};
+ $cattype{'auth'} = 'std';
+ $cattype{'unauth'} = 'std';
+ }
+ if (($cattype{'auth'} eq 'none') && ($cattype{'unauth'} eq 'none')) {
+ $r->print('<br /><span class="LC_warning">'.$visactions->{'miss'}.'</span><br />'.$visactions->{'yous'}.
+ '<br />'.
+ '<br />'.$visactions->{'take'}.'<ul>'.
+ '<li>'.$visactions->{'dc_chgconf'}.'</li>'.
+ '</ul>');
+ } elsif (($cattype{'auth'} !~ /^(std|domonly)$/) && ($cattype{'unauth'} !~ /^(std|domonly)$/)) {
+ if ($currsettings->{'uniquecode'}) {
+ $r->print('<span class="LC_info">'.$visactions->{'vis'}.'</span>');
+ } else {
$r->print('<br /><span class="LC_warning">'.$visactions->{'miss'}.'</span><br />'.$visactions->{'yous'}.
- '<br />');
- if (ref($vismsgs) eq 'ARRAY') {
- $r->print('<br />'.$visactions->{'take'}.'<ul>');
- foreach my $item (@{$vismsgs}) {
- $r->print('<li>'.$visactions->{$item}.'</li>');
+ '<br />'.
+ '<br />'.$visactions->{'take'}.'<ul>'.
+ '<li>'.$visactions->{'dc_setcode'}.'</li>'.
+ '</ul><br />');
+ }
+ } else {
+ my ($visible,$cansetvis,$vismsgs) = &visible_in_stdcat($cdom,$cnum,\%domconfig);
+ if (ref($visactions) eq 'HASH') {
+ if (!$visible) {
+ $r->print('<br /><span class="LC_warning">'.$visactions->{'miss'}.'</span><br />'.$visactions->{'yous'}.
+ '<br />');
+ if (ref($vismsgs) eq 'ARRAY') {
+ $r->print('<br />'.$visactions->{'take'}.'<ul>');
+ foreach my $item (@{$vismsgs}) {
+ $r->print('<li>'.$visactions->{$item}.'</li>');
+ }
+ $r->print('</ul>');
}
- $r->print('</ul>');
+ $r->print($cansetvis);
}
- $r->print($cansetvis);
}
}
return;
More information about the LON-CAPA-cvs
mailing list