mwielgoszewski/doorman

View on GitHub
doorman/templates/manage/node.html

Summary

Maintainability
Test Coverage
{% extends "layout.html" %}
{% block content %}

    <div class="body-content">
        <div class="row">
            <div class="col-md-12">
                <h1>{{ node.display_name }} / <a href="{{ url_for('manage.node_activity', node_id=node.id) }}">recent activity</a> / <a href="{{ url_for('manage.node_logs', node_id=node.id) }}">logs</a></h1>

                <div class="row">
                    <div class="col-md-3">

                        <h2>Details</h2>

                        <table class="table-condensed">
                            {% if current_app.config.DOORMAN_CAPTURE_NODE_INFO %}
                            {% for column, label in current_app.config.DOORMAN_CAPTURE_NODE_INFO %}
                            {% if column in node.node_info %}
                            <tr>
                                <th class="text-right">{{ label | lower }}</th>
                                <td>{{ node.node_info[column] | render(column) }}</td>
                            </tr>
                            {% endif %}
                            {% endfor %}
                            {% endif %}
                            <tr>
                                <th class="text-right">last ip address</th>
                                <td>{{ node.last_ip | default('', true) }}</td>
                            </tr>
                            <tr>
                                <th class="text-right">host identifier</th>
                                <td>{{ node.host_identifier }}</td>
                            </tr>
                            <tr>
                                <th class="text-right">enrolled</th>
                                <td>{{ node.enrolled_on }}</td>
                            </tr>
                            <tr>
                                <th class="text-right">last check-in</th>
                                <td>{{ node.last_checkin }}</td>
                            </tr>
                            <tr>
                                <th class="text-right">active</th>
                                <td>
                                    <button class="activate-node glyphicon glyphicon-{{ 'check' if node.is_active else 'unchecked' }}" data-uri="{{ url_for('manage.get_node', node_id=node.id) }}" ></button>
                                </td>
                            </tr>
                        </table>

                    </div><!--./col-md-3-->

                    <div class="col-md-9">

                        <h2>Packs</h2>

                        {% if packs is not defined %}
                        {% set packs = node.packs.all() %}
                        {% endif %}

                        {% if packs %}
                        {% include "tables/packs.html" %}
                        {% else %}

                        <p>No packs currently associated with this node. Use the tag functionality to associate nodes with packs.</p>

                        {% endif %}

                        <h2>Queries</h2>

                        {% if queries is not defined %}
                        {% set queries = node.queries.all() %}
                        {% endif %}

                        {% if queries %}
                        {% include "tables/queries.html" %}
                        {% else %}

                        <p>No queries currently associated with this node. Use the tag functionality to associate nodes with queries.</p>

                        {% endif %}

                        <h2>File Integrity Monitoring</h2>

                        {% if file_paths is not defined %}
                        {% set file_paths = node.file_paths.all() %}
                        {% endif %}

                        {% if file_paths %}
                        <ul>
                            {% for file_path in file_paths %}
                            <li>{{ file_path.category }}</li>
                            <ul>
                                {% for path in file_path.get_paths() %}
                                <li><code>{{ path }}</code></li>
                                {% endfor %}
                            </ul>
                            {% endfor %}
                        </ul>
                        {% else %}

                        <p>No files currently being monitored on this node. Use the tag functionality to associate nodes with file paths to monitor.</p>

                        {% endif %}

                        <h2>Tags</h2>

                        <input class="tagsinput" placeholder="Add tags by typing here" value="{{ node.tags | map(attribute='value') | sort | join(',') }}" data-uri="{{ url_for('manage.tag_node', node_id=node.id) }}">

                    </div><!--./col-md-9-->
                </div><!--./row-->
            </div><!--./col-md-12-->
        </div><!--./row-->
    </div><!--./body-content-->

{% endblock %}