Поправил баг с LyngSat и добавил локально библиотеку

This commit is contained in:
2025-11-18 09:36:19 +03:00
parent c0f2f16303
commit 06a39278d2
16 changed files with 5298 additions and 43 deletions

View File

@@ -19,7 +19,7 @@
<div class="alert alert-info" role="alert">
<i class="bi bi-info-circle"></i>
<strong>Информация:</strong> Эта функция автоматически привязывает источники из базы LyngSat к объектам
на основе совпадения частоты (с округлением) и поляризации. Объекты с привязанными источниками LyngSat
на основе совпадения частоты и поляризации. Объекты с привязанными источниками LyngSat
будут отмечены как "ТВ" в списке объектов.
</div>
@@ -67,23 +67,6 @@
</form>
</div>
</div>
<!-- Help section -->
<div class="card mt-4 shadow-sm">
<div class="card-header bg-light">
<h5 class="mb-0">
<i class="bi bi-question-circle"></i> Как это работает?
</h5>
</div>
<div class="card-body">
<ol class="mb-0">
<li>Система округляет частоту каждого объекта до целого числа</li>
<li>Ищет источники LyngSat с той же поляризацией и близкой частотой (в пределах допуска)</li>
<li>При нахождении совпадения создается связь между объектом и источником LyngSat</li>
<li>Объекты с привязанными источниками отображаются как "ТВ" в списке</li>
</ol>
</div>
</div>
</div>
</div>
</div>

View File

@@ -1,10 +1,12 @@
{% extends 'mainapp/base.html' %}
{% load static %}
{% load static leaflet_tags %}
{% block title %}Список объектов{% endblock %}
{% block extra_css %}
<link rel="stylesheet" href="https://unpkg.com/leaflet@1.9.4/dist/leaflet.css" />
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/leaflet.draw/1.0.4/leaflet.draw.css" />
<link href="{% static 'leaflet/leaflet.css' %}" rel="stylesheet">
<link href="{% static 'leaflet-draw/leaflet.draw.css' %}" rel="stylesheet">
<style>
.table-responsive tr.selected {
background-color: #d4edff;

View File

@@ -1285,26 +1285,3 @@ def format_coords_display(point):
return f"{lat} {lon}"
except (AttributeError, IndexError, TypeError):
return '-'
def parse_pagination_params(request):
"""
Parse pagination parameters from request.
Args:
request: Django request object
Returns:
tuple: (page_number, items_per_page)
"""
page_number = request.GET.get("page", 1)
items_per_page = request.GET.get("items_per_page", 50)
try:
items_per_page = int(items_per_page)
if items_per_page not in [50, 100, 500, 1000]:
items_per_page = 50
except (ValueError, TypeError):
items_per_page = 50
return page_number, items_per_page