1
0
Fork 0
satnogs-db/db/templates/base/satellite.html

375 lines
19 KiB
HTML

{% extends "base/home.html" %}
{% load tags %}
{% load staticfiles %}
{% block title %} - Suggest{% endblock %}
{% block top %}{% endblock %}
{% block content %}
<!-- Satellite Overview Section -->
<div class="row">
<div class="col-md-12 satellite-panels">
<div class="panel panel-default panel-satellite">
<div class="panel-heading">
<div class="satellite-title">
{{ satellite }}
</div>
</div>
<div class="row panel-body">
<div class="col-md-3 panel-satellite">
<div>
{{ satellite.names }}
</div>
<div>
<img src="{{ satellite.get_image }}" alt="{{ satellite.name }}" class="satellite-img-full">
</div>
</div>
</div>
</div>
</div>
</div>
<!-- Transmitters Section -->
<div class="row">
<div class="col-md-12 satellite-panels">
<div class="panel panel-default panel-satellite">
<div class="panel-heading">
<div class="satellite-title">
Transmitters
</div>
</div>
<div class="row panel-body">
<div class="col-md-3 panel-satellite">
{% if suggestions %}
<div class="suggestions-counter label label-primary">
{{ suggestions.count }} suggestion{{ suggestions.count|pluralize }} pending
</div>
{% endif %}
<div>
<button type="button"
class="btn btn-primary"
data-toggle="modal" data-target="#NewSuggestionModal">
Suggest New Transmitter
</button>
</div>
</div>
<div class="col-md-9">
<div class="row">
{% for transmitter in satellite.transmitters.all %}
<div class="col-md-6">
<div class="panel {% if transmitter.alive %}panel-primary{% else %}panel-danger{% endif %} panel-transmitter">
<div class="panel-heading">
<h3 class="panel-title">
<span class="transmitter-title">{{ transmitter.description }}</span>
<button type="button"
class="btn btn-default btn-sm pull-right suggest-transmitter"
data-toggle="modal"
data-target="#EditSuggestionModal-{{ transmitter.id }}">
<span class="glyphicon glyphicon-edit" title="Suggest edits"></span>
</button>
</h3>
</div>
<div class="row panel-body">
<div class="col-md-12">
{% if transmitter.alive %}
{% include "includes/field.html" with name="Alive" value=transmitter.alive %}
{% endif %}
{% if transmitter.mode %}
{% include "includes/field.html" with name="Mode" value=transmitter.mode %}
{% endif %}
{% if transmitter.invert %}
{% include "includes/field.html" with name="Invert" value=transmitter.invert %}
{% endif %}
{% if transmitter.baud %}
{% include "includes/field.html" with name="Baud" value=transmitter.baud %}
{% endif %}
{% if transmitter.uplink_low %}
{% include "includes/field.html" with name="Uplink Low" value=transmitter.uplink_low|frq %}
{% endif %}
{% if transmitter.uplink_high %}
{% include "includes/field.html" with name="Uplink High" value=transmitter.uplink_high|frq %}
{% endif %}
{% if transmitter.downlink_low %}
{% include "includes/field.html" with name="Downlink Low" value=transmitter.downlink_low|frq %}
{% endif %}
{% if transmitter.downlink_high %}
{% include "includes/field.html" with name="Downlink High" value=transmitter.downlink_high|frq %}
{% endif %}
</div>
</div>
</div>
<!-- Edit Suggestion Modal -->
<div class="modal fade" id="EditSuggestionModal-{{ transmitter.id }}" tabindex="-1" role="dialog" aria-labelledby="EditSuggestionModalLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
<h4 class="modal-title" id="EditSuggestionModalLabel">Suggest an edit to this Transmitter</h4>
</div>
{% if request.user.is_authenticated %}
<form action="{% url 'suggestion' %}" method="post" id="editsuggestion-form">{% csrf_token %}
<div class="modal-body">
<div class="input-group transmitter-element-suggest">
<div class="input-group-addon">Description</div>
<input type="text" class="form-control" name="description" value="{{ transmitter.description }}">
</div>
<div class="input-group transmitter-element-suggest">
<input type="checkbox" value="1" name="alive" {% if transmitter.alive %}checked{% endif %}> Alive
</div>
<div class="input-group transmitter-element-suggest">
<div class="input-group-addon">Uplink Low</div>
<input type="number" class="form-control" name="uplink_low" value="{{ transmitter.uplink_low|default_if_none:'' }}">
</div>
<div class="input-group transmitter-element-suggest">
<div class="input-group-addon">Uplink High</div>
<input type="number" class="form-control" name="uplink_high" value="{{ transmitter.uplink_high|default_if_none:'' }}">
</div>
<div class="input-group transmitter-element-suggest">
<div class="input-group-addon">Downlink Low</div>
<input type="number" class="form-control" name="downlink_low" value="{{ transmitter.downlink_low|default_if_none:'' }}">
</div>
<div class="input-group transmitter-element-suggest">
<div class="input-group-addon">Downlink High</div>
<input type="number" class="form-control" name="downlink_high" value="{{ transmitter.downlink_high|default_if_none:'' }}">
</div>
<div class="input-group transmitter-element-suggest">
<div class="input-group-addon">Mode</div>
<select class="form-control" name="mode">
<option value="" selected></option>
{% for mode in modes %}
<option value="{{ mode.id }}" {% ifequal transmitter.mode mode %}selected{% endifequal %}>
{{ mode }}
</option>
{% endfor %}
</select>
</div>
<div class="input-group transmitter-element-suggest">
<input type="checkbox" value="1" name="invert" {% if transmitter.invert %}checked{% endif %}> Invert
</div>
<div class="input-group transmitter-element-suggest">
<div class="input-group-addon">Baud Rate</div>
<input type="number" class="form-control" name="baud" value="{{ transmitter.baud|default_if_none:'' }}">
</div>
<div class="input-group transmitter-element-suggest">
<div class="input-group-addon">Citation URL</div>
<input type="text" class="form-control" name="citation" required>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
<button type="submit" class="btn btn-primary">Send</button>
</div>
<input type="hidden" name="transmitter" value="{{ transmitter.pk }}">
<input type="hidden" name="satellite" value="{{ satellite.pk }}">
</form>
{% else %}
<div class="modal-body">
<div class="text-danger">You need to login first to add a new suggestion.</div>
</div>
<div class="modal-footer">
<button class="btn btn-default" data-dismiss="modal">Close</button>
<a href="{% url 'account_login' %}" class="btn btn-primary">Log In</a>
</div>
{% endif %}
</div>
</div>
</div>
</div>
{% if forloop.counter|divisibleby:2 %}
</div>
{% if not loop.last %}
<div class="row">
{% endif %}
{% endif %}
{% empty %}
<div class="row panel-body">
<div class="col-md-12">
<span class="text-danger">No approved transmitters yet for this Satellite.</span>
</div>
</div>
{% endfor %}
</div>
{% if request.user.is_superuser %}
<hr>
<div class="row">
{% for suggestion in suggestions %}
<div class="col-md-6">
<div class="panel panel-{% if suggestion.transmitter %}info{% else %}warning{% endif %} panel-transmitter">
<div class="panel-heading">
<h3 class="panel-title">
<span class="transmitter-title">{{ suggestion.description }}</span>
<a type="button" href="{% url 'admin:base_suggestion_change' suggestion.id %}"
target="_blank" title="Edit on admin"
class="btn btn-default btn-sm pull-right suggest-transmitter">
<span class="glyphicon glyphicon-wrench" ></span>
</a>
</h3>
</div>
<div class="row panel-body">
<div class="col-md-12">
{% if suggestion.alive %}
{% include "includes/field.html" with name="Alive" value=suggestion.alive original=suggestion.transmitter.alive %}
{% endif %}
{% if suggestion.mode %}
{% include "includes/field.html" with name="Mode" value=suggestion.mode original=suggestion.transmitter.mode %}
{% endif %}
{% if suggestion.invert %}
{% include "includes/field.html" with name="Invert" value=suggestion.invert original=suggestion.transmitter.invert %}
{% endif %}
{% if suggestion.baud %}
{% include "includes/field.html" with name="Baud" value=suggestion.baud original=suggestion.transmitter.baud %}
{% endif %}
{% if suggestion.uplink_low %}
{% include "includes/field.html" with name="Uplink Low" value=suggestion.uplink_low|frq original=suggestion.transmitter.uplink_low|frq %}
{% endif %}
{% if suggestion.uplink_high %}
{% include "includes/field.html" with name="Uplink High" value=suggestion.uplink_high|frq original=suggestion.transmitter.uplink_high|frq %}
{% endif %}
{% if suggestion.downlink_low %}
{% include "includes/field.html" with name="Downlink Low" value=suggestion.downlink_low|frq original=suggestion.transmitter.downlink_low|frq %}
{% endif %}
{% if suggestion.downlink_high %}
{% include "includes/field.html" with name="Downlink High" value=suggestion.downlink_high|frq original=suggestion.transmitter.downlink_high|frq %}
{% endif %}
{% if suggestion.citation %}
{% include "includes/field.html" with name="Citation" value=suggestion.citation|urlizetrunc:35 %}
{% endif %}
</div>
</div>
</div>
</div>
{% if forloop.counter|divisibleby:2 %}
</div>
{% if not loop.last %}
<div class="row">
{% endif %}
{% endif %}
{% endfor %}
</div>
{% endif %}
</div>
</div>
</div>
</div>
</div>
<!-- Telemetry Section -->
<div class="row">
<div class="col-lg-12 col-md-12 col-sm-12 col-xs-12 satellite-panels">
<div class="panel panel-default panel-satellite">
<div class="panel-heading">
<div class="satellite-title" id="telemetry-block" data-satid="{{ satellite.norad_cat_id }}">
Telemetry
</div>
</div>
<div class="row panel-body">
<div class="panel-satellite chart">
<div class="col-md-3 panel-satellite">
<ul id="telemetry-descriptors">
</ul>
</div>
<div class="col-lg-9 col-md-9 col-sm-9 col-xs-12">
</div>
</div>
</div>
</div>
</div>
</div>
<script id="telemetryDescriptorsTemplate" type="text/template">
<li class="list-group-item active telemetry-key" id="<%- key %>"><%- description %></li>
</script>
<!-- Suggestion Modal -->
<div class="modal fade" id="NewSuggestionModal" tabindex="-1" role="dialog" aria-labelledby="NewSuggestionModalLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
<h4 class="modal-title" id="NewSuggestionModalLabel">Suggest a new Transmitter</h4>
</div>
{% if request.user.is_authenticated %}
<form action="{% url 'suggestion' %}" method="post" id="newsuggestion-form">{% csrf_token %}
<div class="modal-body">
<div class="input-group transmitter-element-suggest">
<div class="input-group-addon">Description</div>
<input type="text" class="form-control" name="description">
</div>
<div class="input-group transmitter-element-suggest">
<input type="checkbox" value="1" name="alive" checked> Alive
</div>
<div class="input-group transmitter-element-suggest">
<div class="input-group-addon">Uplink_Low</div>
<input type="number" class="form-control" name="uplink_low">
</div>
<div class="input-group transmitter-element-suggest">
<div class="input-group-addon">Uplink High</div>
<input type="number" class="form-control" name="uplink_high">
</div>
<div class="input-group transmitter-element-suggest">
<div class="input-group-addon">Downlink Low</div>
<input type="number" class="form-control" name="downlink_low">
</div>
<div class="input-group transmitter-element-suggest">
<div class="input-group-addon">Downlink High</div>
<input type="number" class="form-control" name="downlink_high">
</div>
<div class="input-group transmitter-element-suggest">
<div class="input-group-addon">Mode</div>
<select class="form-control" name="mode">
<option value="" selected></option>
{% for mode in modes %}
<option value="{{ mode.id }}">
{{ mode }}
</option>
{% endfor %}
</select>
</div>
<div class="input-group transmitter-element-suggest">
<input type="checkbox" value="1" name="invert"> Invert
</div>
<div class="input-group transmitter-element-suggest">
<div class="input-group-addon">Baud Rate</div>
<input type="number" class="form-control" name="baud">
</div>
<div class="input-group transmitter-element-suggest">
<div class="input-group-addon">Citation URL</div>
<input type="url" class="form-control" name="citation" required>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
<button type="submit" class="btn btn-primary">Send</button>
</div>
<input type="hidden" name="satellite" value="{{ satellite.pk }}">
</form>
{% else %}
<div class="modal-body">
<div class="text-danger">You need to login first to add a new suggestion.</div>
</div>
<div class="modal-footer">
<button class="btn btn-default" data-dismiss="modal">Close</button>
<a href="{% url 'account_login' %}" class="btn btn-primary">Log In</a>
</div>
{% endif %}
</div>
</div>
</div>
{% endblock %}
{% block javascript %}
<script src="{% static 'lib/underscore/underscore-min.js' %}"></script>
<script src="{% static 'lib/backbone/backbone-min.js' %}"></script>
<script src="{% static 'lib/d3/d3.min.js' %}"></script>
<script src="{% static 'js/app.backbone.js' %}"></script>
{% endblock %}