Внёс мелкие правки и фиксы
This commit is contained in:
@@ -37,8 +37,8 @@ class SourceListView(LoginRequiredMixin, View):
|
||||
has_coords_kupsat = request.GET.get("has_coords_kupsat")
|
||||
has_coords_valid = request.GET.get("has_coords_valid")
|
||||
has_coords_reference = request.GET.get("has_coords_reference")
|
||||
has_lyngsat = request.GET.get("has_lyngsat")
|
||||
selected_info = request.GET.getlist("info_id")
|
||||
selected_ownership = request.GET.getlist("ownership_id")
|
||||
objitem_count_min = request.GET.get("objitem_count_min", "").strip()
|
||||
objitem_count_max = request.GET.get("objitem_count_max", "").strip()
|
||||
date_from = request.GET.get("date_from", "").strip()
|
||||
@@ -97,6 +97,10 @@ class SourceListView(LoginRequiredMixin, View):
|
||||
# Get all ObjectInfo for filter
|
||||
object_infos = ObjectInfo.objects.all().order_by("name")
|
||||
|
||||
# Get all ObjectOwnership for filter
|
||||
from ..models import ObjectOwnership
|
||||
object_ownerships = ObjectOwnership.objects.all().order_by("name")
|
||||
|
||||
# Get all satellites that are used as mirrors
|
||||
mirrors = (
|
||||
Satellite.objects.filter(geo_mirrors__isnull=False)
|
||||
@@ -380,18 +384,14 @@ class SourceListView(LoginRequiredMixin, View):
|
||||
elif has_coords_reference == "0":
|
||||
sources = sources.filter(coords_reference__isnull=True)
|
||||
|
||||
# Filter by LyngSat presence
|
||||
if has_lyngsat == "1":
|
||||
sources = sources.filter(source_objitems__lyngsat_source__isnull=False).distinct()
|
||||
elif has_lyngsat == "0":
|
||||
sources = sources.filter(
|
||||
~Q(source_objitems__lyngsat_source__isnull=False)
|
||||
).distinct()
|
||||
|
||||
# Filter by ObjectInfo (info field)
|
||||
if selected_info:
|
||||
sources = sources.filter(info_id__in=selected_info)
|
||||
|
||||
# Filter by ObjectOwnership (ownership field)
|
||||
if selected_ownership:
|
||||
sources = sources.filter(ownership_id__in=selected_ownership)
|
||||
|
||||
# Filter by signal marks
|
||||
if has_signal_mark or mark_date_from or mark_date_to:
|
||||
mark_filter_q = Q()
|
||||
@@ -648,13 +648,15 @@ class SourceListView(LoginRequiredMixin, View):
|
||||
'created_by': str(mark.created_by) if mark.created_by else '-',
|
||||
})
|
||||
|
||||
# Get info name
|
||||
# Get info name and ownership
|
||||
info_name = source.info.name if source.info else '-'
|
||||
ownership_name = source.ownership.name if source.ownership else '-'
|
||||
|
||||
processed_sources.append({
|
||||
'id': source.id,
|
||||
'name': source_name if source_name else '-',
|
||||
'info': info_name,
|
||||
'ownership': ownership_name,
|
||||
'coords_average': coords_average_str,
|
||||
'coords_kupsat': coords_kupsat_str,
|
||||
'coords_valid': coords_valid_str,
|
||||
@@ -682,10 +684,12 @@ class SourceListView(LoginRequiredMixin, View):
|
||||
'has_coords_kupsat': has_coords_kupsat,
|
||||
'has_coords_valid': has_coords_valid,
|
||||
'has_coords_reference': has_coords_reference,
|
||||
'has_lyngsat': has_lyngsat,
|
||||
'selected_info': [
|
||||
int(x) if isinstance(x, str) else x for x in selected_info if (isinstance(x, int) or (isinstance(x, str) and x.isdigit()))
|
||||
],
|
||||
'selected_ownership': [
|
||||
int(x) if isinstance(x, str) else x for x in selected_ownership if (isinstance(x, int) or (isinstance(x, str) and x.isdigit()))
|
||||
],
|
||||
'objitem_count_min': objitem_count_min,
|
||||
'objitem_count_max': objitem_count_max,
|
||||
'date_from': date_from,
|
||||
@@ -696,6 +700,8 @@ class SourceListView(LoginRequiredMixin, View):
|
||||
# ObjItem-level filters
|
||||
'geo_date_from': geo_date_from,
|
||||
'geo_date_to': geo_date_to,
|
||||
'object_infos': object_infos,
|
||||
'object_ownerships': object_ownerships,
|
||||
'satellites': satellites,
|
||||
'selected_satellites': [
|
||||
int(x) if isinstance(x, str) else x for x in selected_satellites if (isinstance(x, int) or (isinstance(x, str) and x.isdigit()))
|
||||
@@ -750,6 +756,9 @@ class SourceUpdateView(LoginRequiredMixin, AdminModeratorMixin, View):
|
||||
def get(self, request, pk):
|
||||
source = get_object_or_404(Source, pk=pk)
|
||||
form = SourceForm(instance=source)
|
||||
form.fields['average_latitude'].disabled = True
|
||||
form.fields['average_longitude'].disabled = True
|
||||
|
||||
|
||||
# Get related ObjItems ordered by creation date
|
||||
objitems = source.source_objitems.select_related(
|
||||
|
||||
Reference in New Issue
Block a user