Доделал таблицу с кубсатом
This commit is contained in:
@@ -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 ''
|
||||
|
||||
Reference in New Issue
Block a user