1
0
Fork 0

Update last_seen on Ground Stations on Job object view

merge-requests/121/head
Nikos Roussos 2015-05-06 22:12:41 +03:00
parent 74cccdbe43
commit 990c71cbda
3 changed files with 14 additions and 13 deletions

View File

@ -1,3 +1,5 @@
from django.utils.timezone import now
from rest_framework import permissions
@ -12,21 +14,22 @@ class SafeMethodsOnlyPermission(permissions.BasePermission):
class StationOwnerCanViewPermission(permissions.BasePermission):
"""Only the owner can view station jobs"""
def has_object_permission(self, request, view, obj=None):
if obj is None:
can_edit = True
else:
can_edit = request.user == obj.ground_station.owner
return can_edit
def has_object_permission(self, request, view, obj):
can_view = False
if request.user.is_authenticated() and request.user == obj.ground_station.owner:
can_view = True
if can_view:
obj.last_seen = now()
obj.save()
return can_view
class StationOwnerCanEditPermission(permissions.BasePermission):
"""Only the owner can edit station jobs"""
def has_object_permission(self, request, view, obj=None):
def has_object_permission(self, request, view, obj):
if request.method in permissions.SAFE_METHODS:
return True
if obj is None:
can_edit = True
if request.user.is_authenticated() and request.user == obj.ground_station.owner:
return True
else:
can_edit = request.user == obj.ground_station.owner
return can_edit
return False

View File

@ -21,7 +21,6 @@ class StationView(viewsets.ReadOnlyModelViewSet):
class SatelliteView(viewsets.ReadOnlyModelViewSet):
queryset = Satellite.objects.all()
serializer_class = serializers.SatelliteSerializer
#permission_classes = [SafeMethodsOnlyPermission]
class TransponderView(viewsets.ReadOnlyModelViewSet):

View File

@ -12,7 +12,6 @@ class StationAdmin(admin.ModelAdmin):
list_display = ('name', 'owner', 'lng', 'lat', 'qthlocator',
'created_date', 'active', 'state')
list_filter = ('active', 'created')
readonly_fields = ('last_seen', )
def created_date(self, obj):
return obj.created.strftime('%d.%m.%Y, %H:%M')