====== C3Cashdesk aka. Postix ======
Zu finden unter:
https://github.com/c3cashdesk/postix
Erfolgreich genutzt für BBQ2018
Was braucht eine Kasse und was sind die Voraussetzungen der Serverseite?
Kassensystem:
* PC oder Raspberry mit $LinuxDistro
* Touchdisplay das unter $LinuxDistro funktioniert (Ubuntu scheint da ganz gut mit Touch zu können! -> Way to go)
* Chromium Webbrowser kann am besten mit Touch umgehen und ist desshalb zu empfehlen
* QR-Code Reader (gute Erfahrungen mit **WBS2001**, ließt schnell auch von Displays und kostet relativ wenig)
* Thermodrucker für Kassenzettel der Einfachheit halber eigenen sich Geräte die "Standard" sind z.B. Epson TM-T20 oder TM-T88 **optimal mit LAN Anschluss sonst mehr frickel**!
* Kassenlade mit elektrischer öffnung, wird vom Drucker getriggert, die Dinger sind alle standardisiert z.B. **Metapace K-2** ist günstig, stabil und default bei vielen Kassensystem Anbietern.
* Optional USB Num Pad oder ganze Tastatur um den Rückgeldrechner zu nutzen
Server:
* Linux Server mit Ubuntu16.04 oder neuer
* Python 3.5 ist voraussetzung für das Postix
* **cups**, **cups-bsd** und **lpr** muss installiert sein
* Drucker Treiber bei Epson laden und Installieren nicht nur die PPD!
* Drucker unter CUPS einrichten und PPD manuell hinzufügen
Howto Setup the Server
- Ubuntu Server installieren (in dem fall 16.04 LTS Support bis 2021)
- bei der Installation von Ubuntu direkt **OpenSSH Server** mitinstallieren das macht alles einfacher!
- sudo apt update
(Paketlisten updaten)
- sudo apt upgrade
(Software Updates herunterladen und installieren)
- sudo locale-gen en_US.UTF-8
- sudo update-locale LANG=en_US.UTF-8
- sudo reboot
- sudo apt install python3.5 python3-pip
- sudo apt install git
- sudo apt install lpr
- sudo apt install cups-bsd
- sudo apt install screen
- git clone https://github.com/c3cashdesk/postix.git
- cd postix
- python3.5 -m pip install --upgrade setuptools pip
- sudo python3.5 -m pip install -r requirements.txt
- sudo python3.5 manage.py migrate
- sudo python3.5 manage.py createsuperuser
- screen sudo POSTIX_STATIC_ROOT=_static python3.5 manage.py runserver 10.100.0.11:8000
die IP muss der IP des servers entsprechen ->ifconfig
Ab jetzt sollte der Postix Server unter der IP auf dem Port 8000 erreichbar sein:
Es gibt 4 Interfaces unter
* ip:8000 ->Kasseninterface
* ip:8000/admin ->django Admin Interface
* ip:8000/backoffice -> Admin Interface Postix
* ip:8000/troubleshooter -> Interface für Troubleshooter Angel
python manage.py export_redemptions gibt eine .json mit einlösungen aus die in Pretix importiert werden kann
python manage.py shell gibt ne interaktive shell für Pretix
Import dann über
* from pretix.base.models import Checkin, Event, OrderPosition
* import dateutil.parser
* import json
* event = Event.objects.get(slug__iexact='euer_event_slug')
* with open('/path/to/file.json', 'r') as f:
* data = json.load(f)
* for d in data:
* op = OrderPosition.objects.get(secret=d['secret'], order__event=event)
* Checkin.objects.get_or_create(position=op, datetime=dateutil.parser.parse(d['datetime']))