aboutsummaryrefslogtreecommitdiffstats
path: root/alphabetlearning/users
diff options
context:
space:
mode:
authorMatthew Lemon <y@yulqen.org>2024-12-31 16:01:12 +0000
committerMatthew Lemon <y@yulqen.org>2024-12-31 16:01:12 +0000
commitc74ea9e6b4af97be26029334868fa3264032c2d3 (patch)
tree6d0dcc825f9c4d70f543eeb1817d664e5e358320 /alphabetlearning/users
parentb00665b30423e4818afafdec305202797638e145 (diff)
Major refactoring and removal of junk
This commit includes significant refactoring, cleanup, and updates across various components of the Django project. The following changes were made: - **Database Migration Updates:** - Removed unnecessary migrations in the `alphabetlearning.contrib.sites` and `alphabetlearning.payments` apps, consolidating them into cleaner initial migration files. - Altered the `Site` model in `alphabetlearning.contrib.sites` to streamline its fields and default settings. - Introduced new models in `alphabetlearning.payments` related to email signups and verification, reflecting a shift in focus and better alignment with current business logic. - **Django Settings Changes:** - Updated the database settings to use SQLite for local development, while commenting out production-specific configurations. - Managed third-party dependencies within `requirements.txt` and `pyproject.toml`, ensuring alignment with the latest Django version (5.1.4) and removing obsolete dependencies (e.g., `celery`, `django-celery-beat`, `flower`, etc.). - **Docker and Compose Clean-up:** - Removed old Dockerfiles and unnecessary services from the `docker-compose` configuration, streamlining the local and production setups. - Updated the Dockerfile configuration for local development, focusing on essential services only. - **General Code Clean-up:** - Removed unused tasks, views, tests, and files related to the Celery and Redis frameworks. - Cleaned up various model definitions and their related migrations for consistency and clarity. - **Documentation and Comments:** - Updated comments and code documentation where necessary to reflect the changes made during this cleanup process. This major refactor aims to enhance project maintainability and streamline the development experience while preparing for future feature expansions and improvements.
Diffstat (limited to 'alphabetlearning/users')
-rw-r--r--alphabetlearning/users/migrations/0001_initial.py121
-rw-r--r--alphabetlearning/users/tasks.py9
-rw-r--r--alphabetlearning/users/tests/test_tasks.py17
3 files changed, 22 insertions, 125 deletions
diff --git a/alphabetlearning/users/migrations/0001_initial.py b/alphabetlearning/users/migrations/0001_initial.py
index 20b1233..e5caa0b 100644
--- a/alphabetlearning/users/migrations/0001_initial.py
+++ b/alphabetlearning/users/migrations/0001_initial.py
@@ -1,118 +1,41 @@
-import django.contrib.auth.models
-import django.contrib.auth.validators
-import django.utils.timezone
-from django.db import migrations
-from django.db import models
+# Generated by Django 5.1.4 on 2024-12-31 15:26
-import alphabetlearning.users.models
+import alphabetlearning.users.managers
+import django.utils.timezone
+from django.db import migrations, models
class Migration(migrations.Migration):
+
initial = True
dependencies = [
- ("auth", "0012_alter_user_first_name_max_length"),
+ ('auth', '0012_alter_user_first_name_max_length'),
]
operations = [
migrations.CreateModel(
- name="User",
+ name='User',
fields=[
- (
- "id",
- models.BigAutoField(
- auto_created=True,
- primary_key=True,
- serialize=False,
- verbose_name="ID",
- ),
- ),
- ("password", models.CharField(max_length=128, verbose_name="password")),
- (
- "last_login",
- models.DateTimeField(
- blank=True,
- null=True,
- verbose_name="last login",
- ),
- ),
- (
- "is_superuser",
- models.BooleanField(
- default=False,
- help_text="Designates that this user has all permissions without explicitly assigning them.",
- verbose_name="superuser status",
- ),
- ),
- (
- "email",
- models.EmailField(
- unique=True,
- max_length=254,
- verbose_name="email address",
- ),
- ),
- (
- "is_staff",
- models.BooleanField(
- default=False,
- help_text="Designates whether the user can log into this admin site.",
- verbose_name="staff status",
- ),
- ),
- (
- "is_active",
- models.BooleanField(
- default=True,
- help_text="Designates whether this user should be treated as active. Unselect this instead of deleting accounts.",
- verbose_name="active",
- ),
- ),
- (
- "date_joined",
- models.DateTimeField(
- default=django.utils.timezone.now,
- verbose_name="date joined",
- ),
- ),
- (
- "name",
- models.CharField(
- blank=True,
- max_length=255,
- verbose_name="Name of User",
- ),
- ),
- (
- "groups",
- models.ManyToManyField(
- blank=True,
- help_text="The groups this user belongs to. A user will get all permissions granted to each of their groups.",
- related_name="user_set",
- related_query_name="user",
- to="auth.Group",
- verbose_name="groups",
- ),
- ),
- (
- "user_permissions",
- models.ManyToManyField(
- blank=True,
- help_text="Specific permissions for this user.",
- related_name="user_set",
- related_query_name="user",
- to="auth.Permission",
- verbose_name="user permissions",
- ),
- ),
+ ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
+ ('password', models.CharField(max_length=128, verbose_name='password')),
+ ('last_login', models.DateTimeField(blank=True, null=True, verbose_name='last login')),
+ ('is_superuser', models.BooleanField(default=False, help_text='Designates that this user has all permissions without explicitly assigning them.', verbose_name='superuser status')),
+ ('is_staff', models.BooleanField(default=False, help_text='Designates whether the user can log into this admin site.', verbose_name='staff status')),
+ ('is_active', models.BooleanField(default=True, help_text='Designates whether this user should be treated as active. Unselect this instead of deleting accounts.', verbose_name='active')),
+ ('date_joined', models.DateTimeField(default=django.utils.timezone.now, verbose_name='date joined')),
+ ('name', models.CharField(blank=True, max_length=255, verbose_name='Name of User')),
+ ('email', models.EmailField(max_length=254, unique=True, verbose_name='email address')),
+ ('groups', models.ManyToManyField(blank=True, help_text='The groups this user belongs to. A user will get all permissions granted to each of their groups.', related_name='user_set', related_query_name='user', to='auth.group', verbose_name='groups')),
+ ('user_permissions', models.ManyToManyField(blank=True, help_text='Specific permissions for this user.', related_name='user_set', related_query_name='user', to='auth.permission', verbose_name='user permissions')),
],
options={
- "verbose_name": "user",
- "verbose_name_plural": "users",
- "abstract": False,
+ 'verbose_name': 'user',
+ 'verbose_name_plural': 'users',
+ 'abstract': False,
},
managers=[
- ("objects", alphabetlearning.users.models.UserManager()),
+ ('objects', alphabetlearning.users.managers.UserManager()),
],
),
]
diff --git a/alphabetlearning/users/tasks.py b/alphabetlearning/users/tasks.py
deleted file mode 100644
index ca51cd7..0000000
--- a/alphabetlearning/users/tasks.py
+++ /dev/null
@@ -1,9 +0,0 @@
-from celery import shared_task
-
-from .models import User
-
-
-@shared_task()
-def get_users_count():
- """A pointless Celery task to demonstrate usage."""
- return User.objects.count()
diff --git a/alphabetlearning/users/tests/test_tasks.py b/alphabetlearning/users/tests/test_tasks.py
deleted file mode 100644
index 92f0e8a..0000000
--- a/alphabetlearning/users/tests/test_tasks.py
+++ /dev/null
@@ -1,17 +0,0 @@
-import pytest
-from celery.result import EagerResult
-
-from alphabetlearning.users.tasks import get_users_count
-from alphabetlearning.users.tests.factories import UserFactory
-
-pytestmark = pytest.mark.django_db
-
-
-def test_user_count(settings):
- """A basic test to execute the get_users_count Celery task."""
- batch_size = 3
- UserFactory.create_batch(batch_size)
- settings.CELERY_TASK_ALWAYS_EAGER = True
- task_result = get_users_count.delay()
- assert isinstance(task_result, EagerResult)
- assert task_result.result == batch_size