1234567891011121314151617181920212223242526 |
- from django.views.generic import DetailView
- from django.contrib.auth.mixins import LoginRequiredMixin
- from django.views.decorators.http import require_POST
- from django.http import HttpResponseForbidden, HttpResponse
- from django.conf import settings
- from django.views.decorators.csrf import csrf_exempt
- from .models import Service
- from .utils import fastping_update
- class ServiceDetail(LoginRequiredMixin, DetailView):
- def get_queryset(self):
- adhesions = self.request.user.profile.adhesions.values_list('pk')
- return Service.objects.filter(adhesion__pk__in=adhesions).order_by('service_type')
- @csrf_exempt
- @require_POST
- def fastping(request):
- if request.POST.get('key', None) != settings.FASTPING_KEY:
- return HttpResponseForbidden('Invalid key.')
- if 'fastping' not in request.FILES:
- return HttpResponse(status=400) # Bad Request
- stats = fastping_update(request.FILES['fastping'])
- return HttpResponse(stats + '\n')
|