--- loncom/interface/lonuserutils.pm 2008/04/30 23:16:19 1.52
+++ loncom/interface/lonuserutils.pm 2008/05/19 17:10:19 1.55
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# Utility functions for managing LON-CAPA user accounts
#
-# $Id: lonuserutils.pm,v 1.52 2008/04/30 23:16:19 raeburn Exp $
+# $Id: lonuserutils.pm,v 1.55 2008/05/19 17:10:19 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -925,8 +925,15 @@ sub setup_date_selectors {
sub get_dates_from_form {
- my $startdate = &Apache::lonhtmlcommon::get_date_from_form('startdate');
- my $enddate = &Apache::lonhtmlcommon::get_date_from_form('enddate');
+ my ($startname,$endname) = @_;
+ if ($startname eq '') {
+ $startname = 'startdate';
+ }
+ if ($endname eq '') {
+ $endname = 'enddate';
+ }
+ my $startdate = &Apache::lonhtmlcommon::get_date_from_form($startname);
+ my $enddate = &Apache::lonhtmlcommon::get_date_from_form($endname);
if ($env{'form.no_end_date'}) {
$enddate = 0;
}
@@ -1252,34 +1259,11 @@ sub print_userlist {
if ($env{'form.showrole'} eq 'Any') {
$roleselected = ' selected="selected" ';
}
- my ($role_select,$cnum,$cdom);
- if ($context eq 'domain') {
- $role_select = &domain_roles_select();
- $r->print('');
- } else {
- $role_select = '';
- $r->print('');
- if ($context eq 'course') {
- ($cnum,$cdom) = &get_course_identity();
- $r->print(§ion_group_filter($cnum,$cdom));
- }
+ my ($cnum,$cdom);
+ $r->print(&role_filter($context));
+ if ($context eq 'course') {
+ ($cnum,$cdom) = &get_course_identity();
+ $r->print(§ion_group_filter($cnum,$cdom));
}
if (!(($context eq 'domain') && ($env{'form.roletype'} eq 'course'))) {
$r->print(' '.&list_submit_button(&mt('Update Display')).
@@ -1451,6 +1435,41 @@ sub print_userlist {
$env{'form.phase'}.'" />');
}
+sub role_filter {
+ my ($context) = @_;
+ my $output;
+ my $roleselected = '';
+ if ($env{'form.showrole'} eq 'Any') {
+ $roleselected = ' selected="selected" ';
+ }
+ my ($role_select);
+ if ($context eq 'domain') {
+ $role_select = &domain_roles_select();
+ $output = '';
+ } else {
+ $role_select = '';
+ $output = '';
+ }
+ return $output;
+}
+
sub section_group_filter {
my ($cnum,$cdom) = @_;
my @filters;
@@ -1844,7 +1863,10 @@ sub process_date_info {
}
sub show_users_list {
- my ($r,$context,$mode,$permission,$statusmode,$userlist,$keylist)=@_;
+ my ($r,$context,$mode,$permission,$statusmode,$userlist,$keylist,$formname)=@_;
+ if ($formname eq '') {
+ $formname = 'studentform';
+ }
#
# Variables for excel output
my ($excel_workbook, $excel_sheet, $excel_filename,$row,$format);
@@ -1859,6 +1881,9 @@ sub show_users_list {
} else {
push(@sortable,'extent');
}
+ if ($mode eq 'pickauthor') {
+ @sortable = ('username','fullname','email','status');
+ }
if (!grep(/^\Q$sortby\E$/,@sortable)) {
$sortby = 'username';
}
@@ -1899,7 +1924,7 @@ function photowindow(photolink) {
END
}
}
- if ($mode ne 'autoenroll') {
+ if ($mode ne 'autoenroll' && $mode ne 'pickauthor') {
my $check_uncheck_js = &Apache::loncommon::check_uncheck_jscript();
my $alert = &mt("You must select at least one user by checking a user's 'Select' checkbox");
my $singconfirm = &mt(' for a single user?');
@@ -1941,8 +1966,8 @@ function verify_action (field) {
alert("$alert");
}
else {
- var message = document.studentform.bulkaction[document.studentform.bulkaction.selectedIndex].text;
- var choice = document.studentform.bulkaction[document.studentform.bulkaction.selectedIndex].value;
+ var message = document.$formname.bulkaction[document.$formname.bulkaction.selectedIndex].text;
+ var choice = document.$formname.bulkaction[document.$formname.bulkaction.selectedIndex].value;
if (numchecked == 1) {
message += singconf;
}
@@ -1951,14 +1976,14 @@ function verify_action (field) {
}
if (choice == 'chgdates' || choice == 'reenable' || choice == 'activate') {
var datemsg = '';
- if ((document.studentform.startdate_month.value == '') &&
- (document.studentform.startdate_day.value == '') &&
- (document.studentform.startdate_year.value == '')) {
+ if ((document.$formname.startdate_month.value == '') &&
+ (document.$formname.startdate_day.value == '') &&
+ (document.$formname.startdate_year.value == '')) {
datemsg = "\\n$lt{'acwi'},\\n$lt{'asyo'}.\\n";
}
- if ((document.studentform.enddate_month.value == '') &&
- (document.studentform.enddate_day.value == '') &&
- (document.studentform.enddate_year.value == '')) {
+ if ((document.$formname.enddate_month.value == '') &&
+ (document.$formname.enddate_day.value == '') &&
+ (document.$formname.enddate_year.value == '')) {
datemsg += "\\n$lt{'accw'},\\n$lt{'asyd'}.\\n";
}
if (datemsg != '') {
@@ -1966,9 +1991,9 @@ function verify_action (field) {
}
}
if (choice == 'chgsec') {
- var rolefilter = document.studentform.showrole.options[document.studentform.showrole.selectedIndex].value;
- var retained = document.studentform.retainsec.value;
- var secshow = document.studentform.newsecs.value;
+ var rolefilter = document.$formname.showrole.options[document.$formname.showrole.selectedIndex].value;
+ var retained = document.$formname.retainsec.value;
+ var secshow = document.$formname.newsecs.value;
if (secshow == '') {
if (rolefilter == 'st' || retained == 0 || retained == "") {
message += "\\n\\n$lt{'sewi'},\\n$lt{'ayes'},\\n$lt{'oryo'}.\\n";
@@ -1984,36 +2009,36 @@ function verify_action (field) {
}
}
if (confirm(message)) {
- document.studentform.phase.value = 'bulkchange';
- document.studentform.submit();
+ document.$formname.phase.value = 'bulkchange';
+ document.$formname.submit();
}
}
}
function username_display_launch(username,domain) {
var target;
- for (var i=0; i
');
}
my ($output,$actionselect,%canchange,%canchangesec);
- if ($mode eq 'html' || $mode eq 'view' || $mode eq 'autoenroll') {
- if ($mode ne 'autoenroll') {
+ if ($mode eq 'html' || $mode eq 'view' || $mode eq 'autoenroll' || $mode eq 'pickauthor') {
+ if ($mode ne 'autoenroll' && $mode ne 'pickauthor') {
if ($permission->{'cusr'}) {
- $actionselect = &select_actions($context,$setting,$statusmode);
+ $actionselect = &select_actions($context,$setting,$statusmode,$formname);
}
$r->print(<
';
if ($actionselect) {
$output .= <<"END";
-$lt{'ac'}: $actionselect
-
+$lt{'ac'}: $actionselect
+
END
my @allroles;
if ($env{'form.showrole'} eq 'Any') {
@@ -2186,16 +2216,20 @@ END
&Apache::loncommon::start_data_table_header_row();
if ($mode eq 'autoenroll') {
$output .= "
-