1
0
Fork 0

Merge pull request #292 from satnogs/fix-filter

Fix regression on observation filtering
merge-requests/385/head 0.8.2
Nikos Roussos 2017-01-28 18:57:10 +02:00 committed by GitHub
commit 0f4cd489c4
3 changed files with 25 additions and 13 deletions

View File

@ -200,15 +200,22 @@ def observation_new(request):
if request.method == 'GET':
filter_form = SatelliteFilterForm(request.GET)
if filter_form.is_valid():
start_date = datetime.strptime(filter_form.cleaned_data['start_date'],
'%Y/%m/%d %H:%M').strftime('%Y-%m-%d %H:%M')
end_date = (datetime.strptime(filter_form.cleaned_data['end_date'], '%Y/%m/%d %H:%M') +
timedelta(minutes=1)).strftime('%Y-%m-%d %H:%M')
start_date = filter_form.cleaned_data['start_date']
end_date = filter_form.cleaned_data['end_date']
ground_station = filter_form.cleaned_data['ground_station']
norad = filter_form.cleaned_data['norad']
if start_date:
start_date = datetime.strptime(start_date,
'%Y/%m/%d %H:%M').strftime('%Y-%m-%d %H:%M')
if end_date:
end_date = (datetime.strptime(end_date, '%Y/%m/%d %H:%M') +
timedelta(minutes=1)).strftime('%Y-%m-%d %H:%M')
obs_filter['exists'] = True
obs_filter['norad'] = filter_form.cleaned_data['norad']
obs_filter['norad'] = norad
obs_filter['start_date'] = start_date
obs_filter['end_date'] = end_date
obs_filter['ground_station'] = filter_form.cleaned_data['ground_station']
obs_filter['ground_station'] = ground_station
else:
obs_filter['exists'] = False

View File

@ -11,11 +11,15 @@ $(document).ready( function(){
var satellite;
var obs_filter = $('#form-obs').data('obs-filter');
var obs_filter_dates = $('#form-obs').data('obs-filter-dates');
var obs_filter_station = $('#form-obs').data('obs-filter-station');
if (obs_filter) {
satellite = $('input[name="satellite"]').val();
ground_station = $('input[name="ground_station"]').val();
} else {
}
if (!obs_filter_dates) {
var minstart = $('#datetimepicker-start').data('date-minstart');
var minend = $('#datetimepicker-end').data('date-minend');
var maxrange = $('#datetimepicker-end').data('date-maxrange');
@ -48,7 +52,7 @@ $(document).ready( function(){
var url = '/prediction_windows/' + satellite + '/' + start_time + '/' + end_time + '/';
if (obs_filter) {
if (obs_filter_station) {
url = '/prediction_windows/' + satellite + '/' + start_time + '/' + end_time + '/' + ground_station + '/';
}

View File

@ -22,13 +22,14 @@
</div>
<form class="form-horizontal" role="form" action="{% url 'base:observation_new' %}"
method="post" data-obs-filter="{{ obs_filter.exists|lower }}" id="form-obs">{% csrf_token %}
method="post" data-obs-filter="{{ obs_filter.exists|lower }}" data-obs-filter-station="{{ obs_filter.ground_station }}"
data-obs-filter-dates="{{ obs_filter.start_date }}" id="form-obs">{% csrf_token %}
<div class="row">
<div class="col-md-6">
<div class="form-group">
<label class="col-sm-3 control-label">Satellite</label>
<div class="col-sm-9">
{% if obs_filter.exists %}
{% if obs_filter.norad %}
{% for satellite in satellites %}
{% ifequal satellite.norad_cat_id obs_filter.norad %}
<input type="text" class="form-control" name="satellite-name"
@ -77,7 +78,7 @@
<div class="col-sm-9">
<div class='input-group date' id="datetimepicker-start"
data-date-minstart="{{ date_min_start }}">
{% if obs_filter.exists %}
{% if obs_filter.start_date %}
<input type="text" class="form-control" name="start-time"
value="{{ obs_filter.start_date}}" readonly>
{% else %}
@ -99,7 +100,7 @@
<div class='input-group date' id="datetimepicker-end"
data-date-maxrange="{{ date_max_range }}"
data-date-minend="{{ date_min_end }}">
{% if obs_filter.exists %}
{% if obs_filter.end_date %}
<input type="text" class="form-control" name="end-time"
value="{{ obs_filter.end_date}}" readonly>
{% else %}
@ -118,7 +119,7 @@
</div>
</div>
{% if obs_filter.exists %}
{% if obs_filter.ground_station %}
<input type="hidden" name="ground_station" value="{{ obs_filter.ground_station }}">
{% endif %}