diff --git a/.env-dist b/.env-dist index 01d4db5..ec8df3e 100644 --- a/.env-dist +++ b/.env-dist @@ -10,3 +10,7 @@ ALLOWED_HOSTS= # Database DATABASE_URL=sqlite:///db.sqlite3 + +# Mapbox +MAPBOX_TOKEN= +MAPBOX_MAP_ID= diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 3fd05f0..56d48e9 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1 +1,5 @@ +# Contributing to SatNOGS Network + +Thank you for your interest in contributing to SatNOGS! + Please read the `Contribution Guidelines` in [satnogs-network documentation](http://docs.satnogs.org/network/contribute.html). diff --git a/README.md b/README.md index e113763..17d6cb3 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,7 @@ # SatNOGS Network -SatNOGS Network is a Django based application, implementing a global scheduling and monitoring network for ground station operations. +SatNOGS Network is a web application, implementing a global scheduling and monitoring network for ground station operations. + It features multiple observers to multiple intrumentation functionality and manages observation jobs and results. ## Install and Contribute @@ -9,4 +10,6 @@ See the [documentation](http://docs.satnogs.org/network/). ## License -[MPL-2.0](LICENSE) +© 2014-2015 [Libre Space Foundation](http://librespacefoundation.org). + +Licensed under the [MPL-2.0](LICENSE). diff --git a/network/base/views.py b/network/base/views.py index 7e40714..451bee2 100644 --- a/network/base/views.py +++ b/network/base/views.py @@ -1,6 +1,7 @@ import ephem from datetime import datetime, timedelta +from django.conf import settings from django.contrib import messages from django.views.decorators.http import require_POST from django.shortcuts import get_object_or_404, render, redirect @@ -22,7 +23,9 @@ def index(request): ctx = { 'latest_observations': observations.filter(end__lt=now()), 'scheduled_observations': observations.filter(end__gte=now()), - 'featured_station': featured_station + 'featured_station': featured_station, + 'mapbox_id': settings.MAPBOX_MAP_ID, + 'mapbox_token': settings.MAPBOX_TOKEN } return render(request, 'base/home.html', ctx) @@ -146,7 +149,9 @@ def station_view(request, id): antennas = Antenna.objects.all() return render(request, 'base/station_view.html', - {'station': station, 'form': form, 'antennas': antennas}) + {'station': station, 'form': form, 'antennas': antennas, + 'mapbox_id': settings.MAPBOX_MAP_ID, + 'mapbox_token': settings.MAPBOX_TOKEN}) @require_POST diff --git a/network/settings/base.py b/network/settings/base.py index bc6105c..bfe9c99 100644 --- a/network/settings/base.py +++ b/network/settings/base.py @@ -161,3 +161,8 @@ DATABASES = {'default': dj_database_url.parse(DATABASE_URL)} REST_FRAMEWORK = { 'DEFAULT_FILTER_BACKENDS': ('rest_framework.filters.DjangoFilterBackend',) } + +# Mapbox API +MAPBOX_GEOCODE_URL = 'https://api.tiles.mapbox.com/v4/geocode/mapbox.places/' +MAPBOX_MAP_ID = getenv('MAPBOX_MAP_ID', '') +MAPBOX_TOKEN = getenv('MAPBOX_TOKEN', '') diff --git a/network/static/css/app.css b/network/static/css/app.css index 73bfdc6..60030f3 100644 --- a/network/static/css/app.css +++ b/network/static/css/app.css @@ -59,6 +59,10 @@ body { font-family:'ClearSans'; } +a:hover { + text-decoration: none; +} + .alert-debug { color: black; background-color: white; @@ -98,6 +102,14 @@ body { margin-right: 5px; } +footer { + margin-bottom: 10px; +} + +.footer-options { + padding: 10px; +} + #main-navbar { margin-top: 2%; } diff --git a/network/static/js/home.js b/network/static/js/home.js index 0b4fd9b..4fc6335 100644 --- a/network/static/js/home.js +++ b/network/static/js/home.js @@ -1,9 +1,16 @@ -L.mapbox.accessToken = 'pk.eyJ1IjoicGllcnJvcyIsImEiOiJhTVZyWmE4In0.kl2j9fi24LDXfB3MNdN76w'; -var map = L.mapbox.map('map', 'pierros.jbf6la1j',{ - zoomControl: false -}).setView([40, 0], 3); - $(document).ready(function() { + 'use strict'; + + var mapboxid = $('div#map').data('mapboxid'); + var mapboxtoken = $('div#map').data('mapboxtoken'); + + L.mapbox.accessToken = mapboxtoken; + L.mapbox.config.FORCE_HTTPS = true; + var map = L.mapbox.map('map', mapboxid, { + zoomControl: false + }).setView([40, 0], 3); + var LocLayer = L.mapbox.featureLayer().addTo(map); + $('#successful a.toggle').click(function (e) { e.preventDefault() $(this).tab('show') diff --git a/network/static/js/station_view.js b/network/static/js/station_view.js index 212cc95..14d38c6 100644 --- a/network/static/js/station_view.js +++ b/network/static/js/station_view.js @@ -3,8 +3,14 @@ $(document).ready(function() { var station_info = $('#station-info').data(); // Init the map - L.mapbox.accessToken = 'pk.eyJ1IjoicGllcnJvcyIsImEiOiJhTVZyWmE4In0.kl2j9fi24LDXfB3MNdN76w'; - var map = L.mapbox.map('map-station', 'pierros.jbf6la1j',{ + 'use strict'; + + var mapboxid = $('div#map-station').data('mapboxid'); + var mapboxtoken = $('div#map-station').data('mapboxtoken'); + + L.mapbox.accessToken = mapboxtoken; + L.mapbox.config.FORCE_HTTPS = true; + var map = L.mapbox.map('map-station', mapboxid,{ zoomControl: false }).setView([station_info.lat, station_info.lng], 6); diff --git a/network/templates/base.html b/network/templates/base.html index 550c09b..ed1e037 100644 --- a/network/templates/base.html +++ b/network/templates/base.html @@ -70,9 +70,18 @@