--- loncom/interface/loncreateuser.pm 2009/08/28 14:24:15 1.295.2.12
+++ loncom/interface/loncreateuser.pm 2010/01/19 17:16:59 1.295.2.19
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# Create a user
#
-# $Id: loncreateuser.pm,v 1.295.2.12 2009/08/28 14:24:15 raeburn Exp $
+# $Id: loncreateuser.pm,v 1.295.2.19 2010/01/19 17:16:59 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -229,7 +229,7 @@ sub build_tools_display {
'usde' => "Use default",
'uscu' => "Use custom",
'official' => 'Can request creation of official courses',
- 'unofficial' => 'Can request creation of unofficial courses',
+ 'unofficial' => 'Can request creation of unofficial courses',
);
if ($context eq 'requestcourses') {
%userenv = &Apache::lonnet::userenvironment($ccdomain,$ccuname,
@@ -292,7 +292,11 @@ sub build_tools_display {
}
if ($curroption =~ /^autolimit=(\d*)$/) {
$currlimit = $1;
- $currdisp = &mt('Yes, up to [quant,_1,request]/user',$currlimit);
+ if ($currlimit eq '') {
+ $currdisp = &mt('Yes, automatic creation');
+ } else {
+ $currdisp = &mt('Yes, up to [quant,_1,request]/user',$currlimit);
+ }
} else {
$currdisp = $reqdisplay{$curroption};
}
@@ -326,9 +330,12 @@ sub build_tools_display {
if ($option eq 'autolimit') {
$custdisp .= '';
+ 'value="'.$currlimit.'" />
'.
+ $reqtitles{'unlimited'};
+ } else {
+ $custdisp .= '';
}
- $custdisp .= '';
+ $custdisp .= '';
}
$custdisp .= '';
$custradio = '
'.&mt('Custom setting').' '.$custdisp;
@@ -378,22 +385,27 @@ sub coursereq_externaluser {
my ($curroption,$currlimit,$tooloff);
if ($userenv{'reqcrsotherdom.'.$item} ne '') {
my @curr = split(',',$userenv{'reqcrsotherdom.'.$item});
- if (grep(/^\Q$cdom\E:($optregex)=?(\d*)$/,@curr)) {
- $curroption = $1;
- $currlimit = $2;
- if (!$curroption) {
- $curroption = 'norequest';
+ foreach my $req (@curr) {
+ if ($req =~ /^\Q$cdom\E\:($optregex)=?(\d*)$/) {
+ $curroption = $1;
+ $currlimit = $2;
+ last;
}
}
+ if (!$curroption) {
+ $curroption = 'norequest';
+ $tooloff = ' checked="checked"';
+ }
} else {
$curroption = 'norequest';
$tooloff = ' checked="checked"';
}
$output.= &Apache::loncommon::start_data_table_row()."\n".
- ' | '.$lt{$item}.': '.
+ ' | '.$lt{$item}.': | '.
+ ' | '."\n".
&Apache::loncommon::end_data_table_row()."\n";
}
return $output;
@@ -434,23 +449,24 @@ sub courserequest_titles {
approval => 'Approval by Dom. Coord.',
validate => 'With validation',
autolimit => 'Numerical limit',
+ unlimited => '(blank for unlimited)',
);
- return %titles;
-}
-
+ return %titles;
+}
+
sub courserequest_display {
my %titles = &Apache::lonlocal::texthash (
approval => 'Yes, need approval',
validate => 'Yes, with validation',
norequest => 'No',
- );
+ );
return %titles;
}
# =================================================================== Phase one
sub print_username_entry_form {
- my ($r,$context,$response,$srch,$forcenewuser) = @_;
+ my ($r,$context,$response,$srch,$forcenewuser,$crstype) = @_;
my $defdom=$env{'request.role.domain'};
my $formtoset = 'crtuser';
if (exists($env{'form.startrolename'})) {
@@ -472,7 +488,7 @@ sub print_username_entry_form {
my %loaditems = (
'onload' => "javascript:setFormElements(document.$formtoset)",
);
- my %breadcrumb_text = &singleuser_breadcrumb();
+ my %breadcrumb_text = &singleuser_breadcrumb($crstype);
my $start_page =
&Apache::loncommon::start_page('User Management',
$jscript,{'add_entries' => \%loaditems,});
@@ -499,6 +515,8 @@ sub print_username_entry_form {
('make new role' => 'Generate new role ...',%existingroles));
my %lt=&Apache::lonlocal::texthash(
'srst' => 'Search for a user and enroll as a student',
+ 'srme' => 'Search for a user and enroll as a member',
+
'srad' => 'Search for a user and modify/add user information or roles',
'usr' => "Username",
'dom' => "Domain",
@@ -522,20 +540,23 @@ ENDCUSTOM
} else {
my $actiontext = $lt{'srad'};
if ($env{'form.action'} eq 'singlestudent') {
- $actiontext = $lt{'srst'};
+ if ($crstype eq 'Community') {
+ $actiontext = $lt{'srme'};
+ } else {
+ $actiontext = $lt{'srst'};
+ }
}
- $r->print("
-$actiontext
");
+ $r->print("$actiontext
");
if ($env{'form.origform'} ne 'crtusername') {
$r->print("\n".$response);
}
- $r->print(&entry_form($defdom,$srch,$forcenewuser,$context,$response));
+ $r->print(&entry_form($defdom,$srch,$forcenewuser,$context,$response,$crstype));
}
$r->print(&Apache::loncommon::end_page());
}
sub entry_form {
- my ($dom,$srch,$forcenewuser,$context,$responsemsg) = @_;
+ my ($dom,$srch,$forcenewuser,$context,$responsemsg,$crstype) = @_;
my %domconf = &Apache::lonnet::get_dom('configuration',['usercreation'],$dom);
my ($usertype,$inexact);
if (ref($srch) eq 'HASH') {
@@ -575,6 +596,7 @@ ENDBLOCK
my $domform = &Apache::loncommon::select_dom_form($defdom,'srchdomain');
my %lt=&Apache::lonlocal::texthash(
'enro' => 'Enroll one student',
+ 'enrm' => 'Enroll one member',
'admo' => 'Add/modify a single user',
'crea' => 'create new user if required',
'uskn' => "username is known",
@@ -587,7 +609,11 @@ ENDBLOCK
my $sellink=&Apache::loncommon::selectstudent_link('crtusername','srchterm','srchdomain');
my ($title,$buttontext,$showresponse);
if ($env{'form.action'} eq 'singlestudent') {
- $title = $lt{'enro'};
+ if ($crstype eq 'Community') {
+ $title = $lt{'enrm'};
+ } else {
+ $title = $lt{'enro'};
+ }
$buttontext = $lt{'enrl'};
} else {
$title = $lt{'admo'};
@@ -658,7 +684,7 @@ END
# =================================================================== Phase two
sub print_user_selection_page {
- my ($r,$response,$srch,$srch_results,$srcharray,$context,$opener_elements) = @_;
+ my ($r,$response,$srch,$srch_results,$srcharray,$context,$opener_elements,$crstype) = @_;
my @fields = ('username','domain','lastname','firstname','permanentemail');
my $sortby = $env{'form.sortby'};
@@ -686,8 +712,10 @@ ENDSCRIPT
my %lt=&Apache::lonlocal::texthash(
'usrch' => "User Search to add/modify roles",
'stusrch' => "User Search to enroll student",
+ 'memsrch' => "User Search to enroll member",
'usel' => "Select a user to add/modify roles",
- 'stusel' => "Select a user to enroll as a student",
+ 'stusel' => "Select a user to enroll as a student",
+ 'memsel' => "Select a user to enroll as a member",
'username' => "username",
'domain' => "domain",
'lastname' => "last name",
@@ -699,7 +727,7 @@ ENDSCRIPT
} else {
$r->print(&Apache::loncommon::start_page('User Management',$jscript));
- my %breadcrumb_text = &singleuser_breadcrumb();
+ my %breadcrumb_text = &singleuser_breadcrumb($crstype);
&Apache::lonhtmlcommon::add_breadcrumb
({href=>"javascript:backPage(document.usersrchform,'','')",
text=>$breadcrumb_text{'search'},
@@ -709,16 +737,28 @@ ENDSCRIPT
faq=>282,bug=>'Instructor Interface',});
if ($env{'form.action'} eq 'singleuser') {
$r->print(&Apache::lonhtmlcommon::breadcrumbs('User Management',
- 'Course_Change_Privileges'));
+ 'Course_Change_Privileges'));
$r->print("$lt{'usrch'}
");
- $r->print(&entry_form($srch->{'srchdomain'},$srch,undef,$context));
+ $r->print(&entry_form($srch->{'srchdomain'},$srch,undef,$context,undef,$crstype));
$r->print(''.$lt{'usel'}.'
');
} elsif ($env{'form.action'} eq 'singlestudent') {
$r->print(&Apache::lonhtmlcommon::breadcrumbs('User Management',
- 'Course_Add_Student'));
- $r->print($jscript."$lt{'stusrch'}
");
- $r->print(&entry_form($srch->{'srchdomain'},$srch,undef,$context));
- $r->print(''.$lt{'stusel'}.'
');
+ 'Course_Add_Student'));
+ $r->print($jscript."");
+ if ($crstype eq 'Community') {
+ $r->print($lt{'memsrch'});
+ } else {
+ $r->print($lt{'stusrch'});
+ }
+ $r->print("
");
+ $r->print(&entry_form($srch->{'srchdomain'},$srch,undef,$context,undef,$crstype));
+ $r->print('');
+ if ($crstype eq 'Community') {
+ $r->print($lt{'memsel'});
+ } else {
+ $r->print($lt{'stusel'});
+ }
+ $r->print('
');
}
}
$r->print('