-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
2616320
commit de676f3
Showing
35 changed files
with
476 additions
and
35 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Empty file.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
# Register your models here. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
from django.apps import AppConfig | ||
|
||
|
||
class BasemodelsConfig(AppConfig): | ||
default_auto_field = "django.db.models.BigAutoField" | ||
name = "basemodels" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
# Generated by Django 4.2.7 on 2023-12-20 06:02 | ||
|
||
from django.db import migrations, models | ||
|
||
|
||
class Migration(migrations.Migration): | ||
initial = True | ||
|
||
dependencies = [] | ||
|
||
operations = [ | ||
migrations.CreateModel( | ||
name="DocumentNumber", | ||
fields=[ | ||
("document", models.CharField(max_length=50, primary_key=True, serialize=False, unique=True)), | ||
("prefix", models.CharField(blank=True, max_length=10, null=True)), | ||
("padding_digits", models.IntegerField(blank=True, null=True)), | ||
("next_counter", models.IntegerField(default=1)), | ||
("last_number", models.CharField(editable=False, max_length=50, null=True)), | ||
("last_generated_date", models.DateTimeField(auto_now=True)), | ||
], | ||
), | ||
] |
Empty file.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,48 @@ | ||
from django.conf import settings | ||
from django.db import models | ||
from django.utils.translation import gettext_lazy as _ | ||
from slugify import slugify | ||
|
||
|
||
# Create your models here. | ||
class BaseModel(models.Model): | ||
"""Base model for standardization. Includes generating slug.""" | ||
|
||
name = models.CharField(max_length=50) | ||
created_by = models.ForeignKey(settings.AUTH_USER_MODEL, verbose_name=_("created by"), on_delete=models.PROTECT) | ||
slug = models.SlugField(unique=True, editable=False) | ||
created_date = models.DateTimeField(_("created date"), auto_now_add=True) | ||
modified_date = models.DateTimeField(_("modified date"), auto_now=True) | ||
|
||
class Meta: | ||
abstract = True | ||
|
||
def __str__(self): | ||
return self.name | ||
|
||
def save(self, *args, **kwargs): | ||
if not self.slug: | ||
self.slug = slugify(self.name) | ||
super().save(*args, **kwargs) | ||
|
||
|
||
class DocumentNumber(models.Model): | ||
document = models.CharField(max_length=50, primary_key=True, unique=True) | ||
prefix = models.CharField(max_length=10, blank=True, null=True) | ||
padding_digits = models.IntegerField(blank=True, null=True) | ||
next_counter = models.IntegerField(default=1) | ||
last_number = models.CharField(max_length=50, editable=False, null=True) | ||
last_generated_date = models.DateTimeField(auto_now=True) | ||
|
||
def get_next_number(self): | ||
prefix = self.prefix | ||
next_counter = self.next_counter | ||
padded_counter = str(next_counter).zfill(self.padding_digits) | ||
number = f"{prefix}{padded_counter}" | ||
|
||
self.next_counter += 1 | ||
self.last_number = number | ||
|
||
self.save() | ||
|
||
return number |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
# Create your tests here. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
# Create your views here. |
Empty file.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
# Register your models here. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
from django.apps import AppConfig | ||
|
||
|
||
class ContainersConfig(AppConfig): | ||
default_auto_field = "django.db.models.BigAutoField" | ||
name = "containers" |
Empty file.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
# Create your models here. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
# Create your tests here. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
# Create your views here. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
17 changes: 17 additions & 0 deletions
17
wooster_django/inventory/migrations/0010_alter_history_amount.py
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
# Generated by Django 4.2.7 on 2023-12-20 05:33 | ||
|
||
from django.db import migrations, models | ||
|
||
|
||
class Migration(migrations.Migration): | ||
dependencies = [ | ||
("inventory", "0009_history"), | ||
] | ||
|
||
operations = [ | ||
migrations.AlterField( | ||
model_name="history", | ||
name="amount", | ||
field=models.DecimalField(decimal_places=2, help_text="always >= 0", max_digits=5, verbose_name="amount"), | ||
), | ||
] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Empty file.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,30 @@ | ||
from django.contrib import admin | ||
|
||
# from inventory.models import Item | ||
from projects.models import Project | ||
|
||
from .models import Order, OrderItem | ||
|
||
|
||
# Register your models here. | ||
class OrderItemInline(admin.TabularInline): | ||
model = OrderItem | ||
|
||
|
||
class ProjectInline(admin.TabularInline): | ||
model = Project | ||
extra = 0 | ||
|
||
|
||
@admin.register(Order) | ||
class OrderAdmin(admin.ModelAdmin): | ||
list_display = ["number", "customer", "expected_date", "subtotal"] | ||
list_filter = ["customer"] | ||
date_hierarchy = "created_date" | ||
search_fields = ["number", "customer"] | ||
inlines = [OrderItemInline, ProjectInline] | ||
|
||
|
||
@admin.register(OrderItem) | ||
class OrderItemAdmin(admin.ModelAdmin): | ||
list_display = ["order", "item", "extended_price"] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
from django.apps import AppConfig | ||
|
||
|
||
class OrdersConfig(AppConfig): | ||
default_auto_field = "django.db.models.BigAutoField" | ||
name = "orders" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,71 @@ | ||
# Generated by Django 4.2.7 on 2023-12-20 05:33 | ||
|
||
from django.conf import settings | ||
from django.db import migrations, models | ||
import django.db.models.deletion | ||
|
||
|
||
class Migration(migrations.Migration): | ||
initial = True | ||
|
||
dependencies = [ | ||
("inventory", "0010_alter_history_amount"), | ||
migrations.swappable_dependency(settings.AUTH_USER_MODEL), | ||
("customers", "0001_initial"), | ||
] | ||
|
||
operations = [ | ||
migrations.CreateModel( | ||
name="Order", | ||
fields=[ | ||
("id", models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name="ID")), | ||
("name", models.CharField(max_length=50)), | ||
("slug", models.SlugField(editable=False, unique=True)), | ||
("created_date", models.DateTimeField(auto_now_add=True, verbose_name="created date")), | ||
("modified_date", models.DateTimeField(auto_now=True, verbose_name="modified date")), | ||
("expected_date", models.DateField(verbose_name="Expected Completion Date")), | ||
( | ||
"created_by", | ||
models.ForeignKey( | ||
on_delete=django.db.models.deletion.PROTECT, | ||
to=settings.AUTH_USER_MODEL, | ||
verbose_name="created by", | ||
), | ||
), | ||
( | ||
"customer", | ||
models.ForeignKey( | ||
on_delete=django.db.models.deletion.PROTECT, to="customers.customer", verbose_name="Customer" | ||
), | ||
), | ||
], | ||
options={ | ||
"abstract": False, | ||
}, | ||
), | ||
migrations.CreateModel( | ||
name="OrderItems", | ||
fields=[ | ||
("id", models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name="ID")), | ||
("rank", models.SmallIntegerField(verbose_name="rank")), | ||
("quantity", models.FloatField(verbose_name="quantity")), | ||
( | ||
"item", | ||
models.ForeignKey( | ||
on_delete=django.db.models.deletion.PROTECT, to="inventory.item", verbose_name="Item" | ||
), | ||
), | ||
( | ||
"order", | ||
models.ForeignKey( | ||
on_delete=django.db.models.deletion.CASCADE, to="orders.order", verbose_name="Order" | ||
), | ||
), | ||
], | ||
), | ||
migrations.AddField( | ||
model_name="order", | ||
name="items", | ||
field=models.ManyToManyField(through="orders.OrderItems", to="inventory.item", verbose_name="items"), | ||
), | ||
] |
18 changes: 18 additions & 0 deletions
18
wooster_django/orders/migrations/0002_orderitems_item_price.py
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
# Generated by Django 4.2.7 on 2023-12-20 05:36 | ||
|
||
from django.db import migrations, models | ||
|
||
|
||
class Migration(migrations.Migration): | ||
dependencies = [ | ||
("orders", "0001_initial"), | ||
] | ||
|
||
operations = [ | ||
migrations.AddField( | ||
model_name="orderitems", | ||
name="item_price", | ||
field=models.DecimalField(decimal_places=2, default=0, max_digits=5, verbose_name="Item Price"), | ||
preserve_default=False, | ||
), | ||
] |
Oops, something went wrong.