2015-02-14 14:47:31 -07:00
|
|
|
from django.utils.timezone import now
|
|
|
|
|
2014-12-13 10:49:15 -07:00
|
|
|
from rest_framework import viewsets, mixins
|
2014-10-15 13:20:46 -06:00
|
|
|
|
2015-05-06 02:55:54 -06:00
|
|
|
from network.api.perms import StationOwnerCanViewPermission, StationOwnerCanEditPermission
|
|
|
|
from network.api import serializers, filters
|
2014-12-19 06:06:58 -07:00
|
|
|
from network.base.models import (Antenna, Data, Observation, Satellite,
|
|
|
|
Station, Transponder)
|
2014-10-15 13:20:46 -06:00
|
|
|
|
|
|
|
|
2015-05-06 02:55:54 -06:00
|
|
|
class AntennaView(viewsets.ReadOnlyModelViewSet):
|
2014-10-15 13:20:46 -06:00
|
|
|
queryset = Antenna.objects.all()
|
|
|
|
serializer_class = serializers.AntennaSerializer
|
|
|
|
|
|
|
|
|
2015-05-06 02:55:54 -06:00
|
|
|
class StationView(viewsets.ReadOnlyModelViewSet):
|
2014-10-15 13:20:46 -06:00
|
|
|
queryset = Station.objects.all()
|
|
|
|
serializer_class = serializers.StationSerializer
|
|
|
|
|
|
|
|
|
2015-05-06 02:55:54 -06:00
|
|
|
class SatelliteView(viewsets.ReadOnlyModelViewSet):
|
2014-10-15 13:20:46 -06:00
|
|
|
queryset = Satellite.objects.all()
|
|
|
|
serializer_class = serializers.SatelliteSerializer
|
|
|
|
|
|
|
|
|
2015-05-06 02:55:54 -06:00
|
|
|
class TransponderView(viewsets.ReadOnlyModelViewSet):
|
2014-10-15 13:20:46 -06:00
|
|
|
queryset = Transponder.objects.all()
|
|
|
|
serializer_class = serializers.TransponderSerializer
|
|
|
|
|
|
|
|
|
2015-05-06 02:55:54 -06:00
|
|
|
class ObservationView(viewsets.ReadOnlyModelViewSet):
|
2014-10-15 13:20:46 -06:00
|
|
|
queryset = Observation.objects.all()
|
|
|
|
serializer_class = serializers.ObservationSerializer
|
|
|
|
|
|
|
|
|
2015-05-06 02:55:54 -06:00
|
|
|
class DataView(viewsets.ModelViewSet, mixins.UpdateModelMixin):
|
2014-10-15 13:20:46 -06:00
|
|
|
queryset = Data.objects.all()
|
|
|
|
serializer_class = serializers.DataSerializer
|
2014-12-13 10:49:15 -07:00
|
|
|
permission_classes = [
|
|
|
|
StationOwnerCanEditPermission
|
|
|
|
]
|
2015-02-14 07:15:26 -07:00
|
|
|
|
2015-02-14 12:58:11 -07:00
|
|
|
|
|
|
|
class JobView(viewsets.ReadOnlyModelViewSet):
|
|
|
|
queryset = Data.objects.filter(payload='')
|
|
|
|
serializer_class = serializers.JobSerializer
|
2015-05-06 02:55:54 -06:00
|
|
|
filter_class = filters.DataViewFilter
|
2015-02-14 12:58:11 -07:00
|
|
|
filter_fields = ('ground_station')
|
2015-05-06 02:55:54 -06:00
|
|
|
permission_classes = [
|
|
|
|
StationOwnerCanViewPermission
|
|
|
|
]
|
2015-02-14 14:47:31 -07:00
|
|
|
|
|
|
|
def get_queryset(self):
|
|
|
|
return self.queryset.filter(start__gte=now())
|