From 8f5833533dea247847884eb5c0bce56aba3dc7ff Mon Sep 17 00:00:00 2001 From: Stef Pletinck Date: Mon, 1 Oct 2018 13:56:06 +0200 Subject: [PATCH 1/3] Added colour option to products --- web/pos/admin.py | 2 +- web/pos/migrations/0008_product_colour.py | 18 +++++++++++++ web/pos/migrations/0009_auto_20181001_1241.py | 18 +++++++++++++ web/pos/models.py | 19 ++++++++++++++ web/pos/templates/pos/order.html | 25 ++++++++++++++++++- web/pos/views.py | 3 ++- 6 files changed, 82 insertions(+), 3 deletions(-) create mode 100644 web/pos/migrations/0008_product_colour.py create mode 100644 web/pos/migrations/0009_auto_20181001_1241.py diff --git a/web/pos/admin.py b/web/pos/admin.py index 13bee5b..3318563 100644 --- a/web/pos/admin.py +++ b/web/pos/admin.py @@ -66,8 +66,8 @@ class ProductAdmin(admin.ModelAdmin): # List Page Display Configuration list_display = ( - 'code', 'name', + 'code', 'price', 'stock', 'minimum_stock', diff --git a/web/pos/migrations/0008_product_colour.py b/web/pos/migrations/0008_product_colour.py new file mode 100644 index 0000000..9e67273 --- /dev/null +++ b/web/pos/migrations/0008_product_colour.py @@ -0,0 +1,18 @@ +# Generated by Django 2.1.1 on 2018-10-01 10:32 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('pos', '0007_product_minimum_stock'), + ] + + operations = [ + migrations.AddField( + model_name='product', + name='colour', + field=models.CharField(choices=[('.blue', '.blue'), ('.green', '.green'), ('.yellow', '.yellow'), ('.orange', '.orange'), ('.purple', '.purple'), ('.black', '.black')], default='.blue', max_length=10), + ), + ] diff --git a/web/pos/migrations/0009_auto_20181001_1241.py b/web/pos/migrations/0009_auto_20181001_1241.py new file mode 100644 index 0000000..ab6a2f0 --- /dev/null +++ b/web/pos/migrations/0009_auto_20181001_1241.py @@ -0,0 +1,18 @@ +# Generated by Django 2.1.1 on 2018-10-01 10:41 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('pos', '0008_product_colour'), + ] + + operations = [ + migrations.AlterField( + model_name='product', + name='colour', + field=models.CharField(choices=[('blue', 'Blue'), ('green', 'Green'), ('yellow', 'Yellow'), ('orange', 'Orange'), ('purple', 'Purple'), ('black', 'Black')], default='blue', max_length=10), + ), + ] diff --git a/web/pos/models.py b/web/pos/models.py index 4bf79b0..c855c3b 100644 --- a/web/pos/models.py +++ b/web/pos/models.py @@ -16,6 +16,24 @@ def validate_product_name(prodname): class Product(models.Model): + # The different colours, to use as Product. + BLUE = "blue" + GREEN = "green" + YELLOW = "yellow" + ORANGE = "orange" + PURPLE = "purple" + BLACK = "black" + + # Colour choices + COLOUR_CHOICES = ( + (BLUE, "Blue"), + (GREEN, "Green"), + (YELLOW, "Yellow"), + (ORANGE, "Orange"), + (PURPLE, "Purple"), + (BLACK, "Black"), + ) + name = models.CharField(max_length=100, validators=[validate_product_name]) price = models.DecimalField(max_digits=7, decimal_places=2) @@ -23,6 +41,7 @@ class Product(models.Model): minimum_stock = models.PositiveSmallIntegerField(default=0) stock = models.IntegerField(default=0) code = models.CharField(max_length=50, unique=True, null=True, blank=True) + colour = models.CharField(max_length=10, choices=COLOUR_CHOICES, default="blue") def __str__(self): return self.name diff --git a/web/pos/templates/pos/order.html b/web/pos/templates/pos/order.html index 75cbd04..96c5e8f 100644 --- a/web/pos/templates/pos/order.html +++ b/web/pos/templates/pos/order.html @@ -31,6 +31,29 @@ + +