From 81d9b7f29c78e97e967fc56018ac8df55040b378 Mon Sep 17 00:00:00 2001 From: Robert Einsle Date: Thu, 3 Aug 2017 19:52:43 +0200 Subject: [PATCH] add command to process location data --- billard/admin.py | 16 +++++++++++++++- .../admin/billard/locationdata/change_list.html | 10 ++++++++++ billard/urls.py | 2 +- billard/views.py | 4 ++++ test-client.py | 2 +- 5 files changed, 31 insertions(+), 3 deletions(-) create mode 100644 billard/templates/admin/billard/locationdata/change_list.html diff --git a/billard/admin.py b/billard/admin.py index eeff517..aad12ea 100644 --- a/billard/admin.py +++ b/billard/admin.py @@ -1,4 +1,8 @@ -from django.contrib import admin +from django.conf.urls import url +from django.contrib import admin, messages +from django.shortcuts import redirect +from django.template.response import TemplateResponse + from .models import * from django import forms from django.core.exceptions import ValidationError @@ -33,6 +37,16 @@ class ClientAdmin(admin.ModelAdmin): @admin.register(LocationData) class LocationDataAdmin(admin.ModelAdmin): + def get_urls(self): + urls = super().get_urls() + my_urls = [ + url(r'^process_locationdata/$', self.admin_site.admin_view(self.process_locationdata), name='process_locationdata'), + ] + return my_urls + urls + + def process_locationdata(self, request): + messages.success(request, '2739847239847298374982374 Items prozessiert.') + return redirect('admin:billard_locationdata_changelist') list_display = ('client_id', 'desk_no', 'tst', 'on_off', 'processed', 'error_msg') fields = ['client_id', 'desk_no', 'tst', 'on_off', 'processed', 'error_msg'] diff --git a/billard/templates/admin/billard/locationdata/change_list.html b/billard/templates/admin/billard/locationdata/change_list.html new file mode 100644 index 0000000..746f56d --- /dev/null +++ b/billard/templates/admin/billard/locationdata/change_list.html @@ -0,0 +1,10 @@ +{% extends "admin/change_list.html" %} +{% load i18n admin_urls static admin_list %} +{% block object-tools-items %} +
  • + + LD Verarbeiten + +
  • +{{ block.super }} +{% endblock %} \ No newline at end of file diff --git a/billard/urls.py b/billard/urls.py index 79d842e..c9fc1e4 100644 --- a/billard/urls.py +++ b/billard/urls.py @@ -4,7 +4,7 @@ from rest_framework import routers from billard import views router = routers.DefaultRouter() -router.register(r'location_data', views.LocationDataViewSet) +router.register(r'locationdata', views.LocationDataViewSet) app_name = 'billard' urlpatterns = [ diff --git a/billard/views.py b/billard/views.py index 818b3af..ba7a6f1 100644 --- a/billard/views.py +++ b/billard/views.py @@ -1,4 +1,5 @@ import ast +import logging from billard.serializers import LocationDataSerializer from billard.models import LocationData, Location, Client, Accounting @@ -13,6 +14,9 @@ from django.utils.decorators import method_decorator from django.utils import timezone +log = logging.getLogger(__name__) + + class LocationIndexView(generic.ListView): template_name = 'billard/location_index.html' context_object_name = 'location_list' diff --git a/test-client.py b/test-client.py index 2420593..d6bbe66 100644 --- a/test-client.py +++ b/test-client.py @@ -5,7 +5,7 @@ from datetime import datetime import requests -url = 'http://127.0.0.1:8000/billard/api/v1/location_data/' +url = 'http://127.0.0.1:8000/billard/api/v1/locationdata/' client_id = '28a34fa1-7b62-4b78-8d2a-ada4db4ac6ea' token = '588d0f4c4b8b90b507e6d5c0ea26f0e28b021262' default_desk_id = 2