Changeset 119 for trunk/web


Ignore:
Timestamp:
06/01/05 10:24:23 (19 years ago)
Author:
bastiaans
Message:

web/addons/toga/overview.php, web/addons/toga/index.php, web/addons/toga/templates/overview.tpl:

  • Added clickable filters to joblist
Location:
trunk/web/addons/toga
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/web/addons/toga/index.php

    r117 r119  
    1919$view = $httpvars->getHttpVar( "view" );
    2020
     21$filter = array();
     22
    2123if( !isset($view) ) $view = "overview";
    2224if( !isset($sortorder) ) $sortorder = "asc";
    2325if( !isset($sortby) ) $sortby = "id";
     26if( isset($id) && ($id!='')) $filter[id]=$id;
     27if( isset($state) && ($state!='')) $filter[state]=$state;
     28if( isset($user) && ($user!='')) $filter[user]=$user;
     29if( isset($queue) && ($queue!='')) $filter[queue]=$queue;
    2430
    2531function makeHeader() {
     
    2935        global $page, $gridwalk, $clustername;
    3036        global $parentgrid, $physical, $hostname;
    31         global $self;
     37        global $self, $filter;
    3238
    3339        if ( $context == "control" && $controlroom < 0 )
     
    115121        # Show grid.
    116122        $mygrid =  ($self == "unspecified") ? "" : $self;
    117         $node_menu .= "<B>$mygrid $meta_designator</A> ";
     123        $node_menu .= "<B>$mygrid $meta_designator</B> ";
    118124        $node_menu .= "<B>&gt;</B>\n";
    119125
     
    123129        if ( $clustername ) {
    124130                $url = rawurlencode($clustername);
    125                 $node_menu .= "<B>$clustername</B> ";
     131                $node_menu .= "<B><A HREF=\"./?c=".rawurlencode($clustername)."\">$clustername</A></B> ";
    126132                //$node_menu .= "<B>&gt;</B>\n";
    127133                $node_menu .= hiddenvar("c", $clustername);
     134        }
     135
     136        if( count( $filter ) > 0 ) {
     137
     138                foreach( $filter as $filtername => $filterval ) {
     139
     140                        $node_menu .= "<B>&gt;</B>\n";
     141                        $node_menu .= "<B>'$filtername': $filterval</B> ";
     142                }
    128143        }
    129144
     
    172187}
    173188
    174 //function makeOverview() {
    175 //
    176 //      global $jobs, $nodes, $heartbeat, $clustername;
    177 
    178 //      foreach( $jobs as $jobid => $jobattrs ) {
    179 //
    180 //              $report_time = $jobattrs[reported];
    181 
    182 //              if( $report_time == $heartbeat ) {
    183 
    184 //                      $tpl->newBlock("node");
    185 //                      $tpl->assign( "clustername", $clustername );
    186 //                      $tpl->assign("id", $jobid );
    187 //                      $tpl->assign("state", $jobattrs[status] );
    188 //                      $tpl->assign("user", $jobattrs[owner] );
    189 //                      $tpl->assign("queue", $jobattrs[queue] );
    190 //                      $tpl->assign("name", $jobattrs[name] );
    191 //                      $tpl->assign("req_cpu", $jobattrs[requested_time] );
    192 //                      $tpl->assign("req_memory", $jobattrs[requested_memory] );
    193 //                      $nodes = count( $jobattrs[nodes] );
    194 //                      $ppn = (int) $jobattrs[ppn] ? $jobattrs[ppn] : 1;
    195 //                      $cpus = $nodes * $ppn;
    196 //                      $tpl->assign("nodes", $nodes );
    197 //                      $tpl->assign("cpus", $cpus );
    198 //                      $start_time = (int) $jobattrs[start_timestamp];
    199 
    200 //                      if( $start_time ) {
    201 
    202 //                              $runningtime = makeTime( $report_time - $start_time );
    203 //                              $tpl->assign("started", makeDate( $start_time ) );
    204 //                              $tpl->assign("runningtime", $runningtime );
    205 //                      }
    206 //              }
    207 //      }
    208 //}
    209 
    210189$tpl = new TemplatePower( "templates/index.tpl" );
    211190
  • trunk/web/addons/toga/overview.php

    r118 r119  
    11<?php
    2 global $GANGLIA_PATH, $clustername, $tpl;
     2global $GANGLIA_PATH, $clustername, $tpl, $filter;
    33
    44$data_gatherer = new DataGatherer();
     
    1313$jobs = $data_gatherer->getJobs();
    1414$nodes = $data_gatherer->getNodes();
     15
     16foreach( $filter as $filtername => $filtervalue ) {
     17        $tpl->assign( "f_".$filtername, $filtervalue );
     18}
    1519
    1620$tpl->assign("heartbeat", makeDate( $heartbeat ) );
     
    285289
    286290        global $jobs, $nodes, $heartbeat, $clustername, $tpl;
    287         global $sortorder, $sortby;
     291        global $sortorder, $sortby, $filter;
    288292
    289293        $tpl->assign("sortorder", $sortorder );
     
    300304                if( $report_time == $heartbeat ) {
    301305
    302                         $tpl->newBlock("node");
    303                         $tpl->assign( "clustername", $clustername );
    304                         $tpl->assign("id", $jobid );
    305                         $tpl->assign("state", $jobs[$jobid][status] );
    306                         $tpl->assign("user", $jobs[$jobid][owner] );
    307                         $tpl->assign("queue", $jobs[$jobid][queue] );
    308                         $tpl->assign("name", $jobs[$jobid][name] );
    309                         $tpl->assign("req_cpu", $jobs[$jobid][requested_time] );
    310                         $tpl->assign("req_memory", $jobs[$jobid][requested_memory] );
    311                         $nodes = count( $jobs[$jobid][nodes] );
    312                         $ppn = (int) $jobs[$jobid][ppn] ? $jobs[$jobid][ppn] : 1;
    313                         $cpus = $nodes * $ppn;
    314                         $tpl->assign("nodes", $nodes );
    315                         $tpl->assign("cpus", $cpus );
    316                         $start_time = (int) $jobs[$jobid][start_timestamp];
    317 
    318                         if( $even ) {
    319 
    320                                 $tpl->assign("nodeclass", "even");
    321                                 $even = 0;
    322                         } else {
    323 
    324                                 $tpl->assign("nodeclass", "odd");
    325                                 $even = 1;
     306                        if( count( $filter ) == 0 )
     307                                $display_job = 1;
     308                        else
     309                                $display_job = 0;
     310
     311                        foreach( $filter as $filtername=>$filtervalue ) {
     312
     313                                if( $filtername == 'id' && $jobid == $filtervalue )
     314                                        $display_job = 1;
     315                                else if( $filtername == 'state' && $jobs[$jobid][status] == $filtervalue )
     316                                        $display_job = 1;
     317                                else if( $filtername == 'queue' && $jobs[$jobid][queue] == $filtervalue )
     318                                        $display_job = 1;
     319                                else if( $filtername == 'user' && $jobs[$jobid][owner] == $filtervalue )
     320                                        $display_job = 1;
    326321                        }
    327322
    328                         if( $start_time ) {
    329 
    330                                 $runningtime = makeTime( $report_time - $start_time );
    331                                 $tpl->assign("started", makeDate( $start_time ) );
    332                                 $tpl->assign("runningtime", $runningtime );
     323                        if( $display_job ) {
     324
     325                                $tpl->newBlock("node");
     326                                $tpl->assign( "clustername", $clustername );
     327                                $tpl->assign("id", $jobid );
     328                                $tpl->assign("state", $jobs[$jobid][status] );
     329                                $tpl->assign("user", $jobs[$jobid][owner] );
     330                                $tpl->assign("queue", $jobs[$jobid][queue] );
     331                                $tpl->assign("name", $jobs[$jobid][name] );
     332                                $tpl->assign("req_cpu", $jobs[$jobid][requested_time] );
     333                                $tpl->assign("req_memory", $jobs[$jobid][requested_memory] );
     334                                $nodes = count( $jobs[$jobid][nodes] );
     335                                $ppn = (int) $jobs[$jobid][ppn] ? $jobs[$jobid][ppn] : 1;
     336                                $cpus = $nodes * $ppn;
     337                                $tpl->assign("nodes", $nodes );
     338                                $tpl->assign("cpus", $cpus );
     339                                $start_time = (int) $jobs[$jobid][start_timestamp];
     340
     341                                if( $even ) {
     342
     343                                        $tpl->assign("nodeclass", "even");
     344                                        $even = 0;
     345                                } else {
     346
     347                                        $tpl->assign("nodeclass", "odd");
     348                                        $even = 1;
     349                                }
     350
     351                                if( $start_time ) {
     352
     353                                        $runningtime = makeTime( $report_time - $start_time );
     354                                        $tpl->assign("started", makeDate( $start_time ) );
     355                                        $tpl->assign("runningtime", $runningtime );
     356                                }
    333357                        }
    334358                }
  • trunk/web/addons/toga/templates/overview.tpl

    r118 r119  
    3434                document.forms['toga_form'].submit();
    3535        }
     36
     37        function setFilter( filtername, filterval ) {
     38
     39                document.toga_form.id.value = '';
     40                document.toga_form.queue.value = '';
     41                document.toga_form.state.value = '';
     42                document.toga_form.user.value = '';
     43
     44                if( document.toga_form.elements[filtername] ) {
     45                        document.toga_form.elements[filtername].value = filterval;
     46                }
     47
     48                document.forms['toga_form'].submit();
     49        }
    3650</SCRIPT>
    3751
     
    4155<INPUT TYPE="HIDDEN" NAME="sortorder" VALUE="{sortorder}">
    4256<INPUT TYPE="HIDDEN" NAME="c" VALUE="{clustername}">
    43 <INPUT TYPE="HIDDEN" NAME="jobid" VALUE="{jobid}">
     57<INPUT TYPE="HIDDEN" NAME="id" VALUE="{f_id}">
     58<INPUT TYPE="HIDDEN" NAME="queue" VALUE="{f_queue}">
     59<INPUT TYPE="HIDDEN" NAME="state" VALUE="{f_state}">
     60<INPUT TYPE="HIDDEN" NAME="user" VALUE="{f_user}">
    4461
    4562</FORM>
     
    6178<!-- START BLOCK : node -->
    6279  <TR CLASS="{nodeclass}">
    63     <TD><A HREF="">{id}</A></TD>
    64     <TD><A HREF="">{state}</A></TD>
    65     <TD><A HREF="{togasorted}&user={user}">{user}</A></TD>
    66     <TD><A HREF="{togasorted}&queue={queue}">{queue}</A></TD>
     80    <TD><A HREF="#" onClick="setFilter( 'id', '{id}' )">{id}</A></TD>
     81    <TD><A HREF="#" onClick="setFilter( 'state', '{state}' )">{state}</A></TD>
     82    <TD><A HREF="#" onClick="setFilter( 'user', '{user}' )">{user}</A></TD>
     83    <TD><A HREF="#" onClick="setFilter( 'queue', '{queue}' )">{queue}</A></TD>
    6784    <TD>{name}</TD>
    6885    <TD>{req_cpu}</TD>
Note: See TracChangeset for help on using the changeset viewer.