Update last_seen on Ground Stations on Job object view
parent
74cccdbe43
commit
990c71cbda
|
@ -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
|
||||
|
|
|
@ -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):
|
||||
|
|
|
@ -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')
|
||||
|
|
Loading…
Reference in New Issue