refactor: split models into modules, remove template-based views, and clean up code style
- Split monolithic models.py into models/ package (customers, products, sales, payments, admin) - Removed forms.py, all HTML templates, and associated template-based views - Added api/ package with CatalogSaleView placeholder - Updated all imports across project to use new model paths - Removed obsolete tests (form, export, purchase, summary tests) - Removed template-based URL patterns, kept only API endpoints - Standardized string quotes (single to double) and reformatted code
This commit is contained in:
@@ -1,33 +1,51 @@
|
||||
from rest_framework import serializers
|
||||
|
||||
from .models import Sale, SaleLine, Product, Customer, ReconciliationJar
|
||||
from .models.sales import Sale, SaleLine
|
||||
from .models.customers import Customer
|
||||
from .models.sales import Sale, SaleLine, Payment
|
||||
from .models.products import Product, ProductCategory
|
||||
from .models.payments import ReconciliationJar
|
||||
|
||||
|
||||
class SaleLineSerializer(serializers.ModelSerializer):
|
||||
class Meta:
|
||||
model = SaleLine
|
||||
fields = ['id', 'sale', 'product', 'unit_price', 'quantity']
|
||||
fields = ["id", "sale", "product", "unit_price", "quantity"]
|
||||
|
||||
|
||||
class SaleSerializer(serializers.ModelSerializer):
|
||||
total = serializers.ReadOnlyField(source='get_total')
|
||||
total = serializers.ReadOnlyField(source="get_total")
|
||||
|
||||
class Meta:
|
||||
model = Sale
|
||||
fields = ['id', 'customer', 'date', 'saleline_set',
|
||||
'total', 'payment_method', 'external_id']
|
||||
fields = [
|
||||
"id",
|
||||
"customer",
|
||||
"date",
|
||||
"saleline_set",
|
||||
"total",
|
||||
"payment_method",
|
||||
"external_id",
|
||||
]
|
||||
|
||||
|
||||
class ProductSerializer(serializers.ModelSerializer):
|
||||
class Meta:
|
||||
model = Product
|
||||
fields = ['id', 'name', 'price', 'measuring_unit', 'categories', 'external_id']
|
||||
fields = [
|
||||
"id",
|
||||
"name",
|
||||
"price",
|
||||
"measuring_unit",
|
||||
"categories",
|
||||
"external_id",
|
||||
]
|
||||
|
||||
|
||||
class CustomerSerializer(serializers.ModelSerializer):
|
||||
class Meta:
|
||||
model = Customer
|
||||
fields = ['id', 'name', 'address', 'email', 'phone', 'external_id']
|
||||
fields = ["id", "name", "address", "email", "phone", "external_id"]
|
||||
|
||||
|
||||
class ReconciliationJarSerializer(serializers.ModelSerializer):
|
||||
@@ -36,13 +54,13 @@ class ReconciliationJarSerializer(serializers.ModelSerializer):
|
||||
class Meta:
|
||||
model = ReconciliationJar
|
||||
fields = [
|
||||
'id',
|
||||
'date_time',
|
||||
'reconcilier',
|
||||
'cash_taken',
|
||||
'cash_discrepancy',
|
||||
'total_cash_purchases',
|
||||
'Sales',
|
||||
"id",
|
||||
"date_time",
|
||||
"reconcilier",
|
||||
"cash_taken",
|
||||
"cash_discrepancy",
|
||||
"total_cash_purchases",
|
||||
"Sales",
|
||||
]
|
||||
|
||||
|
||||
@@ -52,8 +70,8 @@ class PaymentMethodSerializer(serializers.Serializer):
|
||||
|
||||
def to_representation(self, instance):
|
||||
return {
|
||||
'text': instance[1],
|
||||
'value': instance[0],
|
||||
"text": instance[1],
|
||||
"value": instance[0],
|
||||
}
|
||||
|
||||
|
||||
@@ -66,8 +84,8 @@ class SaleForRenconciliationSerializer(serializers.Serializer):
|
||||
|
||||
def get_customer(self, sale):
|
||||
return {
|
||||
'id': sale.customer.id,
|
||||
'name': sale.customer.name,
|
||||
"id": sale.customer.id,
|
||||
"name": sale.customer.name,
|
||||
}
|
||||
|
||||
def get_total(self, sale):
|
||||
@@ -77,13 +95,13 @@ class SaleForRenconciliationSerializer(serializers.Serializer):
|
||||
class ListCustomerSerializer(serializers.ModelSerializer):
|
||||
class Meta:
|
||||
model = Customer
|
||||
fields = ['id', 'name']
|
||||
fields = ["id", "name"]
|
||||
|
||||
|
||||
class ListProductSerializer(serializers.ModelSerializer):
|
||||
class Meta:
|
||||
model = Product
|
||||
fields = ['id', 'name']
|
||||
fields = ["id", "name"]
|
||||
|
||||
|
||||
class SummarySaleLineSerializer(serializers.ModelSerializer):
|
||||
@@ -91,13 +109,13 @@ class SummarySaleLineSerializer(serializers.ModelSerializer):
|
||||
|
||||
class Meta:
|
||||
model = SaleLine
|
||||
fields = ['product', 'quantity', 'unit_price', 'description']
|
||||
fields = ["product", "quantity", "unit_price", "description"]
|
||||
|
||||
|
||||
class SaleSummarySerializer(serializers.ModelSerializer):
|
||||
customer = ListCustomerSerializer()
|
||||
lines = SummarySaleLineSerializer(many=True, source='saleline_set')
|
||||
lines = SummarySaleLineSerializer(many=True, source="saleline_set")
|
||||
|
||||
class Meta:
|
||||
model = Sale
|
||||
fields = ['id', 'date', 'customer', 'payment_method', 'lines']
|
||||
fields = ["id", "date", "customer", "payment_method", "lines"]
|
||||
|
||||
Reference in New Issue
Block a user