added actionlist_template to display action list consistently on different pages
[monitor.git] / web / MonitorWeb / monitorweb / templates / detailview.kid
index 5881d98..14639f8 100644 (file)
@@ -145,16 +145,17 @@ from links import *
                                        <th>History (scan)</th>
                                        <th>Status Since</th>
                                        <th>Hostname</th>
-                                       <th>DNS</th>
+                                       <th>Resolves?</th>
                                        <th>SSH</th>
                                        <th>last_contact (cached)</th>
                                        <th>Last Checked</th>
                                        <th nowrap='true'>Port Status</th>
-                                       <th>Firewall</th>
+                                       <th>Blocked Ports?</th>
                                </tr>
                        </thead>
                        <tbody>
-                               <tr py:for="i,agg in enumerate(nodequery)" class="${i%2 and 'odd' or 'even'}" >
+                               <span py:for="i,agg in enumerate(nodequery)">
+                               <tr class="${i%2 and 'odd' or 'even'}" >
                                        <td><a href="nodehistory?hostname=${agg.node.hostname}">status</a>
                                                (<a href="nodescanhistory?hostname=${agg.node.hostname}">scan</a>)</td>
                                        <td id="site-${agg.history.status}" py:content="diff_time(mktime(agg.history.last_changed.timetuple()))"></td>
@@ -171,31 +172,23 @@ from links import *
                                                id="port${state}" py:content="'%s, ' % port">80</span>
                                        </td>
                                        <td py:content="agg.node.firewall"></td>
-                                       <td>
-                                               <!-- TODO: add some values/code to authenticate the operation.  -->
-                                               <!--form action="${link('pcuview', hostname=agg.node.hostname)}" name="externalscan${i}" method='post'>
-                                               <input type='hidden' name='hostname' value='${agg.node.hostname}'/> 
-                                               <input type='hidden' name='type' value='ExternalScan' /> 
-                                               </form>
-                                               <a onclick='document.externalscan${i}.submit();' href="javascript: void(1);">ExternalScan</a-->
-                                       </td>
-                                       <td>
-                                               <!-- TODO: add some values/code to authenticate the operation.  -->
-                                               <!--form action="${link('pcuview', hostname=agg.node.hostname)}" name="internalscan${i}" method='post'>
-                                               <input type='hidden' name='hostname' value='${agg.node.hostname}'/> 
-                                               <input type='hidden' name='type' value='InternalScan' /> 
-                                               </form>
-                                               <a onclick='javascript: document.internalscan${i}.submit();' href="javascript: void(1);">InternalScan</a-->
-                                       </td>
-                                       <td py:if="len(pcuquery) > 0">
-                                               <!-- TODO: add some values/code to authenticate the operation.  -->
-                                               <!--form action="${link('pcuview', pcuid=pcu.plc_pcuid)}" name="reboot${i}" method='post'>
-                                               <input type='hidden' name='hostname' value='${agg.node.hostname}'/> 
-                                               <input type='hidden' name='type' value='Reboot' /> 
-                                               </form>
-                                               <a onclick='javascript: document.reboot${i}.submit();' href="javascript: void(1);">Reboot</a-->
-                                       </td>
                                </tr>
+                               <tr>
+                                       <td></td>
+                                       <th>Kernel:</th>
+                                       <td colspan="3" py:content="agg.kernel"> </td>
+                               </tr>
+                               <tr>
+                                       <td></td>
+                                       <th>DNS Status:</th>
+                                       <td colspan="3"><pre py:content="agg.node.dns_status"> </pre></td>
+                               </tr>
+                               <tr>
+                                       <td></td>
+                                       <th>Traceroute:</th>
+                                       <td colspan="3"><pre py:content="agg.node.traceroute"> </pre></td>
+                               </tr>
+                               </span>
                        </tbody>
                </table>
                <div class="error" py:if="exceptions is not None">
@@ -204,45 +197,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.