Răsfoiți Sursa

Closes #2250: Include stat counters on report result navigation

Jeremy Stretch 7 ani în urmă
părinte
comite
b518258e6d

+ 1 - 1
netbox/project-static/css/base.css

@@ -372,7 +372,7 @@ table.reports td.method {
     font-family: monospace;
     font-family: monospace;
     padding-left: 30px;
     padding-left: 30px;
 }
 }
-table.reports td.stats label {
+td.report-stats label {
     display: inline-block;
     display: inline-block;
     line-height: 14px;
     line-height: 14px;
     margin-bottom: 0;
     margin-bottom: 0;

+ 54 - 48
netbox/templates/extras/report.html

@@ -29,67 +29,73 @@
                 <p class="lead">{{ report.description }}</p>
                 <p class="lead">{{ report.description }}</p>
             {% endif %}
             {% endif %}
             {% if report.result %}
             {% if report.result %}
-                <p>Last run: {{ report.result.created }}</p>
-            {% else %}
-                <p class="text-muted">Last run: Never</p>
+                <p>Last run: <strong>{{ report.result.created }}</strong></p>
             {% endif %}
             {% endif %}
-        </div>
-        <div class="col-md-9">
             {% if report.result %}
             {% if report.result %}
-                <table class="table table-hover report">
-                    <thead>
-                        <tr>
-                            <th>Time</th>
-                            <th>Level</th>
-                            <th>Object</th>
-                            <th>Message</th>
-                        </tr>
-                    </thead>
-                    <tbody>
+                <div class="panel panel-default">
+                    <div class="panel-heading">
+                        <strong>Report Methods</strong>
+                    </div>
+                    <table class="table table-hover panel-body">
                         {% for method, data in report.result.data.items %}
                         {% for method, data in report.result.data.items %}
                             <tr>
                             <tr>
-                                <th colspan="4">
-                                    <a name="{{ method }}"></a>{{ method }}
-                                </th>
+                                <td><code><a href="#{{ method }}">{{ method }}</a></code></td>
+                                <td class="text-right report-stats">
+                                    <label class="label label-success">{{ data.success }}</label>
+                                    <label class="label label-info">{{ data.info }}</label>
+                                    <label class="label label-warning">{{ data.warning }}</label>
+                                    <label class="label label-danger">{{ data.failure }}</label>
+                                </td>
                             </tr>
                             </tr>
-                            {% for time, level, obj, url, message in data.log %}
-                                <tr class="{% if level == 'failure' %}danger{% elif level %}{{ level }}{% endif %}">
-                                    <td>{{ time }}</td>
-                                    <td>
-                                        <label class="label label-{% if level == 'failure' %}danger{% else %}{{ level }}{% endif %}">{{ level|title }}</label>
-                                    </td>
-                                    <td>
-                                        {% if obj and url %}
-                                            <a href="{{ url }}">{{ obj }}</a>
-                                        {% elif obj %}
-                                            {{ obj }}
-                                        {% endif %}
-                                    </td>
-                                    <td>{{ message }}</td>
+                        {% endfor %}
+                    </table>
+                </div>
+                <div class="panel panel-default">
+                    <div class="panel-heading">
+                        <strong>Report Results</strong>
+                    </div>
+                    <table class="table table-hover panel-body report">
+                        <thead>
+                            <tr class="table-headings">
+                                <th>Time</th>
+                                <th>Level</th>
+                                <th>Object</th>
+                                <th>Message</th>
+                            </tr>
+                        </thead>
+                        <tbody>
+                            {% for method, data in report.result.data.items %}
+                                <tr>
+                                    <th colspan="4" style="font-family: monospace">
+                                        <a name="{{ method }}"></a>{{ method }}
+                                    </th>
                                 </tr>
                                 </tr>
+                                {% for time, level, obj, url, message in data.log %}
+                                    <tr class="{% if level == 'failure' %}danger{% elif level %}{{ level }}{% endif %}">
+                                        <td>{{ time }}</td>
+                                        <td>
+                                            <label class="label label-{% if level == 'failure' %}danger{% else %}{{ level }}{% endif %}">{{ level|title }}</label>
+                                        </td>
+                                        <td>
+                                            {% if obj and url %}
+                                                <a href="{{ url }}">{{ obj }}</a>
+                                            {% elif obj %}
+                                                {{ obj }}
+                                            {% endif %}
+                                        </td>
+                                        <td>{{ message }}</td>
+                                    </tr>
+                                {% endfor %}
                             {% endfor %}
                             {% endfor %}
-                        {% endfor %}
-                    </tbody>
-                </table>
+                        </tbody>
+                    </table>
+                </div>
             {% else %}
             {% else %}
                 <div class="well">No results are available for this report. Please run the report first.</div>
                 <div class="well">No results are available for this report. Please run the report first.</div>
             {% endif %}
             {% endif %}
         </div>
         </div>
         <div class="col-md-3">
         <div class="col-md-3">
             {% if report.result %}
             {% if report.result %}
-                <div class="panel panel-default">
-                    <div class="panel-heading">
-                        <strong>Methods</strong>
-                    </div>
-                    <ul class="list-group">
-                        {% for method, data in report.result.data.items %}
-                            <li class="list-group-item">
-                                <a href="#{{ method }}">{{ method }}</a>
-                                <span class="badge">{{ data.log|length }}</span>
-                            </li>
-                        {% endfor %}
-                    </ul>
-                </div>
             {% endif %}
             {% endif %}
         </div>
         </div>
     </div>
     </div>

+ 1 - 1
netbox/templates/extras/report_list.html

@@ -38,7 +38,7 @@
                                         <td colspan="3" class="method">
                                         <td colspan="3" class="method">
                                             {{ method }}
                                             {{ method }}
                                         </td>
                                         </td>
-                                        <td class="text-right stats">
+                                        <td class="text-right report-stats">
                                             <label class="label label-success">{{ stats.success }}</label>
                                             <label class="label label-success">{{ stats.success }}</label>
                                             <label class="label label-info">{{ stats.info }}</label>
                                             <label class="label label-info">{{ stats.info }}</label>
                                             <label class="label label-warning">{{ stats.warning }}</label>
                                             <label class="label label-warning">{{ stats.warning }}</label>