Доделал таблицу с кубсатом

This commit is contained in:
2025-12-10 12:29:43 +03:00
parent 8393734dc3
commit d889dc7b2a
10 changed files with 1458 additions and 218 deletions

View File

@@ -27,9 +27,14 @@ class KubsatView(LoginRequiredMixin, FormView):
context['full_width_page'] = True
# Добавляем данные для вкладки заявок
from mainapp.models import SourceRequest
from mainapp.models import SourceRequest, Satellite
# Список спутников для формы создания заявки
context['satellites'] = Satellite.objects.all().order_by('name')
requests_qs = SourceRequest.objects.select_related(
'source', 'source__info', 'source__ownership',
'satellite',
'created_by__user', 'updated_by__user'
).prefetch_related(
'source__source_objitems__parameter_obj__modulation'
@@ -72,6 +77,36 @@ class KubsatView(LoginRequiredMixin, FormView):
requests_list.append(req)
context['requests'] = requests_list
# Сериализуем заявки в JSON для Tabulator
import json
requests_json_data = []
for req in requests_list:
requests_json_data.append({
'id': req.id,
'source_id': req.source_id,
'satellite_name': req.satellite.name if req.satellite else '-',
'status': req.status,
'status_display': req.get_status_display(),
'priority': req.priority,
'priority_display': req.get_priority_display(),
'request_date': req.request_date.strftime('%d.%m.%Y') if req.request_date else '-',
'card_date': req.card_date.strftime('%d.%m.%Y') if req.card_date else '-',
'planned_at': req.planned_at.strftime('%d.%m.%Y %H:%M') if req.planned_at else '-',
'downlink': float(req.downlink) if req.downlink else None,
'uplink': float(req.uplink) if req.uplink else None,
'transfer': float(req.transfer) if req.transfer else None,
'coords_lat': float(req.coords.y) if req.coords else None,
'coords_lon': float(req.coords.x) if req.coords else None,
'region': req.region or '',
'gso_success': req.gso_success,
'kubsat_success': req.kubsat_success,
'coords_source_lat': float(req.coords_source.y) if req.coords_source else None,
'coords_source_lon': float(req.coords_source.x) if req.coords_source else None,
'comment': req.comment or '',
})
context['requests_json'] = json.dumps(requests_json_data, ensure_ascii=False)
context['status_choices'] = SourceRequest.STATUS_CHOICES
context['priority_choices'] = SourceRequest.PRIORITY_CHOICES
context['current_status'] = status or ''