diff --git a/bbssite/__init__.py b/bbs/__init__.py old mode 100644 new mode 100755 similarity index 100% rename from bbssite/__init__.py rename to bbs/__init__.py diff --git a/main/admin.py b/bbs/admin.py similarity index 91% rename from main/admin.py rename to bbs/admin.py index 1222dd7..be7a1a3 100644 --- a/main/admin.py +++ b/bbs/admin.py @@ -1,6 +1,6 @@ from django.contrib import admin -from main.models import * +from bbs.models import * class ProductAdmin(admin.ModelAdmin): diff --git a/main/__init__.py b/bbs/api/__init__.py old mode 100755 new mode 100644 similarity index 100% rename from main/__init__.py rename to bbs/api/__init__.py diff --git a/main/api/errors.py b/bbs/api/errors.py similarity index 100% rename from main/api/errors.py rename to bbs/api/errors.py diff --git a/main/api/__init__.py b/bbs/api/mutations/__init__.py similarity index 100% rename from main/api/__init__.py rename to bbs/api/mutations/__init__.py diff --git a/main/api/mutations/shop.py b/bbs/api/mutations/shop.py similarity index 95% rename from main/api/mutations/shop.py rename to bbs/api/mutations/shop.py index 59deaf0..f901f9b 100644 --- a/main/api/mutations/shop.py +++ b/bbs/api/mutations/shop.py @@ -5,10 +5,10 @@ from django.db import transaction from django.shortcuts import get_object_or_404 from strawberry import ID -from main import models -from main.api.errors import Error, FieldError, FormErrors -from main.api.types.inventory import Transaction -from main.api.types.shop import Order +from bbs import models +from bbs.api.errors import Error, FieldError, FormErrors +from bbs.api.types.inventory import Transaction +from bbs.api.types.shop import Order UserModel = get_user_model() diff --git a/main/api/mutations/users.py b/bbs/api/mutations/users.py similarity index 91% rename from main/api/mutations/users.py rename to bbs/api/mutations/users.py index 4416c84..bea2b8e 100644 --- a/main/api/mutations/users.py +++ b/bbs/api/mutations/users.py @@ -4,8 +4,8 @@ from django.contrib.auth import get_user_model from django.db import transaction from strawberry_django import auto -from main import models -from main.api.types.users import User +from bbs import models +from bbs.api.types.users import User DjangoUser = get_user_model() diff --git a/main/api/mutations/__init__.py b/bbs/api/queries/__init__.py similarity index 100% rename from main/api/mutations/__init__.py rename to bbs/api/queries/__init__.py diff --git a/main/api/queries/inventory.py b/bbs/api/queries/inventory.py similarity index 73% rename from main/api/queries/inventory.py rename to bbs/api/queries/inventory.py index 6930cfa..1b19359 100644 --- a/main/api/queries/inventory.py +++ b/bbs/api/queries/inventory.py @@ -1,7 +1,7 @@ import strawberry import strawberry_django -from main.api.types.inventory import Transaction, TransactionOrdering +from bbs.api.types.inventory import Transaction, TransactionOrdering @strawberry.type diff --git a/main/api/queries/shop.py b/bbs/api/queries/shop.py similarity index 87% rename from main/api/queries/shop.py rename to bbs/api/queries/shop.py index 97ec9c6..21b9c70 100644 --- a/main/api/queries/shop.py +++ b/bbs/api/queries/shop.py @@ -1,8 +1,8 @@ import strawberry import strawberry_django -from main import models -from main.api.types.shop import Order, OrderOrdering, OrderStats, OrderStatsByTime, Point, Product, ProductOrderStat +from bbs import models +from bbs.api.types.shop import Order, OrderOrdering, OrderStats, OrderStatsByTime, Point, Product, ProductOrderStat @strawberry.type diff --git a/main/api/queries/users.py b/bbs/api/queries/users.py similarity index 89% rename from main/api/queries/users.py rename to bbs/api/queries/users.py index ba00f72..1ba0a07 100644 --- a/main/api/queries/users.py +++ b/bbs/api/queries/users.py @@ -3,7 +3,7 @@ import strawberry_django from django.contrib.auth.models import User as DjangoUser from strawberry import ID -from main.api.types.users import User +from bbs.api.types.users import User @strawberry.type diff --git a/bbs/api/schema.py b/bbs/api/schema.py new file mode 100644 index 0000000..9cb4ed0 --- /dev/null +++ b/bbs/api/schema.py @@ -0,0 +1,20 @@ +import strawberry + +from bbs.api.mutations.shop import ShopMutations +from bbs.api.mutations.users import UsersMutations +from bbs.api.queries.inventory import InventoryQueries +from bbs.api.queries.shop import ShopQueries +from bbs.api.queries.users import UsersQueries + + +@strawberry.type +class Query(InventoryQueries, ShopQueries, UsersQueries): + pass + + +@strawberry.type +class Mutation(ShopMutations, UsersMutations): + pass + + +schema = strawberry.Schema(query=Query, mutation=Mutation) diff --git a/main/api/queries/__init__.py b/bbs/api/types/__init__.py similarity index 100% rename from main/api/queries/__init__.py rename to bbs/api/types/__init__.py diff --git a/main/api/types/inventory.py b/bbs/api/types/inventory.py similarity index 82% rename from main/api/types/inventory.py rename to bbs/api/types/inventory.py index 968dc84..57b7a64 100644 --- a/main/api/types/inventory.py +++ b/bbs/api/types/inventory.py @@ -1,8 +1,8 @@ import strawberry_django from strawberry_django import auto -from main import models -from main.api.types.users import User +from bbs import models +from bbs.api.types.users import User @strawberry_django.ordering.order(models.Transaction) diff --git a/main/api/types/shop.py b/bbs/api/types/shop.py similarity index 90% rename from main/api/types/shop.py rename to bbs/api/types/shop.py index cd01406..110e37a 100644 --- a/main/api/types/shop.py +++ b/bbs/api/types/shop.py @@ -2,8 +2,8 @@ import strawberry import strawberry_django from strawberry_django import auto -from main import models -from main.api.types.utils import JSONScalar +from bbs import models +from bbs.api.types.utils import JSONScalar @strawberry_django.filters.filter(models.Product) @@ -31,7 +31,7 @@ class OrderOrdering: @strawberry_django.type(models.Order) class Order: id: auto - customer: strawberry.LazyType["User", "main.api.types.users"] + customer: strawberry.LazyType["User", "bbs.api.types.users"] order_sum: auto created: auto orderlines: list["OrderLine"] diff --git a/main/api/types/users.py b/bbs/api/types/users.py similarity index 92% rename from main/api/types/users.py rename to bbs/api/types/users.py index 5937b8c..c78a5fc 100644 --- a/main/api/types/users.py +++ b/bbs/api/types/users.py @@ -5,8 +5,8 @@ import strawberry_django from django.contrib.auth import get_user_model from strawberry_django import auto -from main import models -from main.api.types.shop import Point, ProductOrderStat +from bbs import models +from bbs.api.types.shop import Point, ProductOrderStat UserModel = get_user_model() diff --git a/main/api/types/utils.py b/bbs/api/types/utils.py similarity index 100% rename from main/api/types/utils.py rename to bbs/api/types/utils.py diff --git a/main/apps.py b/bbs/apps.py similarity index 91% rename from main/apps.py rename to bbs/apps.py index d552816..2ac6aba 100644 --- a/main/apps.py +++ b/bbs/apps.py @@ -2,7 +2,7 @@ from django.apps import AppConfig class BBSAppConfig(AppConfig): - name = "main" + name = "bbs" verbose_name = "Biceps Bar System" def ready(self): diff --git a/main/forms.py b/bbs/forms.py similarity index 92% rename from main/forms.py rename to bbs/forms.py index 4fb1cc6..65de3d4 100644 --- a/main/forms.py +++ b/bbs/forms.py @@ -1,6 +1,6 @@ from django import forms -from main.models import InventoryTransaction, Product +from bbs.models import InventoryTransaction, Product class InventoryTransactionForm(forms.ModelForm): diff --git a/main/management/__init__.py b/bbs/management/__init__.py similarity index 100% rename from main/management/__init__.py rename to bbs/management/__init__.py diff --git a/main/management/commands/__init__.py b/bbs/management/commands/__init__.py similarity index 100% rename from main/management/commands/__init__.py rename to bbs/management/commands/__init__.py diff --git a/main/management/commands/export_schema.py b/bbs/management/commands/export_schema.py similarity index 80% rename from main/management/commands/export_schema.py rename to bbs/management/commands/export_schema.py index 2c1aa29..b348353 100644 --- a/main/management/commands/export_schema.py +++ b/bbs/management/commands/export_schema.py @@ -1,10 +1,10 @@ from pathlib import Path +from django.conf import settings from django.core.management import BaseCommand, CommandParser from strawberry.printer import print_schema -from bbssite.settings import BASE_DIR -from main.api.schema import schema as schema_symbol +from bbs.api.schema import schema as schema_symbol class Command(BaseCommand): @@ -16,7 +16,7 @@ class Command(BaseCommand): def handle(self, *args, filename=None, **options): schema_output = print_schema(schema_symbol) if filename != "-": - with Path(BASE_DIR, filename).open("w+") as fp: + with Path(settings.BASE_DIR, filename).open("w+") as fp: fp.write(schema_output) self.stdout.write(self.style.SUCCESS("OK")) else: diff --git a/main/management/commands/profile_images.py b/bbs/management/commands/profile_images.py similarity index 95% rename from main/management/commands/profile_images.py rename to bbs/management/commands/profile_images.py index df53a60..19f2ffc 100644 --- a/main/management/commands/profile_images.py +++ b/bbs/management/commands/profile_images.py @@ -1,6 +1,6 @@ from django.core.management.base import BaseCommand, CommandParser -from main.models import UserProfile +from bbs.models import UserProfile class Command(BaseCommand): diff --git a/main/migrations/0001_initial.py b/bbs/migrations/0001_initial.py similarity index 98% rename from main/migrations/0001_initial.py rename to bbs/migrations/0001_initial.py index 2616844..260cc9d 100644 --- a/main/migrations/0001_initial.py +++ b/bbs/migrations/0001_initial.py @@ -72,7 +72,7 @@ class Migration(migrations.Migration): models.ForeignKey( on_delete=models.CASCADE, related_name="orderlines", - to="main.Order", + to="bbs.Order", ), ), ], @@ -157,7 +157,7 @@ class Migration(migrations.Migration): migrations.AddField( model_name="orderline", name="product", - field=models.ForeignKey(on_delete=models.CASCADE, related_name="orderlines", to="main.Product"), + field=models.ForeignKey(on_delete=models.CASCADE, related_name="orderlines", to="bbs.Product"), ), migrations.AddField( model_name="inventorytransaction", @@ -166,7 +166,7 @@ class Migration(migrations.Migration): on_delete=models.CASCADE, related_name="transactions", verbose_name="Produkt", - to="main.Product", + to="bbs.Product", ), ), migrations.AddField( diff --git a/main/api/types/__init__.py b/bbs/migrations/__init__.py similarity index 100% rename from main/api/types/__init__.py rename to bbs/migrations/__init__.py diff --git a/main/models.py b/bbs/models.py similarity index 97% rename from main/models.py rename to bbs/models.py index 183a33c..8ce9499 100755 --- a/main/models.py +++ b/bbs/models.py @@ -146,8 +146,8 @@ class OrderLineManager(models.QuerySet): class OrderLine(models.Model): - order = models.ForeignKey("main.Order", on_delete=models.CASCADE, related_name="orderlines") - product = models.ForeignKey("main.Product", on_delete=models.CASCADE, related_name="orderlines") + order = models.ForeignKey("bbs.Order", on_delete=models.CASCADE, related_name="orderlines") + product = models.ForeignKey("bbs.Product", on_delete=models.CASCADE, related_name="orderlines") amount = models.IntegerField() unit_price = models.FloatField(verbose_name="Enhetspris") @@ -184,7 +184,7 @@ class InventoryTransaction(models.Model): related_name="inventory_transactions", ) product = models.ForeignKey( - "main.Product", + "bbs.Product", on_delete=models.CASCADE, related_name="transactions", verbose_name="Produkt", diff --git a/bbssite/settings.py b/bbs/settings.py similarity index 98% rename from bbssite/settings.py rename to bbs/settings.py index 21aa98e..9541dd8 100755 --- a/bbssite/settings.py +++ b/bbs/settings.py @@ -72,7 +72,7 @@ MIDDLEWARE = [ "django.contrib.messages.middleware.MessageMiddleware", ] -ROOT_URLCONF = "bbssite.urls" +ROOT_URLCONF = "bbs.urls" INSTALLED_APPS = [ "django.contrib.auth", @@ -85,9 +85,10 @@ INSTALLED_APPS = [ "django_extensions", "easy_thumbnails", "corsheaders", + "django_rename_app", ] LOCAL_APPS = [ - "main", + "bbs", ] INSTALLED_APPS += LOCAL_APPS diff --git a/main/tests/test_mutations.py b/bbs/tests/test_mutations.py similarity index 97% rename from main/tests/test_mutations.py rename to bbs/tests/test_mutations.py index 8d23b64..7c9c217 100644 --- a/main/tests/test_mutations.py +++ b/bbs/tests/test_mutations.py @@ -2,7 +2,7 @@ import pytest from django.test import Client from strawberry.django.test import GraphQLTestClient -from main.models import Order, Product +from bbs.models import Order, Product @pytest.fixture(name="gql_client") diff --git a/bbssite/urls.py b/bbs/urls.py old mode 100755 new mode 100644 similarity index 66% rename from bbssite/urls.py rename to bbs/urls.py index 9b44b93..7732dc0 --- a/bbssite/urls.py +++ b/bbs/urls.py @@ -2,16 +2,19 @@ from django.conf import settings from django.conf.urls.static import static from django.contrib import admin from django.contrib.auth.views import LoginView, LogoutView -from django.urls import include, path, re_path +from django.urls import path, re_path from strawberry.django.views import GraphQLView -from main import urls as main_urls -from main.api.schema import schema +from bbs.api.schema import schema +from bbs.views.reports import inventory, inventory_add, report admin.autodiscover() urlpatterns = [ - re_path(r"", include(main_urls)), + # TODO: migrate reports to SPA + re_path(r"^inventory/$", inventory, name="inventory"), + re_path(r"^inventory/add/$", inventory_add, name="inventory-add"), + re_path(r"^report$", report, name="report"), path("accounts/login/", LoginView.as_view(), name="django.contrib.auth.views.login"), path("accounts/logout/", LogoutView.as_view(), name="django.contrib.auth.views.logout"), path("admin/", admin.site.urls), diff --git a/main/utils.py b/bbs/utils.py similarity index 100% rename from main/utils.py rename to bbs/utils.py diff --git a/main/migrations/__init__.py b/bbs/views/__init__.py similarity index 100% rename from main/migrations/__init__.py rename to bbs/views/__init__.py diff --git a/main/views/reports.py b/bbs/views/reports.py similarity index 97% rename from main/views/reports.py rename to bbs/views/reports.py index 663cf95..6565664 100644 --- a/main/views/reports.py +++ b/bbs/views/reports.py @@ -4,8 +4,8 @@ from itertools import groupby from django.contrib import messages from django.shortcuts import redirect, render -from main.forms import DateRangeForm, InventoryTransactionForm -from main.models import InventoryTransaction, Order, Product, Transaction, UserProfile +from bbs.forms import DateRangeForm, InventoryTransactionForm +from bbs.models import InventoryTransaction, Order, Product, Transaction, UserProfile def report(request): diff --git a/bbssite/wsgi.py b/bbs/wsgi.py similarity index 59% rename from bbssite/wsgi.py rename to bbs/wsgi.py index 228a9a4..7095f4e 100644 --- a/bbssite/wsgi.py +++ b/bbs/wsgi.py @@ -2,6 +2,6 @@ import os from django.core.wsgi import get_wsgi_application -os.environ.setdefault("DJANGO_SETTINGS_MODULE", "bbssite.settings") +os.environ.setdefault("DJANGO_SETTINGS_MODULE", "bbs.settings") application = get_wsgi_application() diff --git a/main/api/schema.py b/main/api/schema.py deleted file mode 100644 index 19ecc80..0000000 --- a/main/api/schema.py +++ /dev/null @@ -1,20 +0,0 @@ -import strawberry - -from main.api.mutations.shop import ShopMutations -from main.api.mutations.users import UsersMutations -from main.api.queries.inventory import InventoryQueries -from main.api.queries.shop import ShopQueries -from main.api.queries.users import UsersQueries - - -@strawberry.type -class Query(InventoryQueries, ShopQueries, UsersQueries): - pass - - -@strawberry.type -class Mutation(ShopMutations, UsersMutations): - pass - - -schema = strawberry.Schema(query=Query, mutation=Mutation) diff --git a/main/urls.py b/main/urls.py deleted file mode 100644 index ab0da23..0000000 --- a/main/urls.py +++ /dev/null @@ -1,11 +0,0 @@ -from django.urls import re_path - -from main.views.reports import inventory, inventory_add, report - -urlpatterns = [ - # TODO: migrate to SPA - # Reports - re_path(r"^inventory/$", inventory, name="inventory"), - re_path(r"^inventory/add/$", inventory_add, name="inventory-add"), - re_path(r"^report$", report, name="report"), -] diff --git a/main/views/__init__.py b/main/views/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/manage.py b/manage.py index 327c2d9..492f4ae 100755 --- a/manage.py +++ b/manage.py @@ -3,7 +3,7 @@ import os import sys if __name__ == "__main__": - os.environ.setdefault("DJANGO_SETTINGS_MODULE", "bbssite.settings") + os.environ.setdefault("DJANGO_SETTINGS_MODULE", "bbs.settings") from django.core.management import execute_from_command_line diff --git a/poetry.lock b/poetry.lock index bfb1f2e..c8d6642 100644 --- a/poetry.lock +++ b/poetry.lock @@ -143,6 +143,17 @@ python-versions = ">=3.6" [package.dependencies] Django = ">=2.2" +[[package]] +name = "django-rename-app" +version = "0.1.3" +description = "A Django Management Command to rename existing Django Applications." +category = "main" +optional = false +python-versions = "*" + +[package.dependencies] +django = "*" + [[package]] name = "easy-thumbnails" version = "2.7.2" @@ -570,7 +581,7 @@ testing = ["coverage (>=4)", "coverage-enable-subprocess (>=1)", "flaky (>=3)", [metadata] lock-version = "1.1" python-versions = "^3.9" -content-hash = "3fa14cb7bc28f810082b1aa4604a74060ec4ea32e63864f91a005aa37ea73c8c" +content-hash = "c4579c258a444e0d3ab942c66b7374f6b868580adfeadc2fca39cd448a27be09" [metadata.files] asgiref = [ @@ -646,6 +657,10 @@ django-extensions = [ {file = "django-extensions-3.1.5.tar.gz", hash = "sha256:28e1e1bf49f0e00307ba574d645b0af3564c981a6dfc87209d48cb98f77d0b1a"}, {file = "django_extensions-3.1.5-py3-none-any.whl", hash = "sha256:9238b9e016bb0009d621e05cf56ea8ce5cce9b32e91ad2026996a7377ca28069"}, ] +django-rename-app = [ + {file = "django_rename_app-0.1.3-py2.py3-none-any.whl", hash = "sha256:bba31d33de4614124e2cd2f22fcea07b2affbbb2cf877a26893e0c15465fbfab"}, + {file = "django_rename_app-0.1.3.tar.gz", hash = "sha256:195d2fa09eec8ed57577f7bf57a3c6944bdb6447fe47c07be0e575fb2e325742"}, +] easy-thumbnails = [ {file = "easy-thumbnails-2.7.2.tar.gz", hash = "sha256:a7dd9cf97efaf70ba5d76484a962f08ba65b31f1681bc417257743650e9e8a8a"}, {file = "easy_thumbnails-2.7.2-py3-none-any.whl", hash = "sha256:9d7ed56a9b57aba7a8d0e03dc3b8507ca51aab5e0ed0bc705c3261ff1f659192"}, diff --git a/pyproject.toml b/pyproject.toml index 4595997..c826aec 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -28,6 +28,7 @@ sentry-sdk = "1.4.3" strawberry-graphql = "^0.93.1" strawberry-graphql-django = "^0.2.5" django-cors-headers = "^3.10.0" +django-rename-app = "^0.1.3" [tool.poetry.dev-dependencies] pytest = "*"