diff --git a/fitapp/migrations/0001_initial.py b/fitapp/migrations/0001_initial.py index 926b26d..b37f9bc 100644 --- a/fitapp/migrations/0001_initial.py +++ b/fitapp/migrations/0001_initial.py @@ -42,7 +42,7 @@ class Migration(migrations.Migration): ('fitbit_user', models.CharField(unique=True, max_length=32)), ('auth_token', models.TextField()), ('auth_secret', models.TextField()), - ('user', models.OneToOneField(to=settings.AUTH_USER_MODEL)), + ('user', models.OneToOneField(to=settings.AUTH_USER_MODEL,on_delete=models.CASCADE)), ], options={ }, @@ -55,13 +55,13 @@ class Migration(migrations.Migration): migrations.AddField( model_name='timeseriesdata', name='resource_type', - field=models.ForeignKey(to='fitapp.TimeSeriesDataType'), + field=models.ForeignKey(to='fitapp.TimeSeriesDataType',on_delete=models.CASCADE), preserve_default=True, ), migrations.AddField( model_name='timeseriesdata', name='user', - field=models.ForeignKey(to=settings.AUTH_USER_MODEL), + field=models.ForeignKey(to=settings.AUTH_USER_MODEL,on_delete=models.CASCADE), preserve_default=True, ), migrations.AlterUniqueTogether( diff --git a/fitapp/migrations/0006_help_text.py b/fitapp/migrations/0006_help_text.py index 630106c..c889bcd 100644 --- a/fitapp/migrations/0006_help_text.py +++ b/fitapp/migrations/0006_help_text.py @@ -20,12 +20,12 @@ class Migration(migrations.Migration): migrations.AlterField( model_name='timeseriesdata', name='resource_type', - field=models.ForeignKey(help_text=b'The type of time series data', to='fitapp.TimeSeriesDataType'), + field=models.ForeignKey(help_text=b'The type of time series data', to='fitapp.TimeSeriesDataType', on_delete=models.CASCADE), ), migrations.AlterField( model_name='timeseriesdata', name='user', - field=models.ForeignKey(help_text=b"The data's user", to=settings.AUTH_USER_MODEL), + field=models.ForeignKey(help_text=b"The data's user", to=settings.AUTH_USER_MODEL, on_delete=models.CASCADE), ), migrations.AlterField( model_name='timeseriesdata', @@ -65,6 +65,6 @@ class Migration(migrations.Migration): migrations.AlterField( model_name='userfitbit', name='user', - field=models.OneToOneField(to=settings.AUTH_USER_MODEL, help_text=b'The user'), + field=models.OneToOneField(to=settings.AUTH_USER_MODEL, help_text=b'The user', on_delete=models.CASCADE), ), ] diff --git a/fitapp/models.py b/fitapp/models.py index ad81bc7..a18327c 100644 --- a/fitapp/models.py +++ b/fitapp/models.py @@ -1,16 +1,16 @@ from django.conf import settings from django.db import models -from django.utils.encoding import python_2_unicode_compatible UserModel = getattr(settings, 'AUTH_USER_MODEL', 'auth.User') -@python_2_unicode_compatible class UserFitbit(models.Model): """ A user's fitbit credentials, allowing API access """ user = models.OneToOneField( - UserModel, help_text='The user') + UserModel, + help_text='The user', + on_delete=models.CASCADE) fitbit_user = models.CharField( max_length=32, unique=True, help_text='The fitbit user ID') access_token = models.TextField(help_text='The OAuth2 access token') @@ -92,9 +92,12 @@ class TimeSeriesData(models.Model): https://dev.fitbit.com/docs/body/#body-time-series """ - user = models.ForeignKey(UserModel, help_text="The data's user") + user = models.ForeignKey(UserModel, + help_text="The data's user", + on_delete=models.CASCADE) resource_type = models.ForeignKey( - TimeSeriesDataType, help_text='The type of time series data') + TimeSeriesDataType, help_text='The type of time series data', + on_delete=models.CASCADE) date = models.DateField(help_text='The date the data was recorded') value = models.CharField( null=True, diff --git a/fitapp/utils.py b/fitapp/utils.py index 80c79e3..1cb8ca8 100644 --- a/fitapp/utils.py +++ b/fitapp/utils.py @@ -35,7 +35,7 @@ def is_integrated(user): :param user: A Django User. """ - if user.is_authenticated() and user.is_active: + if user.is_authenticated and user.is_active: return UserFitbit.objects.filter(user=user).exists() return False diff --git a/fitapp/views.py b/fitapp/views.py index 4915a8b..f61a5b4 100644 --- a/fitapp/views.py +++ b/fitapp/views.py @@ -6,7 +6,7 @@ from django.contrib.auth.decorators import login_required from django.contrib.auth.signals import user_logged_in from django.core.exceptions import ImproperlyConfigured -from django.core.urlresolvers import reverse +from django.urls import reverse from django.dispatch import receiver from django.http import HttpResponse, HttpResponseServerError, Http404 from django.shortcuts import redirect, render @@ -147,7 +147,7 @@ def complete(request): def create_fitbit_session(sender, request, user, **kwargs): """ If the user is a fitbit user, update the profile in the session. """ - if user.is_authenticated() and utils.is_integrated(user) and \ + if user.is_authenticated and utils.is_integrated(user) and \ user.is_active: fbuser = UserFitbit.objects.filter(user=user) if fbuser.exists(): @@ -421,7 +421,7 @@ def get_data(request, category, resource): return make_response(104) fitapp_subscribe = utils.get_setting('FITAPP_SUBSCRIBE') - if not user.is_authenticated() or not user.is_active: + if not user.is_authenticated or not user.is_active: return make_response(101) if not fitapp_subscribe and not utils.is_integrated(user): return make_response(102)