version 1.114, 2012/07/21 21:20:06
|
version 1.127.2.3, 2020/09/09 00:23:50
|
Line 31 use strict;
|
Line 31 use strict;
|
use Apache::lonnet; |
use Apache::lonnet; |
use Apache::loncommon(); |
use Apache::loncommon(); |
use Apache::lonhtmlcommon(); |
use Apache::lonhtmlcommon(); |
|
use Apache::lonhtmlgateway; |
use Apache::lonlocal; |
use Apache::lonlocal; |
use Apache::lonnavmaps(); |
use Apache::lonnavmaps(); |
use Apache::longroup(); |
use Apache::longroup(); |
use Apache::portfolio(); |
use Apache::portfolio(); |
use Apache::Constants qw(:common :http); |
use Apache::Constants qw(:common :http); |
|
use HTML::Entities; |
use LONCAPA::map(); |
use LONCAPA::map(); |
use lib '/home/httpd/lib/perl/'; |
use lib '/home/httpd/lib/perl/'; |
use LONCAPA; |
use LONCAPA; |
Line 134 function changeSort(caller) {
|
Line 136 function changeSort(caller) {
|
} |
} |
function openGroupRoster(group,status) { |
function openGroupRoster(group,status) { |
var url = '/adm/grouproster?'; |
var url = '/adm/grouproster?'; |
url += 'group='+group+'&status='+status+'&ref=popup'; |
url += 'group='+group+'&status='+status+'&ref=popup'; |
var title = 'Group_Membership'; |
var title = 'Group_Membership'; |
var options = 'scrollbars=1,resizable=1,menubar=0'; |
var options = 'scrollbars=1,resizable=1,menubar=0'; |
options += ',width=700,height=600'; |
options += ',width=700,height=600'; |
Line 168 sub display_groups {
|
Line 170 sub display_groups {
|
my %curr_groups = (); |
my %curr_groups = (); |
my %grp_info = (); |
my %grp_info = (); |
my %actionlinks = ( |
my %actionlinks = ( |
modify => '<a href="/adm/coursegroups?action=modify&refpage='. |
modify => '/adm/coursegroups?action=modify&refpage='. |
$env{'form.refpage'}.'&state=pick_task&groupname=', |
$env{'form.refpage'}.'&state=pick_task&groupname=', |
view => '<a href="', |
view => '', |
delete => '<a href="/adm/coursegroups?action=delete&refpage='. |
delete => '/adm/coursegroups?action=delete&refpage='. |
$env{'form.refpage'}.'&state=verify&groupname=', |
$env{'form.refpage'}.'&state=verify&groupname=', |
reenable => '<a href="/adm/coursegroups?action=reenable&refpage='. |
reenable => '/adm/coursegroups?action=reenable&refpage='. |
$env{'form.refpage'}.'&state=verify&groupname=', |
$env{'form.refpage'}.'&state=verify&groupname=', |
); |
); |
my %lt = &Apache::lonlocal::texthash( |
my %lt = &Apache::lonlocal::texthash( |
modify => 'Modify', |
modify => 'Modify', |
Line 188 sub display_groups {
|
Line 190 sub display_groups {
|
crtd => 'Created', |
crtd => 'Created', |
last => 'Last Modified', |
last => 'Last Modified', |
func => 'Collaborative Tools', |
func => 'Collaborative Tools', |
quot => 'Quota (Mb)', |
quot => 'Quota (MB)', |
memb => 'Members', |
memb => 'Members', |
file => 'Files', |
file => 'Files', |
dibd => 'Discussion Boards', |
dibd => 'Discussion Boards', |
Line 225 sub display_groups {
|
Line 227 sub display_groups {
|
if (!defined($navmap)) { |
if (!defined($navmap)) { |
$r->print('<div class="LC_error">'. |
$r->print('<div class="LC_error">'. |
&mt('An error occurred retrieving information about resources in the course.').'<br />'. |
&mt('An error occurred retrieving information about resources in the course.').'<br />'. |
&mt('It is recommended that you [_1]re-initialize the course[_2] and then return to this page.','<a href="/adm/roles?selectrole=1&newrole='.$env{'request.role'}.'&orgurl=%2fadm%2fcoursegroups">','</a>'). |
&mt('It is recommended that you [_1]re-initialize the course[_2] and then return to this page.','<a href="/adm/roles?selectrole=1&newrole='.$env{'request.role'}.'&orgurl=%2fadm%2fcoursegroups">','</a>'). |
'</div>'); |
'</div>'); |
return; |
return; |
} |
} |
Line 248 sub display_groups {
|
Line 250 sub display_groups {
|
<th><a href="javascript:changeSort('creator')">$lt{'crea'}</a></th> |
<th><a href="javascript:changeSort('creator')">$lt{'crea'}</a></th> |
<th><a href="javascript:changeSort('creation')">$lt{'crtd'}</a></th> |
<th><a href="javascript:changeSort('creation')">$lt{'crtd'}</a></th> |
<th><a href="javascript:changeSort('modified')">$lt{'last'}</a></th> |
<th><a href="javascript:changeSort('modified')">$lt{'last'}</a></th> |
<th>$lt{'func'}</b></td> |
<th>$lt{'func'}</th> |
<th><a href="javascript:changeSort('quota')">$lt{'quot'}</a></th> |
<th><a href="javascript:changeSort('quota')">$lt{'quot'}</a></th> |
<th><a href="javascript:changeSort('totalmembers')">$lt{'memb'}</a></th> |
<th><a href="javascript:changeSort('totalmembers')">$lt{'memb'}</a></th> |
<th><a href="javascript:changeSort('totalfiles')">$lt{'file'}</a></th> |
<th><a href="javascript:changeSort('totalfiles')">$lt{'file'}</a></th> |
Line 327 END
|
Line 329 END
|
if (!$functionality) { |
if (!$functionality) { |
$functionality = &mt('None available'); |
$functionality = &mt('None available'); |
} |
} |
my $link = $actionlinks{$action}; |
my $link; |
if ($action eq 'modify' || $action eq 'delete' || |
if ($action eq 'modify' || $action eq 'delete' || |
$action eq 'reenable') { |
$action eq 'reenable') { |
$link .= $group; |
$link = '<a href="'.&HTML::Entities::encode($actionlinks{$action}.$group,'<>&"'). |
|
'">'.$lt{$action}.'</a>'; |
} else { |
} else { |
$link .= |
$link = |
&Apache::longroup::get_group_link($cdom,$cnum,$group,$navmap); |
&Apache::longroup::get_group_link($cdom,$cnum,$group,$navmap, |
$link .= (($link=~/\?/)?'&':'?').'ref=grouplist'; |
$view_permission); |
if (exists($env{'form.refpage'})) { |
if ($link) { |
$link .= '&refpage='.$env{'form.refpage'}; |
$link = '<a href="'.$link; |
|
$link .= (($link=~/\?/)?'&':'?').'ref=grouplist'; |
|
if (exists($env{'form.refpage'})) { |
|
$link .= '&refpage='.$env{'form.refpage'}; |
|
} |
|
$link .= '">'.$lt{$action}.'</a>'; |
} |
} |
} |
} |
$link .= '">'.$lt{$action}.'</a>'; |
|
if ($action eq 'view') { |
if ($action eq 'view') { |
if ($manage_permission) { |
if ($manage_permission) { |
$link .= ' '.$actionlinks{'modify'}. |
$link .= ' <a href="'. |
$group.'">'.$lt{'modify'}.'</a>'. |
&HTML::Entities::encode($actionlinks{'modify'}.$group,'<>&"'). |
' '.$actionlinks{'delete'}. |
'">'.$lt{'modify'}.'</a> <a href="'. |
$group.'">'.$lt{'delete'}.'</a>'; |
&HTML::Entities::encode($actionlinks{'delete'}.$group,'<>&"'). |
|
'">'.$lt{'delete'}.'</a>'; |
} |
} |
} |
} |
$r->print(&Apache::loncommon::start_data_table_row('LC_data_table_dense'). |
$r->print(&Apache::loncommon::start_data_table_row('LC_data_table_dense'). |
Line 393 END
|
Line 401 END
|
} else { |
} else { |
my @coursegroups = split(/:/,$env{'request.course.groups'}); |
my @coursegroups = split(/:/,$env{'request.course.groups'}); |
if (@coursegroups > 0) { |
if (@coursegroups > 0) { |
|
my $numlinks = 0; |
$r->print('<br /><br />'); |
$r->print('<br /><br />'); |
my %curr_groups = &Apache::longroup::coursegroups($cdom,$cnum); |
my %curr_groups = &Apache::longroup::coursegroups($cdom,$cnum); |
if (%curr_groups) { |
if (%curr_groups) { |
Line 400 END
|
Line 409 END
|
if (!defined($navmap)) { |
if (!defined($navmap)) { |
$r->print('<div class="LC_error">'. |
$r->print('<div class="LC_error">'. |
&mt('An error occurred retrieving information about resources in the course.').'<br />'. |
&mt('An error occurred retrieving information about resources in the course.').'<br />'. |
&mt('It is recommended that you [_1]re-initialize the course[_2] and then return to this page.','<a href="/adm/roles?selectrole=1&newrole='.$env{'request.role'}.'&orgurl=%2fadm%2fcoursegroups">','</a>'). |
&mt('It is recommended that you [_1]re-initialize the course[_2] and then return to this page.','<a href="/adm/roles?selectrole=1&newrole='.$env{'request.role'}.'&orgurl=%2fadm%2fcoursegroups">','</a>'). |
'</div>'); |
'</div>'); |
return; |
return; |
} |
} |
Line 409 END
|
Line 418 END
|
$curr_groups{$group}); |
$curr_groups{$group}); |
my $description = &unescape( |
my $description = &unescape( |
$group_info{description}); |
$group_info{description}); |
my $link = |
my ($link,$hidden) = |
&Apache::longroup::get_group_link($cdom,$cnum,$group,$navmap). |
&Apache::longroup::get_group_link($cdom,$cnum,$group,$navmap, |
'&ref=grouplist'; |
$view_permission); |
$r->print('<span style="font-size: larger"><a href="'.$link.'">'.$group,'</a></span><br /><small>'.$description.'</small><br /><br />'); |
if ($link) { |
|
$link .= '&ref=grouplist'; |
|
$r->print('<span style="font-size: larger"><a href="'.$link.'">'. |
|
$description.'</a></span><br /><br />'); |
|
$numlinks ++; |
|
} elsif ($hidden) { |
|
my $numtools = 0; |
|
my $refarg = '&ref=grouplist'; |
|
my $output = |
|
&Apache::longroup::display_group_links($r,$env{'form.grade_target'},$group,'view', |
|
$refarg,\$numtools,$hidden,%group_info); |
|
if ($numtools) { |
|
$r->print('<span style="font-size: larger">'.$description.'</a></span>'. |
|
'<br />'.$output.'<br /><br />'); |
|
$numlinks ++; |
|
} |
|
} |
} |
} |
} |
} |
|
if (!$numlinks) { |
|
$r->print( |
|
'<p class="LC_info">' |
|
.&mt('You do not currently have access to any '.$gpterm.'s' |
|
.' in this '.lc($crstype).'.') |
|
.'</p>' |
|
); |
|
} |
} else { |
} else { |
$r->print(&mt('You are not currently a member of any active '.$gpterm.'s in this '.lc($crstype).'.')); |
$r->print( |
|
'<p class="LC_info">' |
|
.&mt('You are not currently a member of any active '.$gpterm.'s' |
|
.' in this '.lc($crstype).'.') |
|
.'</p>' |
|
); |
} |
} |
} |
} |
return; |
return; |
Line 806 sub group_administration {
|
Line 844 sub group_administration {
|
} |
} |
var maxposs = '.sprintf("%.2f",$maxposs).'; |
var maxposs = '.sprintf("%.2f",$maxposs).'; |
if (newquota > maxposs) { |
if (newquota > maxposs) { |
alert("The group portfolio quota you entered for this group ("+newquota+" Mb) exceeds the maximum possible ("+maxposs+" Mb). Please enter a smaller number."); |
alert("The group portfolio quota you entered for this group ("+newquota+" MB) exceeds the maximum possible ("+maxposs+" MB). Please enter a smaller number."); |
return; |
return; |
} |
} |
var re_quota = '.$float_check.'; |
var re_quota = '.$float_check.'; |
Line 825 sub group_administration {
|
Line 863 sub group_administration {
|
} |
} |
} |
} |
if (warn_zero == 1) { |
if (warn_zero == 1) { |
alert("You have indicated that the group portfolio should be enabled, but you have set the respository quota to 0 Mb.\nThis will prevent any upload of files.\nPlease set a value or disable the repository feature."); |
alert("You have indicated that the group portfolio should be enabled, but you have set the repository quota to 0 MB.\nThis will prevent any upload of files.\nPlease set a value or disable the repository feature."); |
return; |
return; |
} |
} |
} |
} |
Line 891 function changeSort(caller) {
|
Line 929 function changeSort(caller) {
|
faq=>9,bug=>'Instructor Interface',}); |
faq=>9,bug=>'Instructor Interface',}); |
if ($action eq 'modify' || $action eq 'delete') { |
if ($action eq 'modify' || $action eq 'delete') { |
&Apache::lonhtmlcommon::add_breadcrumb |
&Apache::lonhtmlcommon::add_breadcrumb |
({href=>"/adm/coursegroups?refpage=cusr&action=$action", |
({href=>"/adm/coursegroups?refpage=cusr&action=$action", |
text=>"Groups", |
text=>"Groups", |
faq=>9,bug=>'Instructor Interface',}); |
faq=>9,bug=>'Instructor Interface',}); |
} |
} |
Line 903 function changeSort(caller) {
|
Line 941 function changeSort(caller) {
|
if ($env{'form.refpage'} eq 'grouplist') { |
if ($env{'form.refpage'} eq 'grouplist') { |
&Apache::lonhtmlcommon::add_breadcrumb |
&Apache::lonhtmlcommon::add_breadcrumb |
({href=>"/adm/$cdom/$cnum/$env{'form.groupname'}/smppg?ref=grouplist", |
({href=>"/adm/$cdom/$cnum/$env{'form.groupname'}/smppg?ref=grouplist", |
text=>"Group: $description",}); |
text=>&mt('Group').": $description", |
|
no_mt=>1}); |
} |
} |
} |
} |
|
|
Line 1487 sub header {
|
Line 1526 sub header {
|
{'add_entries' => $loaditems,}); |
{'add_entries' => $loaditems,}); |
my $output = <<"END"; |
my $output = <<"END"; |
$start_page |
$start_page |
<form method="post" name="$state"> |
<form method="post" name="$state" action=""> |
|
|
END |
END |
if ($action eq 'create' || $action eq 'modify') { |
if ($action eq 'create' || $action eq 'modify') { |
Line 1581 sub group_members {
|
Line 1620 sub group_members {
|
future => 0, |
future => 0, |
); |
); |
my $totalmembers = 0; |
my $totalmembers = 0; |
foreach my $member (keys %memberhash) { |
foreach my $member (keys(%memberhash)) { |
$totalmembers ++; |
$totalmembers ++; |
my ($end,$start) = split(/:/,$memberhash{$member}); |
my ($end,$start) = split(/:/,$memberhash{$member}); |
unless ($start == -1) { |
unless ($start == -1) { |
Line 1696 sub groupsettings_options {
|
Line 1735 sub groupsettings_options {
|
if ($remnum) { |
if ($remnum) { |
$halfnum ++; |
$halfnum ++; |
} |
} |
my @allfunctions = sort(keys (%{$functions})); |
my @allfunctions = sort(keys(%{$functions})); |
|
|
$r->print(&Apache::lonhtmlcommon::row_title($lt{'func'}) |
$r->print(&Apache::lonhtmlcommon::row_title($lt{'func'}) |
.'<div>' |
.'<div>' |
Line 1751 sub groupsettings_options {
|
Line 1790 sub groupsettings_options {
|
} else { |
} else { |
$r->print(&mt('Quota allocated to group portfolio:')); |
$r->print(&mt('Quota allocated to group portfolio:')); |
} |
} |
$r->print(' '.&mt('[_1] Mb','<input type="text" name="quota" size="4" />')); |
$r->print(' '.&mt('[_1] MB','<input type="text" name="quota" size="4" />')); |
if ($action eq 'create') { |
if ($action eq 'create') { |
$r->print('<br />' |
$r->print('<br />' |
.&mt('A total of [_1] Mb can be divided amongst all '.$gpterm.'s in the ' |
.&mt('A total of [_1] MB can be divided amongst all '.$gpterm.'s in the ' |
.lc($crstype).', and [_2] Mb are currently unallocated.' |
.lc($crstype).', and [_2] MB are currently unallocated.' |
,$crsquota,sprintf("%.2f",$freespace)) |
,$crsquota,sprintf("%.2f",$freespace)) |
); |
); |
} else { |
} else { |
$r->print(' ('.&mt('The quota is currently [_1] Mb', |
$r->print(' ('.&mt('The quota is currently [_1] MB', |
$$stored{'quota'}).').'); |
$$stored{'quota'}).').'); |
|
|
$r->print('<br />' |
$r->print('<br />' |
.&mt('The quota can be increased to [_1] Mb, ' |
.&mt('The quota can be increased to [_1] MB, ' |
.'by adding all unallocated space for '.$gpterm.'s in the '.lc($crstype).'.' |
.'by adding all unallocated space for '.$gpterm.'s in the '.lc($crstype).'.' |
,sprintf("%.2f",$maxposs))); |
,sprintf("%.2f",$maxposs))); |
} |
} |
Line 2011 sub print_current_settings {
|
Line 2050 sub print_current_settings {
|
dfac => 'Default access dates', |
dfac => 'Default access dates', |
ygrs => "Your group selections - ", |
ygrs => "Your group selections - ", |
tfwa => "The following settings will apply to the group:", |
tfwa => "The following settings will apply to the group:", |
difn => 'Different collaborative tools<br />for different members:', |
|
stda => 'Start date:', |
stda => 'Start date:', |
enda => 'End date:', |
enda => 'End date:', |
); |
); |
|
$lt{'difn'} = &mt('Different collaborative tools[_1]for different members:','<br />'); |
my $showstart = &Apache::lonlocal::locallocaltime($startdate); |
my $showstart = &Apache::lonlocal::locallocaltime($startdate); |
my $showend; |
my $showend; |
if ($enddate == 0) { |
if ($enddate == 0) { |
Line 2064 sub print_current_settings {
|
Line 2103 sub print_current_settings {
|
$r->print('</ul>'); |
$r->print('</ul>'); |
} |
} |
|
|
my $quota_text=&mt('[_1] Mb',$quota); |
my $quota_text=&mt('[_1] MB',$quota); |
my $granu_text=&mt($granularity); |
my $granu_text=&mt($granularity); |
$r->print(<<"END"); |
$r->print(<<"END"); |
</td> |
</td> |
Line 2254 sub privilege_specificity {
|
Line 2293 sub privilege_specificity {
|
"for users who receive specific sections/roles in the course ", |
"for users who receive specific sections/roles in the course ", |
'asyo' => "As you have chosen not to include any collaborative tools ". |
'asyo' => "As you have chosen not to include any collaborative tools ". |
"in the group, no default optional privileges need to be set.", |
"in the group, no default optional privileges need to be set.", |
'plin' => 'Indicate which <b>optional</b> privileges members '. |
|
'will receive by default for a specific tool.', |
'will receive by default for a specific tool.', |
'oppr' => 'Optional privileges', |
'oppr' => 'Optional privileges', |
'defp' => 'The default privileges new members will receive are:', |
'defp' => 'The default privileges new members will receive are:', |
); |
); |
|
$lt{'plin'} = &mt('Indicate which [_1]optional[_2] privileges members '. |
|
'will receive by default for a specific tool.','<b>','</b>'); |
if ($crstype eq 'Community') { |
if ($crstype eq 'Community') { |
$lt{'thes'} = &mt('These will be the privileges given to members assigned in the future via automatic group assignment for users who receive specific sections/roles in the community '); |
$lt{'thes'} = &mt('These will be the privileges given to members assigned in the future via automatic group assignment for users who receive specific sections/roles in the community '); |
} |
} |
Line 2542 sub current_membership {
|
Line 2582 sub current_membership {
|
'actn' => 'Action?', |
'actn' => 'Action?', |
'name' => 'Name', |
'name' => 'Name', |
'usnm' => 'Username', |
'usnm' => 'Username', |
|
'stid' => 'ID', |
'doma' => 'Domain', |
'doma' => 'Domain', |
'stda' => 'Start Date', |
'stda' => 'Start Date', |
'enda' => 'End Date', |
'enda' => 'End Date', |
Line 2603 END
|
Line 2644 END
|
<th><a href="javascript:changeSort('fullname')">$lt{'name'}</a></th> |
<th><a href="javascript:changeSort('fullname')">$lt{'name'}</a></th> |
<th><a href="javascript:changeSort('username')">$lt{'usnm'}</a></th> |
<th><a href="javascript:changeSort('username')">$lt{'usnm'}</a></th> |
<th><a href="javascript:changeSort('domain')">$lt{'doma'}</a></th> |
<th><a href="javascript:changeSort('domain')">$lt{'doma'}</a></th> |
<th><a href="javascript:changeSort('id')">ID</a></th> |
<th><a href="javascript:changeSort('id')">$lt{'ID'}</a></th> |
<th><a href="javascript:changeSort('start')">$lt{'stda'}</a></th> |
<th><a href="javascript:changeSort('start')">$lt{'stda'}</a></th> |
<th><a href="javascript:changeSort('end')">$lt{'enda'}</a></th> |
<th><a href="javascript:changeSort('end')">$lt{'enda'}</a></th> |
END |
END |
Line 2727 END
|
Line 2768 END
|
} |
} |
$r->print(&Apache::loncommon::end_data_table()); |
$r->print(&Apache::loncommon::end_data_table()); |
} else { |
} else { |
$r->print(&mt('There are no active, future or previous group members to modify.')); |
$r->print( |
|
'<p class="LC_info">' |
|
.&mt('There are no active, future or previous group members to modify.') |
|
.'</p>'); |
} |
} |
return $numcurrent; |
return $numcurrent; |
} |
} |
Line 2795 sub change_privs_form {
|
Line 2839 sub change_privs_form {
|
} |
} |
} |
} |
if (!$exp_or_del) { |
if (!$exp_or_del) { |
$r->print($lt{'nome'}.'<br />'); |
$r->print('<p class="LC_info">'.$lt{'nome'}.'</p>'); |
} |
} |
|
|
$r->print(&Apache::lonhtmlcommon::topic_bar(4,&mt('Setting optional privileges for specific group members'))); |
$r->print(&Apache::lonhtmlcommon::topic_bar(4,&mt('Setting optional privileges for specific group members'))); |
Line 3191 sub write_group_data {
|
Line 3235 sub write_group_data {
|
$quota = 0; |
$quota = 0; |
$r->print('<div class="LC_warning">' |
$r->print('<div class="LC_warning">' |
.&mt('The value you entered for the quota for the group portfolio in this '.$gpterm |
.&mt('The value you entered for the quota for the group portfolio in this '.$gpterm |
.' contained invalid characters, so it has been set to 0 Mb. You can change this by' |
.' contained invalid characters, so it has been set to 0 MB. You can change this by' |
.' modifying the '.$gpterm.' settings.') |
.' modifying the '.$gpterm.' settings.') |
.'</div>'); |
.'</div>'); |
} |
} |
Line 3199 sub write_group_data {
|
Line 3243 sub write_group_data {
|
$quota = $maxposs; |
$quota = $maxposs; |
$r->print('<div class="LC_warning">' |
$r->print('<div class="LC_warning">' |
.&mt('The value you entered for the quota for the group portfolio in this '.$gpterm |
.&mt('The value you entered for the quota for the group portfolio in this '.$gpterm |
.' exceeded the maximum possible value, so it has been set to [_1] Mb ' |
.' exceeded the maximum possible value, so it has been set to [_1] MB ' |
.'(the maximum possible value).',sprintf("%.2f",$maxposs)) |
.'(the maximum possible value).',sprintf("%.2f",$maxposs)) |
.'</div>'); |
.'</div>'); |
} |
} |
Line 3358 sub write_group_data {
|
Line 3402 sub write_group_data {
|
&Apache::lonnet::logthis("Failed to store $gpterm $groupname ". |
&Apache::lonnet::logthis("Failed to store $gpterm $groupname ". |
'in '.lc($crstype).': '.$cnum. |
'in '.lc($crstype).': '.$cnum. |
' in domain: '.$cdom); |
' in domain: '.$cdom); |
$r->print('<div class="LC_error">' |
$r->print('<p class="LC_error">' |
.&mt('An error occurred when [_1] the '.$gpterm.'. ' |
.&mt('An error occurred when '.$actiontype{$action}.' the '.$gpterm.'. ' |
.'Please try again.',$actiontype{$action}) |
.'Please try again.') |
.'</div>'); |
.'</p'); |
} |
} |
return $result; |
return $result; |
} |
} |
Line 3492 sub process_membership {
|
Line 3536 sub process_membership {
|
if (grep/^$user$/,@reenable) { |
if (grep/^$user$/,@reenable) { |
$start = $startdate; |
$start = $startdate; |
$end = $enddate; |
$end = $enddate; |
$type = 'reenabled'; |
$type = 're-enabled'; |
} |
} |
} |
} |
if ($type eq '') { |
if ($type eq '') { |
Line 3528 sub process_membership {
|
Line 3572 sub process_membership {
|
if ($num_ok) { |
if ($num_ok) { |
my $msgall =''; |
my $msgall =''; |
foreach my $type (sort(keys(%added))) { |
foreach my $type (sort(keys(%added))) { |
my $message = &mt('The following users were successfully [_1]',$type); |
my $message; |
|
my $tmsg = "The following users were successfully $type"; |
if (!($type eq 'deleted' || $type eq 'expired')) { |
if (!($type eq 'deleted' || $type eq 'expired')) { |
$message .= &mt(' with the following privileges'); |
$tmsg .= ' with the following privileges'; |
} |
} |
$message .= ':<br/>'; |
$message .= &mt($tmsg.':').'<br/>'; |
foreach my $user (@{$added{$type}}) { |
foreach my $user (@{$added{$type}}) { |
my $privlist = ''; |
my $privlist = ''; |
if (!($type eq 'deleted' || $type eq 'expired')) { |
if (!($type eq 'deleted' || $type eq 'expired')) { |
Line 3744 sub modify_menu {
|
Line 3789 sub modify_menu {
|
items => [ |
items => [ |
|
|
{ linktext => "Modify default $gpterm settings", |
{ linktext => "Modify default $gpterm settings", |
url => '/adm/coursegroups?action=modify&refpage='.$env{'form.refpage'}.'&groupname='.$groupname.'&state=change_settings&branch=settings', |
url => '/adm/coursegroups?action=modify&refpage='.$env{'form.refpage'}.'&groupname='.$groupname.'&state=change_settings&branch=settings', |
icon => 'grp_settings.png', |
icon => 'grp_settings.png', |
alttext => "Modify default $gpterm settings", |
alttext => "Modify default $gpterm settings", |
permission => '1', |
permission => '1', |
help => 'Course_Modify_Group', |
help => 'Course_Modify_Group', |
}, |
}, |
{ linktext => 'Modify access, tools and privileges for members', |
{ linktext => 'Modify access, tools and privileges for members', |
url => '/adm/coursegroups?action=modify&refpage='.$env{'form.refpage'}.'&groupname='.$groupname.'&state=change_members&branch=members', |
url => '/adm/coursegroups?action=modify&refpage='.$env{'form.refpage'}.'&groupname='.$groupname.'&state=change_members&branch=members', |
icon => 'grp_tools.png', |
icon => 'grp_tools.png', |
alttext => 'Modify access, tools and privileges for members', |
alttext => 'Modify access, tools and privileges for members', |
permission => '1', |
permission => '1', |
help => 'Course_Modify_Group_Membership', |
help => 'Course_Modify_Group_Membership', |
}, |
}, |
{ linktext => "Add member(s) to the $gpterm", |
{ linktext => "Add member(s) to the $gpterm", |
url => '/adm/coursegroups?action=modify&refpage='.$env{'form.refpage'}.'&groupname='.$groupname.'&state=add_members&branch=adds', |
url => '/adm/coursegroups?action=modify&refpage='.$env{'form.refpage'}.'&groupname='.$groupname.'&state=add_members&branch=adds', |
icon => 'grp_add.png', |
icon => 'grp_add.png', |
alttext => "Add member(s) to the $gpterm", |
alttext => "Add member(s) to the $gpterm", |
permission => '1', |
permission => '1', |
Line 4114 sub create_homepage {
|
Line 4159 sub create_homepage {
|
my ($cdom,$cnum,$name,$groupinfo,$tools,$gpterm,$ucgpterm,$now) = @_; |
my ($cdom,$cnum,$name,$groupinfo,$tools,$gpterm,$ucgpterm,$now) = @_; |
my $functionality = join(',',@{$tools}); |
my $functionality = join(',',@{$tools}); |
my $content = &unescape($$groupinfo{description}); |
my $content = &unescape($$groupinfo{description}); |
$content=~s/\s+$//s; |
chomp($content); |
$content=~s/^\s+//s; |
my $gateway = Apache::lonhtmlgateway->new(); |
$content=~s/\<br\s*\/*\>$//s; |
$content = $gateway->process_incoming_html($content,1); |
$content=&Apache::lonfeedback::clear_out_html($content,1); |
|
|
|
my %pageinfo = ( |
my %pageinfo = ( |
'aaa_title' => "$ucgpterm: $name", |
'aaa_title' => "$ucgpterm: $name", |
Line 4177 sub validate_groupname {
|
Line 4221 sub validate_groupname {
|
} |
} |
my %lt = &Apache::lonlocal::texthash ( |
my %lt = &Apache::lonlocal::texthash ( |
igna => "Invalid $gpterm name", |
igna => "Invalid $gpterm name", |
tgne => "The $gpterm name entered ", |
|
grna => "$ucgpterm names and section names used in a ". |
grna => "$ucgpterm names and section names used in a ". |
"$crstype must be unique.", |
"$crstype must be unique.", |
isno => "is not a valid name.", |
|
gnmo => "$ucgpterm names may only contain letters, ". |
gnmo => "$ucgpterm names may only contain letters, ". |
"numbers or underscores.", |
"numbers or underscores.", |
cnnb => "can not be used as it is the name of ", |
|
inth => " in this $crstype", |
|
thgr => "- does not correspond to the name of an ". |
|
"existing $gpterm", |
|
); |
); |
|
|
my $exitmsg = '<span class="LC_error">'.$lt{'igna'}.'</span><br /><br />'. |
my $exitmsg = '<span class="LC_error">'.$lt{'igna'}.'</span><br /><br />'; |
$lt{'tgne'}.' "'.$groupname.'" '; |
my $nameshown = &Apache::loncommon::cleanup_html($groupname); |
my $dupmsg = $lt{'grna'}; |
|
my $earlyout; |
|
if (($groupname eq '') || ($groupname =~ /\W/)) { |
if (($groupname eq '') || ($groupname =~ /\W/)) { |
$earlyout = $exitmsg.$lt{'isno'}.'<br />'.$lt{'gnmo'}; |
return $exitmsg. |
return $earlyout; |
&mt("The $gpterm name entered '[_1]' is not a valid name.",$nameshown). |
|
'<br />'.$lt{'gnmo'}; |
|
} elsif ($groupname eq 'syllabus') { |
|
return $exitmsg. |
|
&mt("The $gpterm name entered '[_1]' is reserved for use by LON-CAPA.",$nameshown); |
} |
} |
if (exists($sectioncount{$groupname})) { |
if (exists($sectioncount{$groupname})) { |
return $exitmsg.$lt{'cnnb'}.&mt('a section').$lt{'inth'}. |
return $exitmsg. |
'<br />'.$lt{'grna'}; |
&mt("The $gpterm name entered '[_1]' can not be used as it is the name of a section in this $crstype.",$nameshown). |
|
'<br />'.$lt{'grna'}; |
} |
} |
if ($action eq 'create') { |
if ($action eq 'create') { |
if (exists($curr_groups{$groupname})) { |
if (exists($curr_groups{$groupname})) { |
return $exitmsg.$lt{'cnnb'}.&mt('an existing [_1]',$gpterm). |
return $exitmsg. |
$lt{'inth'}.'.<br />'.$lt{'grna'}; |
&mt("The $gpterm name entered '[_1]' can not be used as it is the name of an existing $gpterm in this $crstype.",$nameshown). |
|
'<br />'.$lt{'grna'}; |
} elsif (exists($deleted_groups{$groupname})) { |
} elsif (exists($deleted_groups{$groupname})) { |
return $exitmsg.$lt{'cnnb'}.&mt('a [_1] which previously existed',$gpterm). |
return $exitmsg. |
$lt{'inth'}.'.<br />'.$lt{'grna'}; |
&mt("The $gpterm name entered '[_1]' can not be used as it is the name of a $gpterm which previously existed in this $crstype.",$nameshown). |
|
'<br />'.$lt{'grna'}; |
} |
} |
} elsif ($action eq 'modify') { |
} elsif ($action eq 'modify') { |
unless(exists($curr_groups{$groupname})) { |
unless(exists($curr_groups{$groupname})) { |
$earlyout = &mt('[_1] name:',$ucgpterm).' '.$groupname.$lt{'thgr'}. |
return &mt("$ucgpterm name: [_1] does not correspond to the name of an existing $gpterm in this $crstype.",$nameshown); |
$lt{'inth'}; |
|
return $earlyout; |
|
} |
} |
} |
} |
return; |
return; |