The satellite modal that was tested in the observation view works
great! This commit adds the similar link everywhere else a
satellite is listed in a table so we have a consistent UX.
In the observation view there is only one satellite referenced,
making the modal a 1:1 mapping. As there are multiple satellites
in the table view we pull this modal in multiple times. To cut
down on possible load times getting out of hand I'm limiting the
number of rows you'll see in the home page and observations view.
I don't quite feel this iterative import approach is the best.
Feel free to decline this if there is a better way (.js it?)
Model change (with migration 0006) adds 3 fields to Data:
vetted_status (charfield with options for data status, default "unknown")
vetted_user (who vetted the data)
vetted_datetime (when it was vetted)
In addition, various boolean functions are added for the Data model
to check statuses. More functions are added to the Observation model
to check status of verification within an observation as well, assuming
multiple data entries in an Observation. With these, I also changed
"has_data" to "has_submitted_data" to be more specific alongside the
others.
For UX, we add a green check sign or red removal sign to the data
header in Observation view (along with green/red datetime in the footer)
if a data is verified good or bad, respectively. If there is an unknown
status, the data header is given a thumbs-up and thumbs-down button to
verify the data good or bad. These icons are only offered to is_staff,
the observation requestor, and any station owner in the observation.
These buttons trigger new URLs/functions in view:
data_verify(id)
data_mark_bad(id)
Returning the user back to the originating Observation page.
In the observation lists I changed the coloring of the ID button to be:
Future: light blue (same)
No uploaded data and/or all vetted bad data: red
Some or all unvetted data with no verified good data: orange
Some or all verified good data: green
These changes are reflected in the observations.html, home.html, and
user_detail.html templates.
solves satnogs/satnogs-network#171
Due to a bug in pyephem when a satellite is overhead it will be
returned as a "next_pass" but with a mix of data between the
current and true next passes. This change tosses out any pass
that is currently overhead from being listed in the "upcoming
observations" list of station view. This should have no adverse
impact to the user as we are assuming the list to be "upcoming"
and not include what is currently overhead, nor would SatNogs be
able to schedule anything currently overhead.
fixessatnogs/satnogs-network#199
This commit adds a "horizon" configuration item to stations. This
allows station owners to set a minimum horizon to avoid a noisy
or obstructed floor level.
The default minimum horizon is set to 10, which is still fairly
low for a satellite pass that could be captured but given the
appropriate setup someone may be successful setting it lower.
The horizon field is honored in both the calculation of upcoming
passes in the station view as well as excluding any "below horizon"
passes in prediction_windows.
In addition, the db migration will set a minimum horizon of "10"
for all existing stations in the network. This is the horizon that
was hard-coded for the upcoming passes view so the only change to
the end user will be the behavior of window prediction matching
the upcoming passes (along with the ability to configure their
minimum horizon, of course).
This change sends all of the upcoming "next passes" for
satellites with operational transmitters to the station_view. In
addition the pass must be at or above 10 degrees and within the
next 6 hours (maybe we want this to be configurable later?).
These are passed as the "nextpasses" array, an array of dicts for
each pass that include the pass details and satellite name & id,
sorted by rise time.
Also adds upcoming passes to station_view
When loading a station, show a table of the upcoming satellite
passes