carom-server/billard/admin.py

65 lines
2.4 KiB
Python
Raw Normal View History

2017-01-03 19:26:51 +01:00
from django.contrib import admin
2017-01-03 19:40:35 +01:00
from .models import *
2017-02-11 18:36:32 +01:00
from django import forms
from django.core.exceptions import ValidationError
2017-01-03 19:26:51 +01:00
2017-01-03 19:40:35 +01:00
class LocationAdminForm(forms.ModelForm):
def clean_happy_hour_end(self):
hh_start = self.cleaned_data['happy_hour_start']
hh_end = self.cleaned_data['happy_hour_end']
if hh_start is None and hh_end is not None:
raise ValidationError('Start und Ende Zeit muss angegeben werden')
if hh_start is not None and hh_end is None:
raise ValidationError('Start und Ende Zeit muss angegeben werden')
2017-03-10 19:48:58 +01:00
if hh_start is not None and hh_end is not None and not (hh_end > hh_start):
raise ValidationError('Ende-Zeit muss nach Start-Zeit liegen')
return self.cleaned_data['happy_hour_end']
2017-01-03 19:48:00 +01:00
@admin.register(Location)
2017-01-03 19:40:35 +01:00
class LocationAdmin(admin.ModelAdmin):
form = LocationAdminForm
list_display = ('code', 'name', 'city', 'happy_hour_start', 'happy_hour_end')
fields = ['users', 'code', 'happy_hour_start', 'happy_hour_end', 'name', 'street', 'plz', 'city', 'phone', 'email', 'url', ]
2017-01-03 19:40:35 +01:00
2017-01-03 19:48:00 +01:00
@admin.register(Client)
2017-01-03 19:40:35 +01:00
class ClientAdmin(admin.ModelAdmin):
2017-03-02 21:01:07 +01:00
list_display = ('uuid', 'location', 'report_user')
fields = ['location', 'uuid', 'report_user']
2017-01-06 20:24:36 +01:00
@admin.register(LocationData)
class LocationDataAdmin(admin.ModelAdmin):
2017-02-10 20:49:38 +01:00
list_display = ('client_id', 'desk_no', 'tst', 'on_off', 'processed', 'error_msg')
fields = ['client_id', 'desk_no', 'tst', 'on_off', 'processed', 'error_msg']
2017-02-01 20:25:33 +01:00
2017-02-11 18:36:32 +01:00
class DeskAdminForm(forms.ModelForm):
def clean_desk_no(self):
id = self.instance.id
2017-02-11 20:10:24 +01:00
client = self.cleaned_data['client']
2017-02-11 18:36:32 +01:00
desk_no = self.cleaned_data['desk_no']
t = Desk.objects.filter(desk_no=desk_no, client=client).exclude(id=id)
if t.count() > 0:
raise ValidationError('Tischnummer bereits vergeben.')
return self.cleaned_data['desk_no']
@admin.register(Desk)
class DeskAdmin(admin.ModelAdmin):
2017-02-11 18:36:32 +01:00
form = DeskAdminForm
list_display = ('client', 'desk_no', 'name', 'enabled', 'prize', 'prize_hh')
2017-02-01 20:25:33 +01:00
@admin.register(Accounting)
class AccountingAdmin(admin.ModelAdmin):
2017-04-29 11:15:26 +02:00
list_display = ('desk', 'time_from', 'time_to', 'prize', 'billed', 'account_user', 'account_tst')
list_filter = ('desk__client__location', 'account_user', 'account_tst', 'billed')
def has_add_permission(self, request):
return False