diff --git a/config/api/v1/urls.py b/config/api/v1/urls.py index 95007fc..2588df2 100644 --- a/config/api/v1/urls.py +++ b/config/api/v1/urls.py @@ -1,5 +1,5 @@ -from django.urls import path, include -from drf_spectacular.views import SpectacularSwaggerView, SpectacularRedocView +from django.urls import include, path +from drf_spectacular.views import SpectacularRedocView, SpectacularSwaggerView from config.api.v1.views import APISchema diff --git a/config/celery.py b/config/celery.py index 55b7fa5..08783a9 100644 --- a/config/celery.py +++ b/config/celery.py @@ -1,4 +1,5 @@ import os + from celery import Celery # set the default Django settings module for the 'celery' program. diff --git a/config/settings/base.py b/config/settings/base.py index 1802d1b..ea595fc 100644 --- a/config/settings/base.py +++ b/config/settings/base.py @@ -1,4 +1,5 @@ import datetime + from config.settings.environ import * # noqa APP_NAME = "Shop" diff --git a/config/settings/environ.py b/config/settings/environ.py index 5bd5554..106b14c 100644 --- a/config/settings/environ.py +++ b/config/settings/environ.py @@ -1,7 +1,7 @@ import os -import environ from pathlib import Path +import environ BASE_DIR = Path(".") diff --git a/config/tests/mixins.py b/config/tests/mixins.py index f25a6d3..924175b 100644 --- a/config/tests/mixins.py +++ b/config/tests/mixins.py @@ -1,6 +1,7 @@ -import string import random -from django.contrib.auth.models import User, Permission +import string + +from django.contrib.auth.models import Permission, User class TestUserAuthenticationMixin: diff --git a/config/urls.py b/config/urls.py index 149f6b7..b3e6e57 100644 --- a/config/urls.py +++ b/config/urls.py @@ -2,8 +2,7 @@ import debug_toolbar from django.conf import settings from django.conf.urls.static import static from django.contrib import admin -from django.urls import path, include - +from django.urls import include, path urlpatterns = [ path("", include("shop.urls")), diff --git a/files/api/v1/urls.py b/files/api/v1/urls.py index 849a82e..88cbbd5 100644 --- a/files/api/v1/urls.py +++ b/files/api/v1/urls.py @@ -2,7 +2,6 @@ from rest_framework.routers import DefaultRouter from files.api.v1.views import FileUploadViewSet - app_name = "files" diff --git a/files/api/v1/views.py b/files/api/v1/views.py index 9816ba3..56ee215 100644 --- a/files/api/v1/views.py +++ b/files/api/v1/views.py @@ -1,4 +1,5 @@ from rest_framework.viewsets import ModelViewSet + from files.api.v1.serializers import FileUploadSerializer from files.models import FileUpload diff --git a/shop/admin.py b/shop/admin.py index c7c60aa..1205f13 100644 --- a/shop/admin.py +++ b/shop/admin.py @@ -1,18 +1,9 @@ from django.contrib import admin -from shop.models import ( - Product, - ProductPrice, - OrderLine, - Order, - Tax, - Customer, - Provider, - Tag, - ProductBatch, - Brand, -) from unfold.admin import ModelAdmin +from shop.models import (Brand, Customer, Order, OrderLine, Product, + ProductBatch, ProductPrice, Provider, Tag, Tax) + # Register your models here. @admin.register(Product) diff --git a/shop/api/v1/permissions.py b/shop/api/v1/permissions.py index 91a7a03..ab9e0fc 100644 --- a/shop/api/v1/permissions.py +++ b/shop/api/v1/permissions.py @@ -1,4 +1,5 @@ from rest_framework.permissions import BasePermission + from config.api.v1.mixins import CRUDPermissionsMixin diff --git a/shop/api/v1/routers.py b/shop/api/v1/routers.py index 76ea448..5aea780 100644 --- a/shop/api/v1/routers.py +++ b/shop/api/v1/routers.py @@ -1,17 +1,10 @@ from rest_framework.routers import DefaultRouter -from shop.api.v1.viewsets import ( - TaxViewSet, - CustomerViewSet, - ProductViewSet, - ProductPriceViewSet, - OrderViewSet, - OrderLineViewSet, - ProviderViewSet, - ProductBatchViewSet, - TagViewSet, - BrandViewSet, -) +from shop.api.v1.viewsets import (BrandViewSet, CustomerViewSet, + OrderLineViewSet, OrderViewSet, + ProductBatchViewSet, ProductPriceViewSet, + ProductViewSet, ProviderViewSet, TagViewSet, + TaxViewSet) app_name = "shop" diff --git a/shop/api/v1/serializers.py b/shop/api/v1/serializers.py index 8b7a185..6f1ab54 100644 --- a/shop/api/v1/serializers.py +++ b/shop/api/v1/serializers.py @@ -1,19 +1,10 @@ from django.utils import timezone from rest_framework import serializers -from files.api.v1.serializers import FileUploadSerializer, NoIDFileUploadSerializer -from shop.models import ( - Product, - ProductPrice, - Customer, - Tax, - OrderLine, - Order, - ProductBatch, - Provider, - Tag, - Brand, -) +from files.api.v1.serializers import (FileUploadSerializer, + NoIDFileUploadSerializer) +from shop.models import (Brand, Customer, Order, OrderLine, Product, + ProductBatch, ProductPrice, Provider, Tag, Tax) class TaxSerializer(serializers.ModelSerializer): diff --git a/shop/api/v1/viewsets.py b/shop/api/v1/viewsets.py index dca6f28..b1d9a80 100644 --- a/shop/api/v1/viewsets.py +++ b/shop/api/v1/viewsets.py @@ -1,45 +1,26 @@ from decimal import Decimal -from django.db.models.deletion import ProtectedError -from django.utils.text import gettext_lazy as _ -from django.shortcuts import get_object_or_404 from django.db import transaction - -from rest_framework.viewsets import ModelViewSet +from django.db.models.deletion import ProtectedError +from django.shortcuts import get_object_or_404 +from django.utils.text import gettext_lazy as _ from rest_framework.exceptions import ValidationError from rest_framework.permissions import IsAdminUser - -from shop.filters import ProductFilter -from shop.api.v1.serializers import ( - ProductSerializer, - ProductPriceSerializer, - CustomerSerializer, - TaxSerializer, - OrderSerializer, - OrderLineSerializer, - ProviderSerializer, - ProductBatchSerializer, - CreateProductSerializer, - CreateProductPriceSerializer, - TagSerializer, - ListProductSerializer, - UpdateProductSerializer, - BrandSerializer, -) -from shop.models import ( - Product, - ProductPrice, - Customer, - Tax, - Order, - OrderLine, - Provider, - ProductBatch, - Tag, - Brand, -) +from rest_framework.viewsets import ModelViewSet from shop.api.v1.permissions import ProductPermissions, ProductPricePermissions +from shop.api.v1.serializers import (BrandSerializer, + CreateProductPriceSerializer, + CreateProductSerializer, + CustomerSerializer, ListProductSerializer, + OrderLineSerializer, OrderSerializer, + ProductBatchSerializer, + ProductPriceSerializer, ProductSerializer, + ProviderSerializer, TagSerializer, + TaxSerializer, UpdateProductSerializer) +from shop.filters import ProductFilter +from shop.models import (Brand, Customer, Order, OrderLine, Product, + ProductBatch, ProductPrice, Provider, Tag, Tax) from shop.utils import delete_product_batch diff --git a/shop/filters.py b/shop/filters.py index f2b3ae6..0ac0faa 100644 --- a/shop/filters.py +++ b/shop/filters.py @@ -1,5 +1,5 @@ -from django.utils.text import gettext_lazy as _ import django_filters +from django.utils.text import gettext_lazy as _ from shop.models import Product diff --git a/shop/migrations/0001_initial.py b/shop/migrations/0001_initial.py index 4a7ebf2..5258f49 100644 --- a/shop/migrations/0001_initial.py +++ b/shop/migrations/0001_initial.py @@ -1,9 +1,10 @@ # Generated by Django 5.0.6 on 2024-05-21 17:19 +import uuid +from decimal import Decimal + import django.db.models.deletion import django.utils.timezone -import uuid -from decimal import Decimal from django.db import migrations, models diff --git a/shop/migrations/0003_alter_brand_creation_date_and_more.py b/shop/migrations/0003_alter_brand_creation_date_and_more.py index e069fd8..12a52de 100644 --- a/shop/migrations/0003_alter_brand_creation_date_and_more.py +++ b/shop/migrations/0003_alter_brand_creation_date_and_more.py @@ -1,8 +1,9 @@ # Generated by Django 5.0.6 on 2024-06-02 19:47 +from decimal import Decimal + import django.db.models.deletion import django.utils.timezone -from decimal import Decimal from django.db import migrations, models diff --git a/shop/tests/test_api_orders.py b/shop/tests/test_api_orders.py index b3b7f1c..08f562a 100644 --- a/shop/tests/test_api_orders.py +++ b/shop/tests/test_api_orders.py @@ -4,7 +4,7 @@ from rest_framework import status from rest_framework.test import APITestCase from config.tests.mixins import TestUserAuthenticationMixin -from shop.models import Product, ProductPrice, Tax, Customer +from shop.models import Customer, Product, ProductPrice, Tax class TestOrdersAPI(APITestCase, TestUserAuthenticationMixin): diff --git a/shop/tests/test_api_products.py b/shop/tests/test_api_products.py index a142d63..fef0fb3 100644 --- a/shop/tests/test_api_products.py +++ b/shop/tests/test_api_products.py @@ -2,12 +2,12 @@ import random import string from decimal import Decimal +from django.utils import timezone from rest_framework import status from rest_framework.test import APITestCase -from django.utils import timezone from config.tests.mixins import TestUserAuthenticationMixin -from shop.models import Product, ProductPrice, Tax, ProductBatch, Tag +from shop.models import Product, ProductBatch, ProductPrice, Tag, Tax class TestProductsAPI(APITestCase, TestUserAuthenticationMixin): diff --git a/shop/tests/test_shop_models.py b/shop/tests/test_shop_models.py index dbfd884..7f91ddd 100644 --- a/shop/tests/test_shop_models.py +++ b/shop/tests/test_shop_models.py @@ -1,7 +1,9 @@ from decimal import Decimal + from rest_framework.test import APITestCase as TestCase -from shop.models import Product, ProductPrice, Tax, Customer -from shop.utils import create_order_line_for_product, create_order + +from shop.models import Customer, Product, ProductPrice, Tax +from shop.utils import create_order, create_order_line_for_product class ShopModelsTest(TestCase): diff --git a/shop/urls.py b/shop/urls.py index f971ec0..0bee606 100644 --- a/shop/urls.py +++ b/shop/urls.py @@ -1,4 +1,5 @@ from django.urls import path + from shop.views import index, list_products, product_detail app_name = "shop" diff --git a/shop/utils.py b/shop/utils.py index e2c0216..edbb38b 100644 --- a/shop/utils.py +++ b/shop/utils.py @@ -1,6 +1,6 @@ from decimal import Decimal -from shop.models import OrderLine, Product, Order, Customer, ProductBatch +from shop.models import Customer, Order, OrderLine, Product, ProductBatch def create_order_line_for_product(product: Product, quantity: Decimal, order: Order): diff --git a/shop/views.py b/shop/views.py index da0bae6..cb46b0e 100644 --- a/shop/views.py +++ b/shop/views.py @@ -1,11 +1,9 @@ -from django.views.generic import TemplateView from django.shortcuts import get_object_or_404 -from django.core.paginator import Paginator +from django.views.generic import TemplateView from shop.filters import ProductFilter -from shop.models import Product - from shop.mixins import FilteredQuerysetMixin, PaginatedQuerysetMixin +from shop.models import Product class IndexView(TemplateView): diff --git a/theme/templates/theme/base.html b/theme/templates/theme/base.html index 26831d2..4e3614f 100644 --- a/theme/templates/theme/base.html +++ b/theme/templates/theme/base.html @@ -3,7 +3,7 @@
- +