version 1.103, 2009/11/04 15:35:56
|
version 1.109.2.2, 2010/01/05 22:08:48
|
Line 386 sub javascript_validations {
|
Line 386 sub javascript_validations {
|
if (($context eq 'course') || ($context eq 'domain')) { |
if (($context eq 'course') || ($context eq 'domain')) { |
if ($context eq 'course') { |
if ($context eq 'course') { |
if ($env{'request.course.sec'} eq '') { |
if ($env{'request.course.sec'} eq '') { |
$setsection_call = 'setSections(document.'.$param{'formname'}."'$crstype'".');'; |
$setsection_call = 'setSections(document.'.$param{'formname'}.",'$crstype'".');'; |
$setsections_js = |
$setsections_js = |
&setsections_javascript($param{'formname'},$groupslist, |
&setsections_javascript($param{'formname'},$groupslist, |
$mode,'',$crstype); |
$mode,'',$crstype); |
Line 1176 sub default_role_selector {
|
Line 1176 sub default_role_selector {
|
my %customroles; |
my %customroles; |
my ($options,$coursepick,$cb_jscript); |
my ($options,$coursepick,$cb_jscript); |
if ($context ne 'author') { |
if ($context ne 'author') { |
%customroles = &my_custom_roles(); |
%customroles = &my_custom_roles($crstype); |
} |
} |
|
|
my %lt=&Apache::lonlocal::texthash( |
my %lt=&Apache::lonlocal::texthash( |
Line 1185 sub default_role_selector {
|
Line 1185 sub default_role_selector {
|
'exs' => "Existing sections", |
'exs' => "Existing sections", |
'new' => "New section", |
'new' => "New section", |
); |
); |
$options = '<select name="defaultrole">'."\n". |
$options = '<select name="defaultrole">'."\n"; |
' <option value="">'.&mt('Please select').'</option>'."\n"; |
unless (($context eq 'course') && (&Apache::loncommon::needs_gci_custom())) { |
|
$options .= ' <option value="">'.&mt('Please select').'</option>'."\n"; |
|
} |
if ($context eq 'course') { |
if ($context eq 'course') { |
$options .= &default_course_roles($context,$checkpriv,$crstype,%customroles); |
$options .= &default_course_roles($context,$checkpriv,$crstype,%customroles); |
} elsif ($context eq 'author') { |
} elsif ($context eq 'author') { |
Line 1350 sub curr_role_permissions {
|
Line 1352 sub curr_role_permissions {
|
# ======================================================= Existing Custom Roles |
# ======================================================= Existing Custom Roles |
|
|
sub my_custom_roles { |
sub my_custom_roles { |
|
my ($crstype) = @_; |
my %returnhash=(); |
my %returnhash=(); |
my %rolehash=&Apache::lonnet::dump('roles'); |
my %rolehash=&Apache::lonnet::dump('roles'); |
foreach my $key (keys %rolehash) { |
foreach my $key (keys(%rolehash)) { |
if ($key=~/^rolesdef\_(\w+)$/) { |
if ($key=~/^rolesdef\_(\w+)$/) { |
|
if ($crstype eq 'Community') { |
|
next if ($rolehash{$key} =~ /bre\&S/); |
|
} |
$returnhash{$1}=$1; |
$returnhash{$1}=$1; |
} |
} |
} |
} |
Line 1442 sub print_userlist {
|
Line 1448 sub print_userlist {
|
'<input type="hidden" name="phase" value="" /></form>'); |
'<input type="hidden" name="phase" value="" /></form>'); |
return; |
return; |
} |
} |
if (!(($context eq 'domain') && ($env{'form.roletype'} eq 'course'))) { |
if (!(($context eq 'domain') && |
|
(($env{'form.roletype'} eq 'course') || ($env{'form.roletype'} eq 'community')))) { |
$r->print(' '.&list_submit_button(&mt('Update Display')). |
$r->print(' '.&list_submit_button(&mt('Update Display')). |
"\n</p>\n"); |
"\n</p>\n"); |
} |
} |
my ($indexhash,$keylist) = &make_keylist_array(); |
my ($indexhash,$keylist) = &make_keylist_array(); |
my (%userlist,%userinfo); |
my (%userlist,%userinfo,$clearcoursepick); |
if (($context eq 'domain') && |
if (($context eq 'domain') && |
($env{'form.roletype'} eq 'course') || |
($env{'form.roletype'} eq 'course') || |
($env{'form.roletype'} eq 'community')) { |
($env{'form.roletype'} eq 'community')) { |
Line 1472 sub print_userlist {
|
Line 1479 sub print_userlist {
|
$courseform."\n". |
$courseform."\n". |
&Apache::lonhtmlcommon::row_closure(1). |
&Apache::lonhtmlcommon::row_closure(1). |
&Apache::lonhtmlcommon::end_pick_box().'</p>'. |
&Apache::lonhtmlcommon::end_pick_box().'</p>'. |
'<p>'.&list_submit_button(&mt('Update Display')). |
'<p><input type="hidden" name="origroletype" value="'.$env{'form.roletype'}.'" />'. |
|
&list_submit_button(&mt('Update Display')). |
"\n".'</p><span class="LC_warning">'.$warning.'</span>'."\n"); |
"\n".'</p><span class="LC_warning">'.$warning.'</span>'."\n"); |
if ($env{'form.coursepick'}) { |
$clearcoursepick = 0; |
|
if (($env{'form.origroletype'} ne '') && |
|
($env{'form.origroletype'} ne $env{'form.roletype'})) { |
|
$clearcoursepick = 1; |
|
} |
|
if (($env{'form.coursepick'}) && (!$clearcoursepick)) { |
$r->print('<hr />'.&mt('Searching').' ...<br /> <br />'); |
$r->print('<hr />'.&mt('Searching').' ...<br /> <br />'); |
} |
} |
} else { |
} else { |
Line 1549 sub print_userlist {
|
Line 1562 sub print_userlist {
|
} |
} |
} elsif (($env{'form.roletype'} eq 'course') || |
} elsif (($env{'form.roletype'} eq 'course') || |
($env{'form.roletype'} eq 'community')) { |
($env{'form.roletype'} eq 'community')) { |
if ($env{'form.coursepick'}) { |
if (($env{'form.coursepick'}) && (!$clearcoursepick)) { |
my %courses = &process_coursepick(); |
my %courses = &process_coursepick(); |
my %allusers; |
my %allusers; |
my $hidepriv = 1; |
my $hidepriv = 1; |
Line 1952 sub process_coursepick {
|
Line 1965 sub process_coursepick {
|
my $coursefilter = $env{'form.coursepick'}; |
my $coursefilter = $env{'form.coursepick'}; |
my $cdom = $env{'request.role.domain'}; |
my $cdom = $env{'request.role.domain'}; |
my %courses; |
my %courses; |
|
my $crssrch = 'Course'; |
|
if ($env{'form.roletype'} eq 'community') { |
|
$crssrch = 'Community'; |
|
} |
if ($coursefilter eq 'all') { |
if ($coursefilter eq 'all') { |
%courses = &Apache::lonnet::courseiddump($cdom,'.','.','.','.','.', |
%courses = &Apache::lonnet::courseiddump($cdom,'.','.','.','.','.', |
undef,undef,'Course'); |
undef,undef,$crssrch); |
} elsif ($coursefilter eq 'category') { |
} elsif ($coursefilter eq 'category') { |
my $instcode = &instcode_from_coursefilter(); |
my $instcode = &instcode_from_coursefilter(); |
%courses = &Apache::lonnet::courseiddump($cdom,'.','.',$instcode,'.','.', |
%courses = &Apache::lonnet::courseiddump($cdom,'.','.',$instcode,'.','.', |
undef,undef,'Course'); |
undef,undef,$crssrch); |
} elsif ($coursefilter eq 'specific') { |
} elsif ($coursefilter eq 'specific') { |
if ($env{'form.coursetotal'} > 1) { |
if ($env{'form.coursetotal'} > 1) { |
my @course_ids = split(/&&/,$env{'form.courselist'}); |
my @course_ids = split(/&&/,$env{'form.courselist'}); |
Line 2143 END
|
Line 2160 END
|
} elsif ($context eq 'domain') { |
} elsif ($context eq 'domain') { |
if ($setting eq 'community') { |
if ($setting eq 'community') { |
$crstype = 'Community'; |
$crstype = 'Community'; |
} elsif ($crstype eq 'course') { |
} elsif ($setting eq 'course') { |
$crstype = 'Course'; |
$crstype = 'Course'; |
} |
} |
} |
} |
Line 2294 END
|
Line 2311 END
|
if ($mode eq 'html' || $mode eq 'view' || $mode eq 'autoenroll' || $mode eq 'pickauthor') { |
if ($mode eq 'html' || $mode eq 'view' || $mode eq 'autoenroll' || $mode eq 'pickauthor') { |
if ($mode ne 'autoenroll' && $mode ne 'pickauthor') { |
if ($mode ne 'autoenroll' && $mode ne 'pickauthor') { |
if ($permission->{'cusr'}) { |
if ($permission->{'cusr'}) { |
$actionselect = &select_actions($context,$setting,$statusmode,$formname); |
unless (($context eq 'domain') && |
|
(($setting eq 'course') || ($setting eq 'community'))) { |
|
$actionselect = |
|
&select_actions($context,$setting,$statusmode,$formname); |
|
} |
} |
} |
$r->print(<<END); |
$r->print(<<END); |
<input type="hidden" name="srchby" value="uname" /> |
<input type="hidden" name="srchby" value="uname" /> |
Line 2388 END
|
Line 2409 END
|
<th><a href=\"javascript:document.$formname.sortby.value='type';document.$formname.submit();\">$lt{'type'}</a></th> |
<th><a href=\"javascript:document.$formname.sortby.value='type';document.$formname.submit();\">$lt{'type'}</a></th> |
"; |
"; |
} else { |
} else { |
if ($mode eq 'pickauthor') { |
$output .= "\n".'<th> </th>'."\n"; |
$output .= "\n".'<th> </th>'."\n"; |
|
} else { |
|
$output .= "\n".'<th>'.&mt('Count').'</th>'."\n"; |
|
} |
|
if ($actionselect) { |
if ($actionselect) { |
$output .= '<th>'.&mt('Select').'</th>'."\n"; |
$output .= '<th>'.&mt('Select').'</th>'."\n"; |
} |
} |
Line 2447 END
|
Line 2464 END
|
time.'_'.rand(1000000000).'.csv'; |
time.'_'.rand(1000000000).'.csv'; |
unless ($CSVfile = Apache::File->new('>/home/httpd'.$CSVfilename)) { |
unless ($CSVfile = Apache::File->new('>/home/httpd'.$CSVfilename)) { |
$r->log_error("Couldn't open $CSVfilename for output $!"); |
$r->log_error("Couldn't open $CSVfilename for output $!"); |
$r->print(&mt('Problems occurred in writing the CSV file. ' |
$r->print( |
.'This error has been logged. ' |
'<p class="LC_error">' |
.'Please alert your LON-CAPA administrator.')); |
.&mt('Problems occurred in writing the CSV file.') |
|
.' '.&mt('This error has been logged.') |
|
.' '.&mt('Please alert your LON-CAPA administrator.') |
|
.'</p>' |
|
); |
$CSVfile = undef; |
$CSVfile = undef; |
} |
} |
# |
# |
Line 3636 sub print_first_users_upload_form {
|
Line 3657 sub print_first_users_upload_form {
|
$str .= '<input type="hidden" name="action" value="upload" />'; |
$str .= '<input type="hidden" name="action" value="upload" />'; |
$str .= '<input type="hidden" name="state" value="got_file" />'; |
$str .= '<input type="hidden" name="state" value="got_file" />'; |
|
|
$str .= '<h2>'.&mt('Upload a file containing information about users').'</h2>'."\n"; |
$str .= '<h3>'.&mt('Upload a file containing information about users').'</h3>'."\n"; |
|
|
# Excel and CSV Help |
# Excel and CSV Help |
$str .= '<p>' |
$str .= '<div class="LC_left_float">' |
.&Apache::loncommon::help_open_topic("Course_Create_Class_List", |
.&Apache::loncommon::help_open_topic("Course_Create_Class_List", |
&mt("How do I create a users list from a spreadsheet")) |
&mt("How do I create a users list from a spreadsheet")) |
."<br />\n" |
.'</div><div class="LC_left_float">'."\n" |
.&Apache::loncommon::help_open_topic("Course_Convert_To_CSV", |
.&Apache::loncommon::help_open_topic("Course_Convert_To_CSV", |
&mt("How do I create a CSV file from a spreadsheet")) |
&mt("How do I create a CSV file from a spreadsheet")) |
."</p>\n"; |
.'</div><br clear="all" />'."\n"; |
|
|
$str .= &Apache::lonhtmlcommon::start_pick_box() |
$str .= &Apache::lonhtmlcommon::start_pick_box() |
.&Apache::lonhtmlcommon::row_title(&mt('File')); |
.&Apache::lonhtmlcommon::row_title(&mt('File')) |
if (&Apache::lonlocal::current_language() ne 'en') { |
.&Apache::loncommon::upfile_select_html() |
if ($context eq 'course') { |
|
$str .= '<p class="LC_info">'."\n" |
|
.&mt('Please upload an UTF8 encoded file to ensure a correct character encoding in your classlist.')."\n" |
|
.'</p>'."\n"; |
|
} |
|
} |
|
$str .= &Apache::loncommon::upfile_select_html() |
|
.&Apache::lonhtmlcommon::row_closure() |
.&Apache::lonhtmlcommon::row_closure() |
.&Apache::lonhtmlcommon::row_title( |
.&Apache::lonhtmlcommon::row_title( |
'<label for="noFirstLine">' |
'<label for="noFirstLine">' |
Line 3670 sub print_first_users_upload_form {
|
Line 3683 sub print_first_users_upload_form {
|
.'<input type="submit" name="fileupload" value="'.&mt('Next').'" />' |
.'<input type="submit" name="fileupload" value="'.&mt('Next').'" />' |
.'</p>'; |
.'</p>'; |
|
|
$str .= &Apache::loncommon::end_page(); |
|
|
|
$r->print($str); |
$r->print($str); |
return; |
return; |
} |
} |
Line 3900 sub upfile_drop_add {
|
Line 3911 sub upfile_drop_add {
|
} |
} |
} |
} |
my (%curr_rules,%got_rules,%alerts); |
my (%curr_rules,%got_rules,%alerts); |
my %customroles = &my_custom_roles(); |
my %customroles = &my_custom_roles($crstype); |
my @permitted_roles = |
my @permitted_roles = |
&roles_on_upload($context,$setting,$crstype,%customroles); |
&roles_on_upload($context,$setting,$crstype,%customroles); |
# Get new users list |
# Get new users list |
Line 5014 sub roles_by_context {
|
Line 5025 sub roles_by_context {
|
if ($env{'request.role'} =~ m{^dc\./}) { |
if ($env{'request.role'} =~ m{^dc\./}) { |
push(@allroles,'ad'); |
push(@allroles,'ad'); |
} |
} |
push(@allroles,('ta','ep','in')); |
if (&Apache::loncommon::needs_gci_custom()) { |
if ($crstype eq 'Community') { |
if ($crstype eq 'Community') { |
push(@allroles,'co'); |
push(@allroles,'co'); |
|
} else { |
|
push(@allroles,'cc'); |
|
} |
} else { |
} else { |
push(@allroles,'cc'); |
push(@allroles,('ta','ep','in')); |
} |
if ($crstype eq 'Community') { |
if ($custom) { |
push(@allroles,'co'); |
push(@allroles,'cr'); |
} else { |
|
push(@allroles,'cc'); |
|
} |
|
if ($custom) { |
|
push(@allroles,'cr'); |
|
} |
} |
} |
} elsif ($context eq 'author') { |
} elsif ($context eq 'author') { |
@allroles = ('ca','aa'); |
@allroles = ('ca','aa'); |