--- loncom/interface/Attic/londropadd.pm 2007/08/26 21:09:42 1.166
+++ loncom/interface/Attic/londropadd.pm 2008/12/05 19:19:28 1.177
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# Handler to drop and add students in courses
#
-# $Id: londropadd.pm,v 1.166 2007/08/26 21:09:42 raeburn Exp $
+# $Id: londropadd.pm,v 1.177 2008/12/05 19:19:28 schafran Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -26,8 +26,23 @@
# http://www.lon-capa.org/
#
#
-###############################################################
-##############################################################
+
+=head1 NAME
+
+Apache::londropadd.pm
+
+=head1 SYNOPSIS
+
+drop & add students
+
+This is part of the LearningOnline Network with CAPA project
+described at http://www.lon-capa.org.
+
+=head1 SUBROUTINES
+
+=over
+
+=cut
package Apache::londropadd;
@@ -42,8 +57,6 @@ use Apache::lonlocal;
use Apache::longroup;
use LONCAPA();
-###############################################################
-###############################################################
sub header {
my ($jscript,$loaditems) = @_;
my $start_page;
@@ -59,9 +72,14 @@ $start_page
ENDHEAD
}
-###############################################################
-###############################################################
-# Drop student from all sections of a course, except optional $csec
+=pod
+
+=item modifystudent()
+
+ Drop student from all sections of a course, except optional $csec
+
+=cut
+
sub modifystudent {
my ($udom,$unam,$courseid,$csec,$desiredhost)=@_;
# if $csec is undefined, drop the student from all the courses matching
@@ -104,9 +122,14 @@ sub modifystudent {
return $result;
}
-###############################################################
-###############################################################
-# build a domain and server selection form
+=pod
+
+=item domain_form()
+
+ build a domain and server selection form
+
+=cut
+
sub domain_form {
my ($defdom) = @_;
# Set up domain and server selection forms
@@ -135,9 +158,14 @@ sub domain_form {
return $result;
}
-###############################################################
-###############################################################
-# Menu Phase One
+=pod
+
+=item print_main_menu()
+
+ Menu Phase One
+
+=cut
+
sub print_main_menu {
my ($r,$permission)=@_;
#
@@ -179,27 +207,27 @@ sub print_main_menu {
{ text => 'Create a new group',
help => 'Course_Create_Group',
permission => $permission->{'grp_manage'},
- url => '/adm/coursegroups?refpage=enrl&action=create',
+ url => '/adm/coursegroups?refpage=enrl&action=create',
},
{ text => 'Modify an existing group',
help => 'Course_Modify_Group',
permission => $permission->{'grp_manage'},
- url => '/adm/coursegroups?refpage=enrl&action=modify',
+ url => '/adm/coursegroups?refpage=enrl&action=modify',
},
{ text => 'Delete an existing group',
help => 'Course_Delete_Group',
permission => $permission->{'grp_manage'},
- url => '/adm/coursegroups?refpage=enrl&action=delete',
+ url => '/adm/coursegroups?refpage=enrl&action=delete',
},
{ text => 'Re-enable a deleted group',
help => 'Course_Reenable_Group',
permission => $permission->{'grp_manage'},
- url => '/adm/coursegroups?refpage=enrl&action=reenable',
+ url => '/adm/coursegroups?refpage=enrl&action=reenable',
},
{ text => 'Enter an existing group',
help => 'Course_Display_Group',
permission => $permission->{'grp_view'},
- url => '/adm/coursegroups?refpage=enrl&action=view',
+ url => '/adm/coursegroups?refpage=enrl&action=view',
},
);
my $menu_html = '';
@@ -224,13 +252,15 @@ sub print_main_menu {
return;
}
-###############################################################
-###############################################################
+
+
sub hidden_input {
my ($name,$value) = @_;
return ''."\n";
}
+
+
sub print_upload_manager_header {
my ($r,$datatoken,$distotal,$krbdefdom)=@_;
my $javascript;
@@ -262,8 +292,9 @@ sub print_upload_manager_header {
$password_choice = 'int';
}
#
- my $javascript_validations=&javascript_validations('auth',$krbdefdom,
- $password_choice);
+ my $javascript_validations =
+ &javascript_validations('auth',$krbdefdom,$password_choice,undef,
+ $env{'request.role.domain'});
my $checked=(($env{'form.noFirstLine'})?' checked="checked" ':'');
$r->print('
'.&mt('Uploading Class List')."
\n".
"\n".
@@ -290,10 +321,12 @@ sub print_upload_manager_header {
$javascript."\n".$javascript_validations.'');
}
-###############################################################
-###############################################################
+
+
+
+
sub javascript_validations {
- my ($mode,$krbdefdom,$curr_authtype,$curr_authfield)=@_;
+ my ($mode,$krbdefdom,$curr_authtype,$curr_authfield,$domain)=@_;
my $authheader;
if ($mode eq 'auth') {
my %param = ( formname => 'studentform',
@@ -302,7 +335,7 @@ sub javascript_validations {
$authheader = &Apache::loncommon::authform_header(%param);
} elsif ($mode eq 'createcourse') {
my %param = ( formname => 'ccrs',
- kerb_def_dom => $krbdefdom,
+ kerb_def_dom => $krbdefdom,
curr_authtype => $curr_authtype );
$authheader = &Apache::loncommon::authform_header(%param);
} elsif ($mode eq 'modifycourse') {
@@ -323,7 +356,7 @@ sub javascript_validations {
name => 'The optional name field was not specified.',
snum => 'The optional student number field was not specified.',
section => 'The optional section field was not specified.',
- email => 'The optional email address field was not specified.',
+ email => 'The optional e-mail address field was not specified.',
continue => 'Continue enrollment?',
);
@@ -331,6 +364,7 @@ sub javascript_validations {
my $function_name =(< 1) {
+ $auth_checks .= (< "Personal Data",
'fn' => "First Name",
'mn' => "Middle Name",
'ln' => "Last Name",
'gen' => "Generation",
'hs' => "Home Server",
- 'pswd' => "Password",
+ 'pswd' => "Login Data",
'psam' => "Please select an authentication mechanism",
- 'mail' => "Email Address"
+ 'mail' => "E-mail Address"
);
my $authhelp=&Apache::loncommon::help_open_topic('Auth_Options');
$user_data_html = <
$lt{'pswd'}
$lt{'psam'}$authhelp
-
-$krbform
-
-$intform
-
-$locform
-
END
+ if ($krbform ne '') {
+ $user_data_html .= $krbform.' ';
+ }
+ if ($intform ne '') {
+ $user_data_html .= $intform.' ';
+ }
+ if ($locform ne '') {
+ $user_data_html .= $locform.' ';
+ }
+ $user_data_html .= "\n\n"
} else {
# User already exists. Do not worry about authentication
my %uenv = &Apache::lonnet::dump('environment',$ccdomain,$ccuname);
- $javascript_validations = &javascript_validations('noauth');
+ $javascript_validations = &Apache::lonuserutils::javascript_validations('noauth');
my %lt=&Apache::lonlocal::texthash(
'udf' => "User Data for",
'fn' => "First Name",
'mn' => "Middle Name",
'ln' => "Last Name",
'gen' => "Generation",
- 'mail' => "Email Address",
+ 'mail' => "E-mail Address",
);
$user_data_html = <$lt{'udf'} $ccuname:$ccdomain
@@ -1146,7 +1203,7 @@ END
END
}
- my $date_table = &date_setting_table();
+ my $date_table = &Apache::lonuserutils::date_setting_table();
# Print it all out
my %lt=&Apache::lonlocal::texthash(
'cd' => "Course Data",
@@ -1235,7 +1292,14 @@ END
return;
}
-# ========================================================= Menu Phase Two Drop
+=pod
+
+=item print_drop_menu()
+
+ Menu Phase Two Drop
+
+=cut
+
sub print_drop_menu {
my $r=shift;
$r->print("
".&mt('Drop Students')."
");
@@ -1250,7 +1314,15 @@ sub print_drop_menu {
return;
}
-# ============================================== view classlist
+
+=pod
+
+=item print_html_classlist()
+
+ view classlist
+
+=cut
+
sub print_html_classlist {
my ($r,$mode,$permission) = @_;
if (! exists($env{'form.sortby'})) {
@@ -1340,7 +1412,15 @@ sub print_html_classlist {
}
}
-# =================================================== Show student list to drop
+
+=pod
+
+=item show_class_list()
+
+ Show student list to drop
+
+=cut
+
sub show_class_list {
my ($r,$mode,$linkto,$statusmode,$classlist,$keylist)=@_;
my $cid=$env{'request.course.id'};
@@ -1364,6 +1444,11 @@ sub show_class_list {
}
my $displayphotos = $env{'form.displayphotos'};
+ if (! exists($env{'form.displayclickers'})) {
+ $env{'form.displayclickers'} = 'off';
+ }
+ my $displayclickers = $env{'form.displayclickers'};
+
# Print out header
unless ($mode eq 'autoenroll') {
$r->print(<print(<
+
END
if ($mode eq 'html' || $mode eq 'view' || $mode eq 'autoenroll') {
if ($linkto eq 'aboutme') {
@@ -1389,7 +1475,8 @@ END
'start' => "start date",
'end' => "end date",
'type' => "enroll type/action",
- 'email' => "email address",
+ 'email' => "e-mail address",
+ 'clicker'=> "clicker id",
'photo' => "photo",
);
unless ($mode eq 'autoenroll') {
@@ -1446,6 +1533,24 @@ function photowindow(photolink) {
$lt{'email'}
END
+
+# Clicker display on or off?
+
+ my %clicker_options = &Apache::lonlocal::texthash(
+ 'on' => 'Show',
+ 'off' => 'Hide',
+ );
+ my $clickerchg = 'on';
+ if ($displayclickers eq 'on') {
+ $clickerchg = 'off';
+ }
+ $r->print('