--- loncom/interface/loncreateuser.pm 2007/12/05 17:31:28 1.200
+++ loncom/interface/loncreateuser.pm 2007/12/05 21:23:14 1.202
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# Create a user
#
-# $Id: loncreateuser.pm,v 1.200 2007/12/05 17:31:28 raeburn Exp $
+# $Id: loncreateuser.pm,v 1.202 2007/12/05 21:23:14 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -627,7 +627,7 @@ sub print_user_modification_page {
}
ENDSCRIPT
} else {
- $nondc_setsection_code =
+ $nondc_setsection_code =
&Apache::lonuserutils::setsections_javascript('cu',$groupslist);
}
my $js = &user_modification_js($pjump_def,$dc_setcourse_code,
@@ -1198,7 +1198,7 @@ ENDBADAUTH
}
} else { # Authentication type is valid
&initialize_authen_forms($ccdomain,$currentauth);
- my $authformnop_row;
+ my $authformnop_row;
if (&Apache::lonnet::allowed('mau',$ccdomain)) {
$authformnop_row = &Apache::loncommon::start_data_table_row();
}
@@ -1700,18 +1700,23 @@ sub update_user_data {
'prvs' => "Previous",
'chto' => "Changed To"
);
+ $r->print('
'.$lt{'uic'}.'
'.
+ &Apache::loncommon::start_data_table().
+ &Apache::loncommon::start_data_table_header_row());
$r->print(<<"END");
-
-$lt{'uic'}
- |
+ |
$lt{'frst'} |
$lt{'mddl'} |
$lt{'lst'} |
$lt{'gen'} |
$lt{'id'} |
$lt{'mail'} |
- $lt{'disk'} |
-$lt{'prvs'} |
+ $lt{'disk'} |
+END
+ $r->print(&Apache::loncommon::end_data_table_header_row().
+ &Apache::loncommon::start_data_table_row());
+ $r->print(<<"END");
+ $lt{'prvs'} |
$userenv{'firstname'} |
$userenv{'middlename'} |
$userenv{'lastname'} |
@@ -1719,17 +1724,21 @@ sub update_user_data {
$userenv{'id'} |
$userenv{'permanentemail'} |
$oldportfolioquota Mb |
-
-$lt{'chto'} |
+END
+ $r->print(&Apache::loncommon::end_data_table_row().
+ &Apache::loncommon::start_data_table_row());
+ $r->print(<<"END");
+ $lt{'chto'} |
$env{'form.cfirstname'} |
$env{'form.cmiddlename'} |
$env{'form.clastname'} |
$env{'form.cgeneration'} |
$env{'form.cid'} |
$env{'form.cpermanentemail'} |
- $newportfolioquota Mb $defquotatext |
-
+ $newportfolioquota Mb $defquotatext |
END
+ $r->print(&Apache::loncommon::end_data_table_row().
+ &Apache::loncommon::end_data_table());
if (($forceid) && ($recurseid) && (!$disallowed_id) &&
(&Apache::lonnet::allowed('mau',$env{'form.ccdomain'}))) {
my %userupdate = (
@@ -1807,10 +1816,10 @@ END
$r->print(&mt('Revoking [_1] in [_2]: [_3]',
$role,$scope,''.$result.'').'
');
if ($role eq 'st') {
- my $result =
+ my $result =
&Apache::lonuserutils::classlist_drop($scope,
$env{'form.ccuname'},$env{'form.ccdomain'},
- $now);
+ $now);
$r->print($result);
}
}
@@ -1834,10 +1843,10 @@ END
$r->print(&mt('Deleting [_1] in [_2]: [_3]',$role,$scope,
''.$result.'').'
');
if ($role eq 'st') {
- my $result =
+ my $result =
&Apache::lonuserutils::classlist_drop($scope,
$env{'form.ccuname'},$env{'form.ccdomain'},
- $now);
+ $now);
$r->print($result);
}
}
@@ -2384,11 +2393,13 @@ sub handler {
$context = 'domain';
}
&Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'},
- ['action','state']);
+ ['action','state','callingform','roletype','showrole','bulkaction']);
&Apache::lonhtmlcommon::clear_breadcrumbs();
- &Apache::lonhtmlcommon::add_breadcrumb
- ({href=>"/adm/createuser",
- text=>"User Management"});
+ if ($env{'form.action'} ne 'dateselect') {
+ &Apache::lonhtmlcommon::add_breadcrumb
+ ({href=>"/adm/createuser",
+ text=>"User Management"});
+ }
my ($permission,$allowed) = &get_permission($context);
if (!$allowed) {
$env{'user.error.msg'}=
@@ -2438,7 +2449,7 @@ sub handler {
if (! exists($env{'form.state'})) {
&Apache::lonuserutils::print_expire_menu($r,$context);
} elsif ($env{'form.state'} eq 'done') {
- &Apache::lonuserutils::expire_user_list($r);
+ &Apache::lonuserutils::expire_user_list($r,$context);
} else {
&Apache::lonuserutils::print_expire_menu($r,$context);
}
@@ -2503,31 +2514,46 @@ sub handler {
&custom_role_editor($r);
}
} elsif ($env{'form.action'} eq 'listusers' && $permission->{'view'}) {
- my ($cb_jscript,$jscript,$totcodes,$codetitles,$idlist,$idlist_titles);
- my $formname = 'studentform';
- if ($context eq 'domain' && $env{'form.roletype'} eq 'course') {
- ($cb_jscript,$jscript,$totcodes,$codetitles,$idlist,$idlist_titles) =
- &Apache::lonuserutils::courses_selector($env{'request.role.domain'},
- $formname);
- my $js = &add_script($jscript).$cb_jscript;
- my $loadcode =
- &Apache::lonuserutils::course_selector_loadcode($formname);
- if ($loadcode ne '') {
- $r->print(&header($js,{'onload' => $loadcode,}));
+ if ($env{'form.phase'} eq 'bulkchange') {
+ &Apache::lonhtmlcommon::add_breadcrumb
+ ({href=>'backPage(document.studentform)',
+ text=>"List Users"});
+ my $setting = $env{'form.roletype'};
+ my $choice = $env{'form.bulkaction'};
+ $r->print(&header());
+ $r->print(&Apache::lonhtmlcommon::breadcrumbs("List Users",
+ 'User_Management_List'));
+ if ($permission->{'cusr'}) {
+ &Apache::lonuserutils::update_user_list($r,$context,$setting,$choice);
+ }
+ } else {
+ &Apache::lonhtmlcommon::add_breadcrumb
+ ({href=>'/adm/createuser?action=listusers',
+ text=>"List Users"});
+ my ($cb_jscript,$jscript,$totcodes,$codetitles,$idlist,$idlist_titles);
+ my $formname = 'studentform';
+ if ($context eq 'domain' && $env{'form.roletype'} eq 'course') {
+ ($cb_jscript,$jscript,$totcodes,$codetitles,$idlist,$idlist_titles) =
+ &Apache::lonuserutils::courses_selector($env{'request.role.domain'},
+ $formname);
+ $jscript .= &verify_user_display();
+ my $js = &add_script($jscript).$cb_jscript;
+ my $loadcode =
+ &Apache::lonuserutils::course_selector_loadcode($formname);
+ if ($loadcode ne '') {
+ $r->print(&header($js,{'onload' => $loadcode,}));
+ } else {
+ $r->print(&header($js));
+ }
} else {
- $r->print(&header($js));
+ $r->print(&header(&add_script(&verify_user_display())));
}
- } else {
- $r->print(&header());
+ $r->print(&Apache::lonhtmlcommon::breadcrumbs("List Users",
+ 'User_Management_List'));
+ &Apache::lonuserutils::print_userlist($r,undef,$permission,$context,
+ $formname,$totcodes,$codetitles,$idlist,$idlist_titles);
+ $r->print(&Apache::loncommon::end_page());
}
- &Apache::lonhtmlcommon::add_breadcrumb
- ({href=>'/adm/createuser?action=listusers',
- text=>"List Users"});
- $r->print(&Apache::lonhtmlcommon::breadcrumbs("List Users",
- 'User_Management_List'));
- &Apache::lonuserutils::print_userlist($r,undef,$permission,$context,
- $formname,$totcodes,$codetitles,$idlist,$idlist_titles);
- $r->print(&Apache::loncommon::end_page());
} elsif ($env{'form.action'} eq 'expire' && $permission->{'cusr'}) {
$r->print(&header());
&Apache::lonhtmlcommon::add_breadcrumb
@@ -2538,26 +2564,37 @@ sub handler {
if (! exists($env{'form.state'})) {
&Apache::lonuserutils::print_expire_menu($r,$context);
} elsif ($env{'form.state'} eq 'done') {
- &Apache::lonuserutiles::expire_user_list($r);
+ &Apache::lonuserutiles::expire_user_list($r,$context);
} else {
&print_expire_menu($r,$context);
}
$r->print(&Apache::loncommon::end_page());
+ } elsif ($env{'form.action'} eq 'dateselect') {
+ if ($permission->{'cusr'}) {
+ $r->print(&header(undef,undef,{'no_nav_bar' => 1}).
+ &Apache::lonuserutils::date_section_selector($context).
+ &Apache::loncommon::end_page());
+ } else {
+ $r->print(&header().
+ ''.&mt('You do not have permission to modify dates or sections for users').''.
+ &Apache::loncommon::end_page());
+ }
} else {
$r->print(&header());
- $r->print(&Apache::lonhtmlcommon::breadcrumbs('User Management')); $r->print(&print_main_menu($permission));
+ $r->print(&Apache::lonhtmlcommon::breadcrumbs('User Management'));
+ $r->print(&print_main_menu($permission));
$r->print(&Apache::loncommon::end_page());
}
return OK;
}
sub header {
- my ($jscript,$loaditems) = @_;
+ my ($jscript,$loaditems,$args) = @_;
my $start_page;
if (ref($loaditems) eq 'HASH') {
- $start_page=&Apache::loncommon::start_page('User Management',$jscript,{'add_entries' => $loaditems,});
+ $start_page=&Apache::loncommon::start_page('User Management',$jscript,{'add_entries' => $loaditems});
} else {
- $start_page=&Apache::loncommon::start_page('User Management',$jscript);
+ $start_page=&Apache::loncommon::start_page('User Management',$jscript,$args);
}
return $start_page;
}
@@ -2567,6 +2604,20 @@ sub add_script {
return '';
}
+sub verify_user_display {
+ my $output = <<"END";
+
+function display_update() {
+ document.studentform.action.value = 'listusers';
+ document.studentform.phase.value = 'display';
+ document.studentform.submit();
+}
+
+END
+ return $output;
+
+}
+
###############################################################
###############################################################
# Menu Phase One
@@ -3141,9 +3192,9 @@ sub course_level_table {
'.$area.' Domain: '.$domain.' | '."\n";
if ($role ne 'cc') {
if (%sections_count) {
- my $currsec =
+ my $currsec =
&Apache::lonuserutils::course_sections(\%sections_count,
- $protectedcourse.'_'.$role);
+ $protectedcourse.'_'.$role);
$table .=
''.
'
@@ -3183,7 +3234,7 @@ ENDTIMEENTRY
'.$plrole.' |
'.$area.' | '."\n";
if (%sections_count) {
- my $currsec =
+ my $currsec =
&Apache::lonuserutils::course_sections(\%sections_count,
$customrole);
$table.=
|