145 lines
7.8 KiB
HTML
145 lines
7.8 KiB
HTML
{% extends 'base.html' %}
|
|
{% load static %}
|
|
|
|
{% block title %}Test Data Source - Analytics{% endblock %}
|
|
|
|
{% block css %}
|
|
<link href="{% static 'plugins/datatables.net-bs5/css/dataTables.bootstrap5.min.css' %}" rel="stylesheet" />
|
|
{% endblock %}
|
|
|
|
{% block content %}
|
|
<div id="content" class="app-content">
|
|
<div class="container">
|
|
<div class="row justify-content-center">
|
|
<div class="col-xl-10">
|
|
<div class="row">
|
|
<div class="col-xl-9">
|
|
<ul class="breadcrumb">
|
|
<li class="breadcrumb-item"><a href="{% url 'core:dashboard' %}">Dashboard</a></li>
|
|
<li class="breadcrumb-item"><a href="{% url 'analytics:data_source_list' %}">Data Sources</a></li>
|
|
<li class="breadcrumb-item active">Test Data Source</li>
|
|
</ul>
|
|
|
|
<h1 class="page-header">Test Data Source Connection</h1>
|
|
|
|
<div class="card">
|
|
<div class="card-header">
|
|
<h4 class="card-title">Connection Test</h4>
|
|
</div>
|
|
<div class="card-body">
|
|
{% if messages %}
|
|
{% for message in messages %}
|
|
<div class="alert alert-{{ message.tags }} alert-dismissible fade show" role="alert">
|
|
{{ message }}
|
|
<button type="button" class="btn-close" data-bs-dismiss="alert"></button>
|
|
</div>
|
|
{% endfor %}
|
|
{% endif %}
|
|
|
|
<form method="post" class="form-horizontal">
|
|
{% csrf_token %}
|
|
|
|
<div class="row mb-3">
|
|
<label class="col-form-label col-md-3">Data Source</label>
|
|
<div class="col-md-9">
|
|
<select name="data_source_id" class="form-select" required>
|
|
<option value="">Select Data Source</option>
|
|
{% for source in data_sources %}
|
|
<option value="{{ source.id }}">{{ source.name }} ({{ source.connection_type }})</option>
|
|
{% endfor %}
|
|
</select>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="row mb-3">
|
|
<label class="col-form-label col-md-3">Test Query</label>
|
|
<div class="col-md-9">
|
|
<textarea name="test_query" class="form-control" rows="4" placeholder="Enter test query (optional)">SELECT 1 as test</textarea>
|
|
<small class="form-text text-muted">Leave empty to test basic connection</small>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="row">
|
|
<div class="col-md-9 offset-md-3">
|
|
<button type="submit" class="btn btn-primary">
|
|
<i class="fa fa-play me-2"></i>Test Connection
|
|
</button>
|
|
<a href="{% url 'analytics:data_source_list' %}" class="btn btn-secondary ms-2">Cancel</a>
|
|
</div>
|
|
</div>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
|
|
{% if test_result %}
|
|
<div class="card mt-4">
|
|
<div class="card-header">
|
|
<h4 class="card-title">Test Results</h4>
|
|
</div>
|
|
<div class="card-body">
|
|
<div class="row mb-3">
|
|
<div class="col-md-3"><strong>Status:</strong></div>
|
|
<div class="col-md-9">
|
|
{% if test_result.success %}
|
|
<span class="badge bg-success">Connected</span>
|
|
{% else %}
|
|
<span class="badge bg-danger">Failed</span>
|
|
{% endif %}
|
|
</div>
|
|
</div>
|
|
|
|
<div class="row mb-3">
|
|
<div class="col-md-3"><strong>Response Time:</strong></div>
|
|
<div class="col-md-9">{{ test_result.response_time }}ms</div>
|
|
</div>
|
|
|
|
{% if test_result.message %}
|
|
<div class="row mb-3">
|
|
<div class="col-md-3"><strong>Message:</strong></div>
|
|
<div class="col-md-9">{{ test_result.message }}</div>
|
|
</div>
|
|
{% endif %}
|
|
|
|
{% if test_result.data %}
|
|
<div class="row">
|
|
<div class="col-md-3"><strong>Sample Data:</strong></div>
|
|
<div class="col-md-9">
|
|
<pre class="bg-light p-3 rounded">{{ test_result.data|truncatechars:500 }}</pre>
|
|
</div>
|
|
</div>
|
|
{% endif %}
|
|
</div>
|
|
</div>
|
|
{% endif %}
|
|
</div>
|
|
|
|
<div class="col-xl-3">
|
|
<div class="card">
|
|
<div class="card-header">
|
|
<h4 class="card-title">Quick Actions</h4>
|
|
</div>
|
|
<div class="card-body">
|
|
<div class="d-grid gap-2">
|
|
<a href="{% url 'analytics:data_source_list' %}" class="btn btn-outline-primary btn-sm">
|
|
<i class="fa fa-list me-2"></i>All Data Sources
|
|
</a>
|
|
<a href="{% url 'analytics:data_source_create' %}" class="btn btn-outline-success btn-sm">
|
|
<i class="fa fa-plus me-2"></i>Add Data Source
|
|
</a>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
{% endblock %}
|
|
|
|
{% block js %}
|
|
<script src="{% static 'plugins/datatables.net/js/dataTables.min.js' %}"></script>
|
|
<script src="{% static 'plugins/datatables.net-bs5/js/dataTables.bootstrap5.min.js' %}"></script>
|
|
{% endblock %}
|
|
|