added actionlist_template to display action list consistently on different pages
[monitor.git] / web / MonitorWeb / monitorweb / templates / simpleview.kid
index 2d6190e..2aa74a3 100644 (file)
@@ -12,6 +12,18 @@ from links import *
          xmlns:mochi="http://www.mochi.org">
 
   <div py:match="item.tag == 'content'">
+  <div py:if="len(sitequery) == 0">
+       <p>Your 'quick jump' query failed to find a matching site or hostname.</p>
+       <p>MyOps recognizes three types of expressions:
+       <ul>
+           <li>Site names, e.g. princeton, utah, nyu, etc</li>
+           <li>Host names, e.g. planetlab-1.cs.princeton.edu, pl1.university.edu, etc</li>
+           <li>Prefix a pattern with "site:" or "node:" to return all sites or
+               nodes that match a pattern.  e.g. site:mlab* node:*redclara*</li>
+       </ul>
+       </p>
+  </div>
+  <div py:if="len(sitequery) != 0">
     <h3 py:if="len(sitequery) > 0">Site Status</h3>
                <table py:if="len(sitequery) > 0" id="sub-table" border="1" width="100%">
                        <thead>
@@ -56,12 +68,12 @@ from links import *
                                        </td>
                                        <td py:content="agg.pcu.plc_pcu_stats['model']"></td>
                                        <td py:content="len(agg.pcu.plc_pcu_stats['node_ids'])"></td>
-                                       <td nowrap="true" width="70em"><a href="${link('detailview', loginbase=site.loginbase)}">More Details</a></td>
+                                       <td nowrap="true" width="70em"><a href="${link('detailview', pcuid=agg.pcu.plc_pcuid)}">More Details</a></td>
                                </tr>
                        </tbody>
                </table>
        <div class="oneline" id="legend" py:if="len(pcuquery) == 0">
-               <em>There are no PCUs associated with this host.</em>
+               <h3>PCUs: None</h3>
        </div>
        <h3>Nodes</h3> 
                <p py:if="len(nodequery) == 0">
@@ -83,7 +95,7 @@ from links import *
                                                        <span class="icon">${agg.node.hostname}</span></a>
                                        </td>
                                        <td py:content="diff_time(mktime(agg.node.date_checked.timetuple()))"></td>
-                                       <td nowrap="true" width="70em"><a href="${link('detailview', loginbase=site.loginbase)}">More Details</a></td>
+                                       <td nowrap="true" width="70em"><a href="${link('detailview', hostname=agg.node.hostname)}">More Details</a></td>
                                </tr>
                        </tbody>
                </table>
@@ -93,46 +105,7 @@ from links import *
                <div id="status_block" class="flash"
             py:if="value_of('tg_flash', None)" py:content="tg_flash"></div>
 
-       <h4>Actions Over the Last ${since} Days</h4>
-               <p py:if="actions and len(actions) == 0">
-                       There are no recent actions taken for this site.
-               </p>
-               <table py:if="actions and len(actions) > 0" id="sortable_table" class="datagrid" border="1" width="100%">
-                       <thead>
-                               <tr>
-                                       <th mochi:format="int"></th>
-                                       <th>Date</th>
-                                       <th>Action taken on</th>
-                                       <th>Action Type</th>
-                                       <th>Message ID</th>
-                                       <th>Errors</th>
-                               </tr>
-                       </thead>
-                       <tbody>
-                               <tr py:for="i,act in enumerate(actions)" class="${i%2 and 'odd' or 'even'}" >
-                                       <td></td>
-                                       <td py:content="act.date_created"></td>
-                                       <td py:if="act.hostname is not None" nowrap="true" >
-                                               <a class="ext-link" href="${plc_node_uri(act.hostname)}">
-                                                       <span class="icon">${act.hostname}</span></a>
-                                       </td>
-                                       <td py:if="act.hostname is None" nowrap="true">
-                                               <a class="ext-link" href="${plc_site_uri(act.loginbase)}">
-                                                       <span class="icon">${act.loginbase}</span></a>
-                                       </td>
-                                       <!--td py : content="diff_time(mktime(node.date_checked.timetuple()))"></td-->
-                                       <td py:content="act.action_type"></td>
-                                       <td><a class="ext-link" href="${plc_mail_uri(act.message_id)}">
-                                                       <span py:if="act.message_id != 0" class="icon">${act.message_id}</span></a></td>
-                                       <td py:if="'bootmanager' in act.action_type or 'unknown' in act.action_type">
-                                               <a href="/monitorlog/bm.${act.hostname}.log">latest bm log</a>
-                                       </td>
-                                       <td py:if="'bootmanager' not in act.action_type">
-                                               <pre py:content="act.error_string"></pre></td>
-                               </tr>
-                       </tbody>
-               </table>
-
+       ${actionlist_widget.display(since=since, actions=actions)}
        <!-- TODO: figure out how to make this conditional by model rather than port;
                                it is convenient to have links to ilo, drac, amt, etc.
                                regardless of whether the last PCU scan was successful.  -->
@@ -177,6 +150,7 @@ from links import *
                        </span>
                </div-->
 
+     </div>
   </div>
 
 </html>