diff --git a/web/pages/mxq/mxq.in b/web/pages/mxq/mxq.in
index 89227a67..8b5238e1 100755
--- a/web/pages/mxq/mxq.in
+++ b/web/pages/mxq/mxq.in
@@ -414,14 +414,40 @@ EOF
return $out;
}
-sub group_table_rows {
- my ($sth,$head)=@_;
- my $out='';
+sub group_table {
- $out.='
';
+ my ($sql_clause,$sql_binds)=@_;
+
+ $sql_clause||='true';
+
+ my $out;
+ my (@cols,@head);
- $out.=$q->Tr($q->th($head));
+ $out .= 'Active Groups
';
+
+ @cols=qw(
+ group_id group_name job_threads user_name
+ group_mtime
+ group_status
+ group_jobs
+ group_jobs_inq group_jobs_running
+ group_jobs_finished group_jobs_failed group_jobs_cancelled group_jobs_unknown
+ );
+ @head=qw(
+ group_id group_name threads user_name
+ group_mtime
+ group_status
+ jobs
+ inq running
+ finished failed cancelled unknown
+ );
+
+ my $sth=$dbh->prepare('SELECT '.join(',',@cols).' FROM mxq_group WHERE '.$sql_clause.' AND (group_jobs_running>0 OR group_jobs_inq>0) ORDER BY group_id DESC');
+ $sth->execute(@$sql_binds);
+
+ $out.='';
+ $out.=$q->Tr($q->th(\@head));
while (my $row=$sth->fetchrow_arrayref()) {
my ($group_id,$group_name,$job_threads,$user_name,$group_mtime,$group_status,
$group_jobs,$group_jobs_inq,$group_jobs_running,$group_jobs_finished,$group_jobs_failed,$group_jobs_cancelled,$group_jobs_unknown
@@ -441,70 +467,53 @@ sub group_table_rows {
$q->td({class=>'number'},$group_jobs_failed),
$q->td({class=>'number'},$group_jobs_cancelled),
$q->td({class=>'number'},$group_jobs_unknown)
-
);
}
$out.='
';
- return $out;
-}
-
-sub group_table {
- my ($sql_clause,$sql_binds)=@_;
-
- $sql_clause||='true';
-
- my $out;
-
- my @cols=qw(
- group_id group_name job_threads user_name group_mtime group_status
- group_jobs group_jobs_inq group_jobs_running group_jobs_finished group_jobs_failed group_jobs_cancelled group_jobs_unknown
- );
- my @head=qw(
- group_id group_name threads user_name group_mtime group_status
- jobs inq running finished failed cancelled unknown
- );
-
-
- $out .= 'Active Groups
';
-
- my $sth=$dbh->prepare('SELECT '.join(',',@cols).' FROM mxq_group WHERE '.$sql_clause.' AND (group_jobs_running>0 OR group_jobs_inq>0) ORDER BY group_id DESC');
- $sth->execute(@$sql_binds);
- $out.=group_table_rows($sth,\@head);
+ $out .= 'Finished Groups (last 7 days)
';
@cols=qw(
- group_id
- group_name
- job_threads
- user_name
- group_date_end
- group_status
- group_jobs
- group_jobs_finished
- group_jobs_failed
- group_jobs_cancelled
- group_jobs_unknown
+ group_id group_name job_threads user_name
+ group_date_end
+ group_status
+ group_jobs
+ group_jobs_finished group_jobs_failed group_jobs_cancelled group_jobs_unknown
);
@head=qw(
- group_id
- group_name
- threads
- user_name
- date_end
- group_status
- jobs
- finished
- failed
- cancelled
- unknown
+ group_id group_name threads user_name
+ date_end
+ group_status
+ jobs
+ finished failed cancelled unknown
);
- $out .= 'Finished Groups (last 7 days)
';
-
$sth=$dbh->prepare('SELECT '.join(',',@cols).' FROM mxq_group WHERE '.$sql_clause.' AND (group_jobs_running=0 AND group_jobs_inq=0) AND group_mtime >= DATE_SUB(NOW(),INTERVAL 7 DAY) ORDER BY group_id DESC');
$sth->execute(@$sql_binds);
- $out.=group_table_rows($sth,\@head);
+
+ $out.='';
+ $out.=$q->Tr($q->th(\@head));
+ while (my $row=$sth->fetchrow_arrayref()) {
+ my ($group_id,$group_name,$job_threads,$user_name,$group_date_end,$group_status,
+ $group_jobs,$group_jobs_finished,$group_jobs_failed,$group_jobs_cancelled,$group_jobs_unknown
+ )=@$row;
+
+ $out.=$q->Tr(
+ $q->td({class=>'number'},$q->a({href=>selfurl("/group/$group_id")},$group_id)),
+ $q->td($group_name),
+ $q->td({class=>'number'},$job_threads),
+ $q->td($q->a({href=>my_url('groups',{user_name=>$user_name})},$user_name)),
+ $q->td($group_date_end),
+ $q->td(group_status($group_status)),
+ $q->td({class=>'number'},$group_jobs),
+ $q->td({class=>'number'},$group_jobs_finished),
+ $q->td({class=>'number'},$group_jobs_failed),
+ $q->td({class=>'number'},$group_jobs_cancelled),
+ $q->td({class=>'number'},$group_jobs_unknown)
+ );
+ }
+ $out.='
';
return $out;
}