diff --git a/benchcoach/users/admin.py b/benchcoach/users/admin.py index 94af963..14de6f3 100644 --- a/benchcoach/users/admin.py +++ b/benchcoach/users/admin.py @@ -4,9 +4,12 @@ from django.contrib.auth import get_user_model from django.utils.translation import gettext_lazy as _ from benchcoach.users.forms import UserAdminChangeForm, UserAdminCreationForm +from teamsnap.models import Preferences User = get_user_model() +admin.site.register(Preferences) + @admin.register(User) class UserAdmin(auth_admin.UserAdmin): diff --git a/config/urls.py b/config/urls.py index ad1ea6c..86ca410 100644 --- a/config/urls.py +++ b/config/urls.py @@ -15,7 +15,7 @@ urlpatterns = [ # User management path("users/", include("benchcoach.users.urls", namespace="users")), path("accounts/", include("allauth.urls")), - # Your stuff: custom urls includes go here + path("ts/", include("teamsnap.urls")), ] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) diff --git a/teamsnap/forms.py b/teamsnap/forms.py new file mode 100644 index 0000000..5b2f76f --- /dev/null +++ b/teamsnap/forms.py @@ -0,0 +1,16 @@ +from django import forms +from django.forms import ModelForm + +from .models import Preferences + + +class PreferencesForm(ModelForm): + class Meta: + model = Preferences + fields = ["user", "managed_team_id"] + widgets = { + "user": forms.HiddenInput(), + "managed_team_id": forms.Select( + choices=(), attrs={"class": "form-control"} + ), + } diff --git a/teamsnap/migrations/0001_initial.py b/teamsnap/migrations/0001_initial.py new file mode 100644 index 0000000..c7ba542 --- /dev/null +++ b/teamsnap/migrations/0001_initial.py @@ -0,0 +1,25 @@ +# Generated by Django 3.2.13 on 2022-06-02 13:20 + +from django.conf import settings +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + initial = True + + dependencies = [ + migrations.swappable_dependency(settings.AUTH_USER_MODEL), + ] + + operations = [ + migrations.CreateModel( + name='Preferences', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('managed_team_id', models.IntegerField()), + ('user', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), + ], + ), + ] diff --git a/teamsnap/models.py b/teamsnap/models.py index 6b20219..7a48f0a 100644 --- a/teamsnap/models.py +++ b/teamsnap/models.py @@ -1 +1,9 @@ # Create your models here. +from django.db import models + +from benchcoach.users.models import User + + +class Preferences(models.Model): + user = models.OneToOneField(User, on_delete=models.CASCADE) + managed_team_id = models.IntegerField() diff --git a/teamsnap/provider.py b/teamsnap/provider.py index 0ee17cc..7846da6 100644 --- a/teamsnap/provider.py +++ b/teamsnap/provider.py @@ -8,7 +8,6 @@ class TeamsnapAccount(ProviderAccount): class TeamsnapProvider(OAuth2Provider): - id = "teamsnap" name = "TeamSnap" account_class = TeamsnapAccount diff --git a/teamsnap/templates/preferences.html b/teamsnap/templates/preferences.html new file mode 100644 index 0000000..68efc2a --- /dev/null +++ b/teamsnap/templates/preferences.html @@ -0,0 +1,7 @@ +{% extends "base.html" %} +{% block content %} +
+{% endblock content %} diff --git a/teamsnap/templates/schedule.html b/teamsnap/templates/schedule.html new file mode 100644 index 0000000..afb28cb --- /dev/null +++ b/teamsnap/templates/schedule.html @@ -0,0 +1,48 @@ +{% extends "base.html" %}{% load static %} +{% block title %} {{ title }}{% endblock %} + +{% block content %} + {% load tz %} +