--- loncom/interface/loncreateuser.pm 2013/02/06 16:10:27 1.373
+++ loncom/interface/loncreateuser.pm 2013/02/19 17:30:35 1.374
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# Create a user
#
-# $Id: loncreateuser.pm,v 1.373 2013/02/06 16:10:27 bisitz Exp $
+# $Id: loncreateuser.pm,v 1.374 2013/02/19 17:30:35 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -1319,7 +1319,7 @@ ENDAUTH
$r->print($portfolioform.$domroleform);
if ($env{'form.action'} eq 'singlestudent') {
$r->print(&date_sections_select($context,$newuser,$formname,
- $permission));
+ $permission,$crstype));
}
$r->print('
');
} else { # user already exists
@@ -1421,8 +1421,9 @@ ENDNOTOOLSPRIV
unless ($gotdiv) {
$r->print('');
}
- $r->print(&date_sections_select($context,$newuser,$formname));
- }
+ $r->print(&date_sections_select($context,$newuser,$formname,
+ $permission,$crstype));
+ }
if ($gotdiv) {
$r->print('
');
}
@@ -1495,7 +1496,7 @@ sub singleuser_breadcrumb {
}
sub date_sections_select {
- my ($context,$newuser,$formname,$permission) = @_;
+ my ($context,$newuser,$formname,$permission,$crstype) = @_;
my $cid = $env{'request.course.id'};
my ($cnum,$cdom) = &Apache::lonuserutils::get_course_identity($cid);
my $date_table = ''.&mt('Starting and Ending Dates').'
'."\n".
@@ -1504,7 +1505,7 @@ sub date_sections_select {
my $rowtitle = 'Section';
my $secbox = ''.&mt('Section').'
'."\n".
&Apache::lonuserutils::section_picker($cdom,$cnum,'st',$rowtitle,
- $permission);
+ $permission,$context,'',$crstype);
my $output = $date_table.$secbox;
return $output;
}
@@ -3435,7 +3436,8 @@ sub update_roles {
my $output;
if ($role eq 'st') {
if ($url =~ m-^/($match_domain)/($match_courseid)/?(\w*)$-) {
- my $result = &Apache::loncommon::commit_studentrole(\$logmsg,$udom,$uname,$url,$role,$now,0,$1,$2,$3);
+ my ($cdom,$cnum,$csec) = ($1,$2,$3);
+ my $result = &Apache::loncommon::commit_studentrole(\$logmsg,$udom,$uname,$url,$role,$now,0,$cdom,$cnum,$csec,$context);
if (($result =~ /^error/) || ($result eq 'not_in_class') || ($result eq 'unknown_course') || ($result eq 'refused')) {
if ($result eq 'refused' && $logmsg) {
$output = $logmsg;
@@ -4558,6 +4560,11 @@ sub add_script {
sub verify_user_display {
my ($context) = @_;
+ my %lt = &Apache::lonlocal::texthash (
+ course => 'course(s): description, section(s), status',
+ community => 'community(s): description, section(s), status',
+ author => 'author',
+ );
my $photos;
if (($context eq 'course') && $env{'request.course.id'}) {
$photos = $env{'course.'.$env{'request.course.id'}.'.internal.showphoto'};
@@ -4581,16 +4588,25 @@ function updateCols(caller) {
var context = '$context';
var photos = '$photos';
if (caller == 'Status') {
- if (document.studentform.Status.options[document.studentform.Status.selectedIndex].value == 'Any') {
- document.getElementById('showcolstatus').checked = true;
- document.getElementById('showcolstatus').disabled = '';
- document.getElementById('showcolstart').checked = true;
- document.getElementById('showcolend').checked = true;
- } else {
+ if ((context == 'domain') &&
+ ((document.studentform.roletype.options[document.studentform.roletype.selectedIndex].value == 'course') ||
+ (document.studentform.roletype.options[document.studentform.roletype.selectedIndex].value == 'community'))) {
document.getElementById('showcolstatus').checked = false;
document.getElementById('showcolstatus').disabled = 'disabled';
document.getElementById('showcolstart').checked = false;
document.getElementById('showcolend').checked = false;
+ } else {
+ if (document.studentform.Status.options[document.studentform.Status.selectedIndex].value == 'Any') {
+ document.getElementById('showcolstatus').checked = true;
+ document.getElementById('showcolstatus').disabled = '';
+ document.getElementById('showcolstart').checked = true;
+ document.getElementById('showcolend').checked = true;
+ } else {
+ document.getElementById('showcolstatus').checked = false;
+ document.getElementById('showcolstatus').disabled = 'disabled';
+ document.getElementById('showcolstart').checked = false;
+ document.getElementById('showcolend').checked = false;
+ }
}
}
if (caller == 'output') {
@@ -4616,6 +4632,45 @@ function updateCols(caller) {
document.getElementById('showcolrole').checked = false;
document.getElementById('showcolrole').disabled = 'disabled';
}
+ if (context == 'domain') {
+ if ((document.studentform.roletype.options[document.studentform.roletype.selectedIndex].value == 'course') ||
+ (document.studentform.roletype.options[document.studentform.roletype.selectedIndex].value == 'community')) {
+ document.getElementById('showcolstatus').checked = false;
+ document.getElementById('showcolstatus').disabled = 'disabled';
+ document.getElementById('showcolstart').checked = false;
+ document.getElementById('showcolend').checked = false;
+ } else {
+ if (document.studentform.Status.options[document.studentform.Status.selectedIndex].value == 'Any') {
+ document.getElementById('showcolstatus').checked = true;
+ document.getElementById('showcolstatus').disabled = '';
+ document.getElementById('showcolstart').checked = true;
+ document.getElementById('showcolend').checked = true;
+ }
+ }
+ if (document.studentform.roletype.options[document.studentform.roletype.selectedIndex].value == 'domain') {
+ document.getElementById('showcolextent').disabled = 'disabled';
+ document.getElementById('showcolextent').checked = 'false';
+ document.getElementById('showextent').style.display='none';
+ document.getElementById('showcoltextextent').innerHTML = '';
+ } else {
+ document.getElementById('showextent').style.display='block';
+ document.getElementById('showextent').style.textAlign='left';
+ document.getElementById('showextent').style.textFace='normal';
+ if (document.studentform.roletype.options[document.studentform.roletype.selectedIndex].value == 'author') {
+ document.getElementById('showcolextent').disabled = '';
+ document.getElementById('showcolextent').checked = 'true';
+ document.getElementById('showcoltextextent').innerHTML="$lt{'author'}";
+ } else {
+ document.getElementById('showcolextent').disabled = '';
+ document.getElementById('showcolextent').checked = 'true';
+ if (document.studentform.roletype.options[document.studentform.roletype.selectedIndex].value == 'community') {
+ document.getElementById('showcoltextextent').innerHTML="$lt{'community'}";
+ } else {
+ document.getElementById('showcoltextextent').innerHTML="$lt{'course'}";
+ }
+ }
+ }
+ }
}
return;
}