Skip to content

Commit

Permalink
feature/use get_user_model (#1037)
Browse files Browse the repository at this point in the history
* use get_user_model

* removed more direct uses of User

---------

Co-authored-by: George Burton <g.e.c.cburton@gmail.com>
  • Loading branch information
gecBurton and George Burton authored Sep 11, 2024
1 parent 4d76116 commit 18187b8
Show file tree
Hide file tree
Showing 7 changed files with 20 additions and 13 deletions.
8 changes: 5 additions & 3 deletions django_app/redbox_app/redbox_core/admin.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
import logging

from django.contrib import admin
from django.contrib.auth import get_user_model
from django.db.models import QuerySet
from django.http import HttpResponse
from django.shortcuts import render
Expand All @@ -15,6 +16,7 @@
from .serializers import UserSerializer

logger = logging.getLogger(__name__)
User = get_user_model()


class UserAdmin(ImportExportMixin, admin.ModelAdmin):
Expand Down Expand Up @@ -53,11 +55,11 @@ def export_as_json(self, request, queryset: QuerySet): # noqa:ARG002
date_hierarchy = "last_login"

@admin.display(ordering="ai_experience", description="AI Experience")
def get_ai(self, obj: models.User):
def get_ai(self, obj: User):
return obj.ai_experience

class Meta:
model = models.User
model = User
fields = ["email"]
import_id_fields = ["email"]

Expand Down Expand Up @@ -169,7 +171,7 @@ def reporting_dashboard(request):
return render(request, "report.html", {}, using="django")


admin.site.register(models.User, UserAdmin)
admin.site.register(User, UserAdmin)
admin.site.register(models.File, FileAdmin)
admin.site.register(models.Chat, ChatAdmin)
admin.site.register(models.ChatMessage, ChatMessageAdmin)
Expand Down
3 changes: 2 additions & 1 deletion django_app/redbox_app/redbox_core/forms.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,9 @@
from typing import ClassVar

from django import forms
from django.contrib.auth import get_user_model

from redbox_app.redbox_core.models import User
User = get_user_model()


class SignInForm(forms.Form):
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,12 @@
import logging
from argparse import ArgumentParser

from django.contrib.auth import get_user_model
from django.core.management import BaseCommand, CommandError
from django.db.models import Max
from magic_link.models import MagicLink

from redbox_app.redbox_core.models import User
User = get_user_model()

logger = logging.getLogger(__name__)

Expand Down
8 changes: 4 additions & 4 deletions django_app/redbox_app/redbox_core/views/auth_views.py
Original file line number Diff line number Diff line change
@@ -1,18 +1,18 @@
import logging

from django.conf import settings
from django.contrib.auth import logout
from django.contrib.auth import get_user_model, logout
from django.core.mail import send_mail
from django.http import HttpRequest
from django.shortcuts import redirect, render
from django.template.loader import render_to_string
from magic_link.models import MagicLink
from requests import HTTPError

from redbox_app.redbox_core import models
from redbox_app.redbox_core.forms import SignInForm

logger = logging.getLogger(__name__)
User = get_user_model()


def sign_in_view(request: HttpRequest):
Expand All @@ -24,7 +24,7 @@ def sign_in_view(request: HttpRequest):
email = form.cleaned_data["email"].lower()

try:
user = models.User.objects.get(email=email)
user = User.objects.get(email=email)
link = MagicLink.objects.create(user=user, redirect_to="/check-demographics")
full_link = request.build_absolute_uri(link.get_absolute_url())
body = render_to_string("email/verification.txt", {"url": full_link})
Expand All @@ -34,7 +34,7 @@ def sign_in_view(request: HttpRequest):
from_email=settings.FROM_EMAIL,
recipient_list=[email],
)
except models.User.DoesNotExist as e:
except User.DoesNotExist as e:
logger.debug("User with email %s not found", email, exc_info=e)
except HTTPError as e:
logger.exception("failed to send link to %s", email, exc_info=e)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import logging

from django.contrib.auth import get_user_model
from django.contrib.auth.decorators import login_required
from django.contrib.auth.mixins import LoginRequiredMixin
from django.http import HttpRequest, HttpResponse
Expand All @@ -9,7 +10,8 @@
from django.views.generic import UpdateView

from redbox_app.redbox_core.forms import DemographicsForm
from redbox_app.redbox_core.models import User

User = get_user_model()

logger = logging.getLogger(__name__)

Expand Down
4 changes: 2 additions & 2 deletions django_app/tests/views/test_demographic_views.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,11 @@

import pytest
from bs4 import BeautifulSoup
from django.contrib.auth import get_user_model
from django.test import Client
from pytest_django.asserts import assertRedirects

from redbox_app.redbox_core.models import User

User = get_user_model()
logger = logging.getLogger(__name__)


Expand Down
3 changes: 2 additions & 1 deletion django_app/tests/views/test_misc_views.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,11 @@

import pytest
from django.conf import Settings, settings
from django.contrib.auth import get_user_model
from django.test import Client
from yarl import URL

from redbox_app.redbox_core.models import User
User = get_user_model()

logger = logging.getLogger(__name__)

Expand Down

0 comments on commit 18187b8

Please sign in to comment.