mirror of
https://github.com/netbox-community/netbox.git
synced 2024-05-10 07:54:54 +00:00
121 lines
4.1 KiB
HTML
121 lines
4.1 KiB
HTML
{% extends 'generic/object.html' %}
|
|
{% load static %}
|
|
{% load helpers %}
|
|
{% load plugins %}
|
|
{% load render_table from django_tables2 %}
|
|
{% load i18n %}
|
|
|
|
{% block extra_controls %}
|
|
{% if perms.core.sync_datasource %}
|
|
{% if object.ready_for_sync %}
|
|
<form action="{% url 'core:datasource_sync' pk=object.pk %}" method="post">
|
|
{% csrf_token %}
|
|
<button type="submit" class="btn btn-primary">
|
|
<i class="mdi mdi-sync" aria-hidden="true"></i> {% trans "Sync" %}
|
|
</button>
|
|
</form>
|
|
{% else %}
|
|
<span class="inline-block" tabindex="0" data-bs-toggle="tooltip" data-bs-delay="100" data-bs-placement="bottom">
|
|
<button class="btn btn-primary" disabled>
|
|
<i class="mdi mdi-sync" aria-hidden="true"></i> {% trans "Sync" %}
|
|
</button>
|
|
</span>
|
|
{% endif %}
|
|
{% endif %}
|
|
{% endblock %}
|
|
|
|
{% block content %}
|
|
<div class="row mb-3">
|
|
<div class="col col-md-6">
|
|
<div class="card">
|
|
<h5 class="card-header">{% trans "Data Source" %}</h5>
|
|
<table class="table table-hover attr-table">
|
|
<tr>
|
|
<th scope="row">{% trans "Name" %}</th>
|
|
<td>{{ object.name }}</td>
|
|
</tr>
|
|
<tr>
|
|
<th scope="row">{% trans "Type" %}</th>
|
|
<td>{{ object.get_type_display }}</td>
|
|
</tr>
|
|
<tr>
|
|
<th scope="row">{% trans "Enabled" %}</th>
|
|
<td>{% checkmark object.enabled %}</td>
|
|
</tr>
|
|
<tr>
|
|
<th scope="row">{% trans "Status" %}</th>
|
|
<td>{% badge object.get_status_display bg_color=object.get_status_color %}</td>
|
|
</tr>
|
|
<tr>
|
|
<th scope="row">{% trans "Last synced" %}</th>
|
|
<td>{{ object.last_synced|placeholder }}</td>
|
|
</tr>
|
|
<tr>
|
|
<th scope="row">{% trans "Description" %}</th>
|
|
<td>{{ object.description|placeholder }}</td>
|
|
</tr>
|
|
<tr>
|
|
<th scope="row">{% trans "URL" %}</th>
|
|
<td>
|
|
{% if not object.type.is_local %}
|
|
<a href="{{ object.source_url }}">{{ object.source_url }}</a>
|
|
{% else %}
|
|
{{ object.source_url }}
|
|
{% endif %}
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<th scope="row">{% trans "Ignore rules" %}</th>
|
|
<td>
|
|
{% if object.ignore_rules %}
|
|
<pre>{{ object.ignore_rules }}</pre>
|
|
{% else %}
|
|
{{ ''|placeholder }}
|
|
{% endif %}</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
{% include 'inc/panels/tags.html' %}
|
|
{% include 'inc/panels/comments.html' %}
|
|
{% plugin_left_page object %}
|
|
</div>
|
|
<div class="col col-md-6">
|
|
<div class="card">
|
|
<h5 class="card-header">{% trans "Backend" %}</h5>
|
|
{% with backend=object.backend_class %}
|
|
<table class="table table-hover attr-table">
|
|
{% for name, field in backend.parameters.items %}
|
|
<tr>
|
|
<th scope="row">{{ field.label }}</th>
|
|
{% if name in backend.sensitive_parameters and not perms.core.change_datasource %}
|
|
<td>********</td>
|
|
{% else %}
|
|
<td>{{ object.parameters|get_key:name|placeholder }}</td>
|
|
{% endif %}
|
|
</tr>
|
|
{% empty %}
|
|
<tr>
|
|
<td colspan="2" class="text-muted">
|
|
{% trans "No parameters defined" %}
|
|
</td>
|
|
</tr>
|
|
{% endfor %}
|
|
</table>
|
|
{% endwith %}
|
|
</div>
|
|
{% include 'inc/panels/related_objects.html' %}
|
|
{% include 'inc/panels/custom_fields.html' %}
|
|
{% plugin_right_page object %}
|
|
</div>
|
|
</div>
|
|
<div class="row mb-3">
|
|
<div class="col col-md-12">
|
|
<div class="card">
|
|
<h5 class="card-header">{% trans "Files" %}</h5>
|
|
{% htmx_table 'core:datafile_list' source_id=object.pk %}
|
|
</div>
|
|
{% plugin_full_width_page object %}
|
|
</div>
|
|
</div>
|
|
{% endblock %}
|