--- loncom/interface/loncoursegroups.pm 2006/07/29 00:31:58 1.59
+++ loncom/interface/loncoursegroups.pm 2006/11/02 21:06:06 1.63
@@ -1,6 +1,6 @@
# The LearningOnline Network with CAPA
#
-# $Id: loncoursegroups.pm,v 1.59 2006/07/29 00:31:58 raeburn Exp $
+# $Id: loncoursegroups.pm,v 1.63 2006/11/02 21:06:06 albertel Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -29,13 +29,14 @@ package Apache::loncoursegroups;
use strict;
use Apache::lonnet;
-use Apache::loncommon;
-use Apache::lonhtmlcommon;
+use Apache::loncommon();
+use Apache::lonhtmlcommon();
use Apache::lonlocal;
-use Apache::lonnavmaps;
-use Apache::longroup;
-use Apache::portfolio;
+use Apache::lonnavmaps();
+use Apache::longroup();
+use Apache::portfolio();
use Apache::Constants qw(:common :http);
+use LONCAPA::map();
use lib '/home/httpd/lib/perl/';
use LONCAPA;
@@ -127,6 +128,15 @@ sub print_main_menu {
function changeSort(caller) {
document.$state.sortby.value = caller;
document.$state.submit();
+}
+function openGroupRoster(group,status) {
+ var url = '/adm/grouproster?';
+ url += 'group='+group+'&status='+status+'&ref=popup';
+ var title = 'Group Membership';
+ var options = 'scrollbars=1,resizable=1,menubar=0';
+ options += ',width=700,height=600';
+ rosterbrowser = open(url,title,options,'1');
+ rosterbrowser.focus();
}\n|;
$r->print(&header('Groups',$jscript,$action,$state));
if ($env{'form.refpage'} eq 'enrl') {
@@ -176,8 +186,8 @@ sub display_groups {
nogr => 'No groups exist.',
crng => 'Create a new group',
alth => 'Although your current role has privileges'.
- ' to view any existing groups in this'.
- lc($crstype).', you do not have privileges'.
+ ' to view any existing groups in this '.
+ lc($crstype).', you do not have privileges '.
'to create new groups.',
);
if ($view_permission) {
@@ -882,7 +892,7 @@ function changeSort(caller) {
&Apache::lonhtmlcommon::add_breadcrumb(
{text=>"$trail{$action}{$state}"});
$r->print(&Apache::lonhtmlcommon::breadcrumbs
- ("Groups Manager"));
+ ("Groups Manager","Creating_Groups"));
&display_control($r,$cdom,$cnum,$action,$state,$page,
\%sectioncount,$groupname,$description,$functions,
\@tools,$toolprivs,$fixedprivs,$startdate,$enddate,
@@ -1151,39 +1161,54 @@ sub group_members {
my ($cdom,$cnum,$group,$group_info) = @_;
my %memberhash = &Apache::lonnet::get_group_membership($cdom,$cnum,$group);
my $now = time;
- my ($tmp)=keys(%memberhash);
- if ($tmp=~/^error:/) {
- $$group_info{'totalmembers'} = 'Unknown - an error occurred';
- return $tmp;
- }
+ my %lt = &Apache::lonlocal::texthash (
+ active => 'active',
+ previous => 'previous',
+ future => 'future',
+ );
+ my %membercounts = (
+ active => 0,
+ previous => 0,
+ future => 0,
+ );
my $totalmembers = 0;
- my $active = 0;
- my $previous = 0;
- my $future = 0;
foreach my $member (keys %memberhash) {
$totalmembers ++;
my ($end,$start) = split(/:/,$memberhash{$member});
unless ($start == -1) {
if (($end!=0) && ($end<$now)) {
- $previous ++;
+ $membercounts{previous} ++;
} elsif (($start!=0) && ($start>$now)) {
- $future ++;
+ $membercounts{future} ++;
} else {
- $active ++;
+ $membercounts{active} ++;
}
}
}
if ($totalmembers == 0) {
$$group_info{$group}{'totalmembers'} = 'None';
} else {
- $$group_info{$group}{'totalmembers'} = ''.$active.
- ' - active
'.$previous.
- ' - previous
'.$future.
- ' - future';
+ foreach my $type ('active','previous','future') {
+ $$group_info{$group}{'totalmembers'} .=
+ &open_list_window($group,$type,$membercounts{$type},$lt{$type});
+ }
}
return 'ok';
}
+sub open_list_window {
+ my ($group,$status,$count,$text) = @_;
+ my $entry;
+ if ($count > 0) {
+ $entry = ''.$text.' - '.$count.
+ '
';
+ } else {
+ $entry = ''.$text.' - '.$count.'
';
+ }
+ return $entry;
+}
+
sub general_settings_form {
my ($r,$cdom,$cnum,$action,$formname,$page,$functions,$tools,
@@ -3423,16 +3448,16 @@ sub map_updater {
$outcome = &mt('Error uploading new folder.')." ($newfile): $newmapurl".'
';
return $outcome;
}
- my ($errtext,$fatal)=&Apache::lonratedt::mapread($parentmap);
+ my ($errtext,$fatal)=&LONCAPA::map::mapread($parentmap);
if ($fatal) {
$outcome = &mt('Error reading contents of parent folder')." ($parentmap): $errtext".'
';
return $outcome;
} else {
- my $newidx=&Apache::lonratedt::getresidx($newmapurl);
- $Apache::lonratedt::resources[$newidx] = $itemtitle.':'.$newmapurl.
+ my $newidx=&LONCAPA::map::getresidx($newmapurl);
+ $LONCAPA::map::resources[$newidx] = $itemtitle.':'.$newmapurl.
':false:normal:res';
- $Apache::lonratedt::order[1+$#Apache::lonratedt::order]=$newidx;
- my ($outtext,$errtext) = &Apache::lonratedt::storemap($parentmap,1);
+ $LONCAPA::map::order[1+$#LONCAPA::map::order]=$newidx;
+ my ($outtext,$errtext) = &LONCAPA::map::storemap($parentmap,1);
if ($errtext) {
$outcome = &mt('Error storing updated parent folder')." ($parentmap): $errtext".'
';
return $outcome;