Визуальные изменение. Доработки и фиксы багов
This commit is contained in:
@@ -582,14 +582,14 @@ class KubsatFilterForm(forms.Form):
|
||||
queryset=None,
|
||||
label='Диапазоны работы спутника',
|
||||
required=False,
|
||||
widget=forms.SelectMultiple(attrs={'class': 'form-select', 'size': '4'})
|
||||
widget=forms.SelectMultiple(attrs={'class': 'form-select', 'size': '5'})
|
||||
)
|
||||
|
||||
polarization = forms.ModelMultipleChoiceField(
|
||||
queryset=Polarization.objects.all().order_by('name'),
|
||||
label='Поляризация',
|
||||
required=False,
|
||||
widget=forms.SelectMultiple(attrs={'class': 'form-select', 'size': '4'})
|
||||
widget=forms.SelectMultiple(attrs={'class': 'form-select', 'size': '5'})
|
||||
)
|
||||
|
||||
frequency_min = forms.FloatField(
|
||||
@@ -620,7 +620,7 @@ class KubsatFilterForm(forms.Form):
|
||||
queryset=Modulation.objects.all().order_by('name'),
|
||||
label='Модуляция',
|
||||
required=False,
|
||||
widget=forms.SelectMultiple(attrs={'class': 'form-select', 'size': '4'})
|
||||
widget=forms.SelectMultiple(attrs={'class': 'form-select', 'size': '5'})
|
||||
)
|
||||
|
||||
object_type = forms.ModelMultipleChoiceField(
|
||||
@@ -637,11 +637,18 @@ class KubsatFilterForm(forms.Form):
|
||||
widget=forms.SelectMultiple(attrs={'class': 'form-select', 'size': '3'})
|
||||
)
|
||||
|
||||
objitem_count = forms.ChoiceField(
|
||||
choices=[('', 'Все'), ('1', '1'), ('2+', '2 и более')],
|
||||
label='Количество привязанных точек ГЛ',
|
||||
objitem_count_min = forms.IntegerField(
|
||||
label='Количество привязанных точек ГЛ от',
|
||||
required=False,
|
||||
widget=forms.RadioSelect()
|
||||
min_value=0,
|
||||
widget=forms.NumberInput(attrs={'class': 'form-control', 'placeholder': 'От'})
|
||||
)
|
||||
|
||||
objitem_count_max = forms.IntegerField(
|
||||
label='Количество привязанных точек ГЛ до',
|
||||
required=False,
|
||||
min_value=0,
|
||||
widget=forms.NumberInput(attrs={'class': 'form-control', 'placeholder': 'До'})
|
||||
)
|
||||
|
||||
# Фиктивные фильтры
|
||||
@@ -966,6 +973,26 @@ class SourceRequestForm(forms.ModelForm):
|
||||
})
|
||||
)
|
||||
|
||||
# Дополнительные поля для координат объекта
|
||||
coords_object_lat = forms.FloatField(
|
||||
required=False,
|
||||
label='Широта объекта',
|
||||
widget=forms.NumberInput(attrs={
|
||||
'class': 'form-control',
|
||||
'step': '0.000001',
|
||||
'placeholder': 'Например: 55.751244'
|
||||
})
|
||||
)
|
||||
coords_object_lon = forms.FloatField(
|
||||
required=False,
|
||||
label='Долгота объекта',
|
||||
widget=forms.NumberInput(attrs={
|
||||
'class': 'form-control',
|
||||
'step': '0.000001',
|
||||
'placeholder': 'Например: 37.618423'
|
||||
})
|
||||
)
|
||||
|
||||
class Meta:
|
||||
from .models import SourceRequest
|
||||
model = SourceRequest
|
||||
@@ -1101,6 +1128,9 @@ class SourceRequestForm(forms.ModelForm):
|
||||
if self.instance.coords_source:
|
||||
self.fields['coords_source_lat'].initial = self.instance.coords_source.y
|
||||
self.fields['coords_source_lon'].initial = self.instance.coords_source.x
|
||||
if self.instance.coords_object:
|
||||
self.fields['coords_object_lat'].initial = self.instance.coords_object.y
|
||||
self.fields['coords_object_lon'].initial = self.instance.coords_object.x
|
||||
|
||||
def _fill_from_source(self, source):
|
||||
"""Заполняет поля формы данными из источника и его связанных объектов."""
|
||||
@@ -1149,6 +1179,15 @@ class SourceRequestForm(forms.ModelForm):
|
||||
elif coords_source_lat is None and coords_source_lon is None:
|
||||
instance.coords_source = None
|
||||
|
||||
# Обрабатываем координаты объекта
|
||||
coords_object_lat = self.cleaned_data.get('coords_object_lat')
|
||||
coords_object_lon = self.cleaned_data.get('coords_object_lon')
|
||||
|
||||
if coords_object_lat is not None and coords_object_lon is not None:
|
||||
instance.coords_object = Point(coords_object_lon, coords_object_lat, srid=4326)
|
||||
elif coords_object_lat is None and coords_object_lon is None:
|
||||
instance.coords_object = None
|
||||
|
||||
if commit:
|
||||
instance.save()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user