from __future__ import unicode_literals from django.db import models from rest_framework import routers, serializers, viewsets from warpauth.models import LdapUser class ProductCategory(models.Model): name = models.CharField(max_length=100, unique=True) position = models.FloatField(null=True, blank=True, default=0) def __str__(self): return self.name class ProductCategorySerializer(serializers.ModelSerializer): class Meta: model = ProductCategory fields = ['id', 'name','position'] class Product(models.Model): name = models.CharField(max_length=100, null=True) price_ek = models.FloatField() price_vk = models.FloatField() category = models.ForeignKey(ProductCategory, on_delete=models.CASCADE, null=True) stock_count = models.IntegerField(null=True, blank=True, default=0) barcode = models.CharField(max_length=100, null=True, blank=True) position = models.FloatField(null=True, blank=True, default=0) def __str__(self): return self.name class ProductSerializer(serializers.ModelSerializer): category = serializers.StringRelatedField() class Meta: model = Product fields = ['id', 'name', 'price_vk', 'category', 'barcode','stock_count','position'] class Transaction(models.Model): date = models.DateTimeField(auto_now_add=True) product = models.ForeignKey(Product, on_delete=models.CASCADE, null=True) type = models.IntegerField() # 1: aufladen; 2:kaufen amount = models.FloatField() cash_paid = models.BooleanField(default=False) def __str__(self): return str(self.amount) #self.product.name+" - "+self.amount class TransactionLog(models.Model): uid = models.CharField(max_length=100) transaction = models.ForeignKey(Transaction, on_delete=models.CASCADE, null=True) class UserCredit(models.Model): uid = models.CharField(max_length=100,unique=True) card_id = models.CharField(max_length=255, null=True, blank=True) # Unique only with django 1.11 credit = models.FloatField() pinCode = models.CharField(max_length=100, blank=True, null=True) def __str__(self): return self.uid class UserCreditSerializer(serializers.ModelSerializer): class Meta: model = UserCredit fields = ['uid', 'card_id', 'credit', 'pinCode']