Merge pull request #328 from nottinghamtec/django2

Upgrade to Django 2
This commit is contained in:
David Taylor
2018-04-02 21:36:10 +01:00
committed by GitHub
23 changed files with 87 additions and 69 deletions

View File

@@ -1,7 +1,7 @@
from django.contrib.auth import REDIRECT_FIELD_NAME from django.contrib.auth import REDIRECT_FIELD_NAME
from django.shortcuts import render from django.shortcuts import render
from django.http import HttpResponseRedirect from django.http import HttpResponseRedirect
from django.core.urlresolvers import reverse from django.urls import reverse
from RIGS import models from RIGS import models
@@ -23,7 +23,7 @@ def user_passes_test_with_403(test_func, login_url=None, oembed_view=None):
def _checklogin(request, *args, **kwargs): def _checklogin(request, *args, **kwargs):
if test_func(request.user): if test_func(request.user):
return view_func(request, *args, **kwargs) return view_func(request, *args, **kwargs)
elif not request.user.is_authenticated(): elif not request.user.is_authenticated:
if oembed_view is not None: if oembed_view is not None:
context = {} context = {}
context['oembed_url'] = "{0}://{1}{2}".format(request.scheme, request.META['HTTP_HOST'], reverse(oembed_view, kwargs=kwargs)) context['oembed_url'] = "{0}://{1}{2}".format(request.scheme, request.META['HTTP_HOST'], reverse(oembed_view, kwargs=kwargs))

View File

@@ -66,7 +66,7 @@ INSTALLED_APPS = (
'raven.contrib.django.raven_compat', 'raven.contrib.django.raven_compat',
) )
MIDDLEWARE_CLASSES = ( MIDDLEWARE = (
'raven.contrib.django.raven_compat.middleware.SentryResponseErrorIdMiddleware', 'raven.contrib.django.raven_compat.middleware.SentryResponseErrorIdMiddleware',
'django.middleware.security.SecurityMiddleware', 'django.middleware.security.SecurityMiddleware',
'debug_toolbar.middleware.DebugToolbarMiddleware', 'debug_toolbar.middleware.DebugToolbarMiddleware',
@@ -75,7 +75,6 @@ MIDDLEWARE_CLASSES = (
'django.middleware.common.CommonMiddleware', 'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware', 'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.auth.middleware.SessionAuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware', 'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware',
) )

View File

@@ -17,7 +17,7 @@ urlpatterns = [
url('^user/', include('django.contrib.auth.urls')), url('^user/', include('django.contrib.auth.urls')),
url('^user/', include('registration.backends.default.urls')), url('^user/', include('registration.backends.default.urls')),
url(r'^admin/', include(admin.site.urls)), url(r'^admin/', admin.site.urls),
] ]
if settings.DEBUG: if settings.DEBUG:

View File

@@ -2,7 +2,7 @@ import datetime
import re import re
from django.contrib import messages from django.contrib import messages
from django.core.urlresolvers import reverse_lazy from django.urls import reverse_lazy
from django.http import Http404, HttpResponseRedirect from django.http import Http404, HttpResponseRedirect
from django.http import HttpResponse from django.http import HttpResponse
from django.shortcuts import get_object_or_404 from django.shortcuts import get_object_or_404

View File

@@ -1,7 +1,7 @@
from RIGS import models, forms from RIGS import models, forms
from django_ical.views import ICalFeed from django_ical.views import ICalFeed
from django.db.models import Q from django.db.models import Q
from django.core.urlresolvers import reverse_lazy, reverse, NoReverseMatch from django.urls import reverse_lazy, reverse, NoReverseMatch
from django.utils import timezone from django.utils import timezone
from django.conf import settings from django.conf import settings

View File

@@ -18,7 +18,7 @@ class Migration(migrations.Migration):
('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
('postedAt', models.DateTimeField(auto_now=True)), ('postedAt', models.DateTimeField(auto_now=True)),
('message', models.TextField()), ('message', models.TextField()),
('user', models.ForeignKey(to=settings.AUTH_USER_MODEL)), ('user', models.ForeignKey(to=settings.AUTH_USER_MODEL, on_delete=models.CASCADE)),
], ],
options={ options={
}, },

View File

@@ -33,11 +33,11 @@ class Migration(migrations.Migration):
('payment_method', models.CharField(blank=True, null=True, max_length=255)), ('payment_method', models.CharField(blank=True, null=True, max_length=255)),
('payment_received', models.CharField(blank=True, null=True, max_length=255)), ('payment_received', models.CharField(blank=True, null=True, max_length=255)),
('purchase_order', models.CharField(blank=True, null=True, max_length=255)), ('purchase_order', models.CharField(blank=True, null=True, max_length=255)),
('based_on', models.ForeignKey(to='RIGS.Event', related_name='future_events')), ('based_on', models.ForeignKey(to='RIGS.Event', related_name='future_events', on_delete=models.CASCADE)),
('checked_in_by', models.ForeignKey(to=settings.AUTH_USER_MODEL, related_name='event_checked_in')), ('checked_in_by', models.ForeignKey(to=settings.AUTH_USER_MODEL, related_name='event_checked_in', on_delete=models.CASCADE)),
('mic', models.ForeignKey(to=settings.AUTH_USER_MODEL, related_name='event_mic')), ('mic', models.ForeignKey(to=settings.AUTH_USER_MODEL, related_name='event_mic', on_delete=models.CASCADE)),
('organisation', models.ForeignKey(to='RIGS.Organisation')), ('organisation', models.ForeignKey(to='RIGS.Organisation', on_delete=models.CASCADE)),
('person', models.ForeignKey(to='RIGS.Person')), ('person', models.ForeignKey(to='RIGS.Person', on_delete=models.CASCADE)),
], ],
options={ options={
}, },
@@ -52,7 +52,7 @@ class Migration(migrations.Migration):
('quantity', models.IntegerField()), ('quantity', models.IntegerField()),
('cost', models.DecimalField(max_digits=10, decimal_places=2)), ('cost', models.DecimalField(max_digits=10, decimal_places=2)),
('order', models.IntegerField()), ('order', models.IntegerField()),
('event', models.ForeignKey(to='RIGS.Event', related_name='item')), ('event', models.ForeignKey(to='RIGS.Event', related_name='item', on_delete=models.CASCADE)),
], ],
options={ options={
}, },
@@ -75,7 +75,7 @@ class Migration(migrations.Migration):
migrations.AddField( migrations.AddField(
model_name='event', model_name='event',
name='venue', name='venue',
field=models.ForeignKey(to='RIGS.Venue'), field=models.ForeignKey(to='RIGS.Venue', on_delete=models.CASCADE),
preserve_default=True, preserve_default=True,
), ),
] ]

View File

@@ -14,26 +14,26 @@ class Migration(migrations.Migration):
migrations.AlterField( migrations.AlterField(
model_name='event', model_name='event',
name='based_on', name='based_on',
field=models.ForeignKey(to='RIGS.Event', related_name='future_events', blank=True, null=True), field=models.ForeignKey(to='RIGS.Event', related_name='future_events', blank=True, null=True, on_delete=models.CASCADE),
preserve_default=True, preserve_default=True,
), ),
migrations.AlterField( migrations.AlterField(
model_name='event', model_name='event',
name='checked_in_by', name='checked_in_by',
field=models.ForeignKey(to=settings.AUTH_USER_MODEL, related_name='event_checked_in', blank=True, field=models.ForeignKey(to=settings.AUTH_USER_MODEL, related_name='event_checked_in', blank=True,
null=True), null=True, on_delete=models.CASCADE),
preserve_default=True, preserve_default=True,
), ),
migrations.AlterField( migrations.AlterField(
model_name='event', model_name='event',
name='mic', name='mic',
field=models.ForeignKey(to=settings.AUTH_USER_MODEL, related_name='event_mic', blank=True, null=True), field=models.ForeignKey(to=settings.AUTH_USER_MODEL, related_name='event_mic', blank=True, null=True, on_delete=models.CASCADE),
preserve_default=True, preserve_default=True,
), ),
migrations.AlterField( migrations.AlterField(
model_name='event', model_name='event',
name='organisation', name='organisation',
field=models.ForeignKey(to='RIGS.Organisation', blank=True, null=True), field=models.ForeignKey(to='RIGS.Organisation', blank=True, null=True, on_delete=models.CASCADE),
preserve_default=True, preserve_default=True,
), ),
migrations.AlterField( migrations.AlterField(

View File

@@ -19,8 +19,8 @@ class Migration(migrations.Migration):
('run', models.BooleanField(default=False)), ('run', models.BooleanField(default=False)),
('derig', models.BooleanField(default=False)), ('derig', models.BooleanField(default=False)),
('notes', models.TextField(blank=True, null=True)), ('notes', models.TextField(blank=True, null=True)),
('event', models.ForeignKey(related_name='crew', to='RIGS.Event')), ('event', models.ForeignKey(related_name='crew', to='RIGS.Event', on_delete=models.CASCADE)),
('user', models.ForeignKey(to=settings.AUTH_USER_MODEL)), ('user', models.ForeignKey(to=settings.AUTH_USER_MODEL, on_delete=models.CASCADE)),
], ],
options={ options={
}, },
@@ -35,7 +35,7 @@ class Migration(migrations.Migration):
migrations.AlterField( migrations.AlterField(
model_name='eventitem', model_name='eventitem',
name='event', name='event',
field=models.ForeignKey(related_name='items', to='RIGS.Event'), field=models.ForeignKey(related_name='items', to='RIGS.Event', on_delete=models.CASCADE),
preserve_default=True, preserve_default=True,
), ),
] ]

View File

@@ -14,7 +14,7 @@ class Migration(migrations.Migration):
migrations.AlterField( migrations.AlterField(
model_name='event', model_name='event',
name='person', name='person',
field=models.ForeignKey(blank=True, null=True, to='RIGS.Person'), field=models.ForeignKey(blank=True, null=True, to='RIGS.Person', on_delete=models.CASCADE),
preserve_default=True, preserve_default=True,
), ),
] ]

View File

@@ -14,13 +14,13 @@ class Migration(migrations.Migration):
migrations.AlterField( migrations.AlterField(
model_name='event', model_name='event',
name='venue', name='venue',
field=models.ForeignKey(blank=True, to='RIGS.Venue', null=True), field=models.ForeignKey(blank=True, to='RIGS.Venue', null=True, on_delete=models.CASCADE),
preserve_default=True, preserve_default=True,
), ),
migrations.AlterField( migrations.AlterField(
model_name='eventitem', model_name='eventitem',
name='event', name='event',
field=models.ForeignKey(related_name='items', blank=True, to='RIGS.Event'), field=models.ForeignKey(related_name='items', blank=True, to='RIGS.Event', on_delete=models.CASCADE),
preserve_default=True, preserve_default=True,
), ),
] ]

View File

@@ -18,7 +18,7 @@ class Migration(migrations.Migration):
('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
('invoice_date', models.DateField(auto_now_add=True)), ('invoice_date', models.DateField(auto_now_add=True)),
('void', models.BooleanField()), ('void', models.BooleanField()),
('event', models.OneToOneField(to='RIGS.Event')), ('event', models.OneToOneField(to='RIGS.Event', on_delete=models.CASCADE)),
], ],
options={ options={
}, },
@@ -31,7 +31,7 @@ class Migration(migrations.Migration):
('date', models.DateField()), ('date', models.DateField()),
('amount', models.DecimalField(help_text=b'Please use ex. VAT', max_digits=10, decimal_places=2)), ('amount', models.DecimalField(help_text=b'Please use ex. VAT', max_digits=10, decimal_places=2)),
('method', models.CharField(max_length=2, choices=[(b'C', b'Cash'), (b'I', b'Internal'), (b'E', b'External'), (b'SU', b'SU Core'), (b'M', b'Members')])), ('method', models.CharField(max_length=2, choices=[(b'C', b'Cash'), (b'I', b'Internal'), (b'E', b'External'), (b'SU', b'SU Core'), (b'M', b'Members')])),
('invoice', models.ForeignKey(to='RIGS.Invoice')), ('invoice', models.ForeignKey(to='RIGS.Invoice', on_delete=models.CASCADE)),
], ],
options={ options={
}, },
@@ -40,7 +40,7 @@ class Migration(migrations.Migration):
migrations.AlterField( migrations.AlterField(
model_name='event', model_name='event',
name='mic', name='mic',
field=models.ForeignKey(related_name='event_mic', verbose_name=b'MIC', blank=True, to=settings.AUTH_USER_MODEL, null=True), field=models.ForeignKey(related_name='event_mic', verbose_name=b'MIC', blank=True, to=settings.AUTH_USER_MODEL, null=True, on_delete=models.CASCADE),
preserve_default=True, preserve_default=True,
), ),
] ]

View File

@@ -21,7 +21,7 @@ class Migration(migrations.Migration):
('account_code', models.CharField(max_length=50, null=True, blank=True)), ('account_code', models.CharField(max_length=50, null=True, blank=True)),
('amount', models.DecimalField(verbose_name=b'authorisation amount', max_digits=10, decimal_places=2)), ('amount', models.DecimalField(verbose_name=b'authorisation amount', max_digits=10, decimal_places=2)),
('created_at', models.DateTimeField(auto_now_add=True)), ('created_at', models.DateTimeField(auto_now_add=True)),
('event', models.ForeignKey(related_name='authroisations', to='RIGS.Event')), ('event', models.ForeignKey(related_name='authroisations', to='RIGS.Event', on_delete=models.CASCADE)),
], ],
), ),
] ]

View File

@@ -14,6 +14,6 @@ class Migration(migrations.Migration):
migrations.AlterField( migrations.AlterField(
model_name='eventauthorisation', model_name='eventauthorisation',
name='event', name='event',
field=models.OneToOneField(related_name='authorisation', to='RIGS.Event'), field=models.OneToOneField(related_name='authorisation', to='RIGS.Event', on_delete=models.CASCADE),
), ),
] ]

View File

@@ -15,7 +15,7 @@ class Migration(migrations.Migration):
migrations.AddField( migrations.AddField(
model_name='eventauthorisation', model_name='eventauthorisation',
name='sent_by', name='sent_by',
field=models.ForeignKey(default=1, to=settings.AUTH_USER_MODEL), field=models.ForeignKey(default=1, to=settings.AUTH_USER_MODEL, on_delete=models.CASCADE),
preserve_default=False, preserve_default=False,
), ),
] ]

View File

@@ -20,7 +20,7 @@ class Migration(migrations.Migration):
migrations.AddField( migrations.AddField(
model_name='event', model_name='event',
name='auth_request_by', name='auth_request_by',
field=models.ForeignKey(blank=True, to=settings.AUTH_USER_MODEL, null=True), field=models.ForeignKey(blank=True, to=settings.AUTH_USER_MODEL, null=True, on_delete=models.CASCADE),
), ),
migrations.AddField( migrations.AddField(
model_name='event', model_name='event',

View File

@@ -0,0 +1,18 @@
# Generated by Django 2.0.3 on 2018-03-25 00:16
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('RIGS', '0032_auto_20170904_2355'),
]
operations = [
migrations.AlterField(
model_name='profile',
name='last_name',
field=models.CharField(blank=True, max_length=150, verbose_name='last name'),
),
]

View File

@@ -18,7 +18,7 @@ from collections import Counter
from decimal import Decimal from decimal import Decimal
from django.core.exceptions import ValidationError from django.core.exceptions import ValidationError
from django.core.urlresolvers import reverse_lazy from django.urls import reverse_lazy
# Create your models here. # Create your models here.
@@ -302,9 +302,9 @@ class Event(models.Model, RevisionMixin):
) )
name = models.CharField(max_length=255) name = models.CharField(max_length=255)
person = models.ForeignKey('Person', null=True, blank=True) person = models.ForeignKey('Person', null=True, blank=True, on_delete=models.CASCADE)
organisation = models.ForeignKey('Organisation', blank=True, null=True) organisation = models.ForeignKey('Organisation', blank=True, null=True, on_delete=models.CASCADE)
venue = models.ForeignKey('Venue', blank=True, null=True) venue = models.ForeignKey('Venue', blank=True, null=True, on_delete=models.CASCADE)
description = models.TextField(blank=True, null=True) description = models.TextField(blank=True, null=True)
notes = models.TextField(blank=True, null=True) notes = models.TextField(blank=True, null=True)
status = models.IntegerField(choices=EVENT_STATUS_CHOICES, default=PROVISIONAL) status = models.IntegerField(choices=EVENT_STATUS_CHOICES, default=PROVISIONAL)
@@ -323,9 +323,9 @@ class Event(models.Model, RevisionMixin):
meet_info = models.CharField(max_length=255, blank=True, null=True) meet_info = models.CharField(max_length=255, blank=True, null=True)
# Crew management # Crew management
checked_in_by = models.ForeignKey(settings.AUTH_USER_MODEL, related_name='event_checked_in', blank=True, null=True) checked_in_by = models.ForeignKey(settings.AUTH_USER_MODEL, related_name='event_checked_in', blank=True, null=True, on_delete=models.CASCADE)
mic = models.ForeignKey(settings.AUTH_USER_MODEL, related_name='event_mic', blank=True, null=True, mic = models.ForeignKey(settings.AUTH_USER_MODEL, related_name='event_mic', blank=True, null=True,
verbose_name="MIC") verbose_name="MIC", on_delete=models.CASCADE)
# Monies # Monies
payment_method = models.CharField(max_length=255, blank=True, null=True) payment_method = models.CharField(max_length=255, blank=True, null=True)
@@ -334,7 +334,7 @@ class Event(models.Model, RevisionMixin):
collector = models.CharField(max_length=255, blank=True, null=True, verbose_name='collected by') collector = models.CharField(max_length=255, blank=True, null=True, verbose_name='collected by')
# Authorisation request details # Authorisation request details
auth_request_by = models.ForeignKey('Profile', null=True, blank=True) auth_request_by = models.ForeignKey('Profile', null=True, blank=True, on_delete=models.CASCADE)
auth_request_at = models.DateTimeField(null=True, blank=True) auth_request_at = models.DateTimeField(null=True, blank=True)
auth_request_to = models.EmailField(null=True, blank=True) auth_request_to = models.EmailField(null=True, blank=True)
@@ -485,7 +485,7 @@ class Event(models.Model, RevisionMixin):
class EventItem(models.Model): class EventItem(models.Model):
event = models.ForeignKey('Event', related_name='items', blank=True) event = models.ForeignKey('Event', related_name='items', blank=True, on_delete=models.CASCADE)
name = models.CharField(max_length=255) name = models.CharField(max_length=255)
description = models.TextField(blank=True, null=True) description = models.TextField(blank=True, null=True)
quantity = models.IntegerField() quantity = models.IntegerField()
@@ -504,8 +504,8 @@ class EventItem(models.Model):
class EventCrew(models.Model): class EventCrew(models.Model):
event = models.ForeignKey('Event', related_name='crew') event = models.ForeignKey('Event', related_name='crew', on_delete=models.CASCADE)
user = models.ForeignKey(settings.AUTH_USER_MODEL) user = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE)
rig = models.BooleanField(default=False) rig = models.BooleanField(default=False)
run = models.BooleanField(default=False) run = models.BooleanField(default=False)
derig = models.BooleanField(default=False) derig = models.BooleanField(default=False)
@@ -514,13 +514,13 @@ class EventCrew(models.Model):
@reversion.register @reversion.register
class EventAuthorisation(models.Model, RevisionMixin): class EventAuthorisation(models.Model, RevisionMixin):
event = models.OneToOneField('Event', related_name='authorisation') event = models.OneToOneField('Event', related_name='authorisation', on_delete=models.CASCADE)
email = models.EmailField() email = models.EmailField()
name = models.CharField(max_length=255) name = models.CharField(max_length=255)
uni_id = models.CharField(max_length=10, blank=True, null=True, verbose_name="University ID") uni_id = models.CharField(max_length=10, blank=True, null=True, verbose_name="University ID")
account_code = models.CharField(max_length=50, blank=True, null=True) account_code = models.CharField(max_length=50, blank=True, null=True)
amount = models.DecimalField(max_digits=10, decimal_places=2, verbose_name="authorisation amount") amount = models.DecimalField(max_digits=10, decimal_places=2, verbose_name="authorisation amount")
sent_by = models.ForeignKey('RIGS.Profile') sent_by = models.ForeignKey('RIGS.Profile', on_delete=models.CASCADE)
def get_absolute_url(self): def get_absolute_url(self):
return reverse_lazy('event_detail', kwargs={'pk': self.event.pk}) return reverse_lazy('event_detail', kwargs={'pk': self.event.pk})
@@ -532,7 +532,7 @@ class EventAuthorisation(models.Model, RevisionMixin):
@python_2_unicode_compatible @python_2_unicode_compatible
class Invoice(models.Model): class Invoice(models.Model):
event = models.OneToOneField('Event') event = models.OneToOneField('Event', on_delete=models.CASCADE)
invoice_date = models.DateField(auto_now_add=True) invoice_date = models.DateField(auto_now_add=True)
void = models.BooleanField(default=False) void = models.BooleanField(default=False)
@@ -584,7 +584,7 @@ class Payment(models.Model):
(ADJUSTMENT, 'TEC Adjustment'), (ADJUSTMENT, 'TEC Adjustment'),
) )
invoice = models.ForeignKey('Invoice') invoice = models.ForeignKey('Invoice', on_delete=models.CASCADE)
date = models.DateField() date = models.DateField()
amount = models.DecimalField(max_digits=10, decimal_places=2, help_text='Please use ex. VAT') amount = models.DecimalField(max_digits=10, decimal_places=2, help_text='Please use ex. VAT')
method = models.CharField(max_length=2, choices=METHODS, null=True, blank=True) method = models.CharField(max_length=2, choices=METHODS, null=True, blank=True)

View File

@@ -6,12 +6,12 @@ import urllib.parse
from django.contrib.staticfiles.storage import staticfiles_storage from django.contrib.staticfiles.storage import staticfiles_storage
from django.core.mail import EmailMessage, EmailMultiAlternatives from django.core.mail import EmailMessage, EmailMultiAlternatives
from django.views import generic from django.views import generic
from django.core.urlresolvers import reverse_lazy from django.urls import reverse_lazy
from django.shortcuts import get_object_or_404 from django.shortcuts import get_object_or_404
from django.template import RequestContext from django.template import RequestContext
from django.template.loader import get_template from django.template.loader import get_template
from django.conf import settings from django.conf import settings
from django.core.urlresolvers import reverse from django.urls import reverse
from django.core import signing from django.core import signing
from django.http import HttpResponse from django.http import HttpResponse
from django.core.exceptions import SuspiciousOperation from django.core.exceptions import SuspiciousOperation

View File

@@ -18,7 +18,7 @@ from selenium.webdriver.support.ui import WebDriverWait
from RIGS import models from RIGS import models
from reversion import revisions as reversion from reversion import revisions as reversion
from django.core.urlresolvers import reverse from django.urls import reverse
from django.core import mail, signing from django.core import mail, signing

View File

@@ -2,7 +2,7 @@ from datetime import date
from django.core.exceptions import ObjectDoesNotExist from django.core.exceptions import ObjectDoesNotExist
from django.core.management import call_command from django.core.management import call_command
from django.core.urlresolvers import reverse from django.urls import reverse
from django.test import TestCase from django.test import TestCase
from django.test.utils import override_settings from django.test.utils import override_settings

View File

@@ -1,7 +1,7 @@
from django.core.exceptions import PermissionDenied from django.core.exceptions import PermissionDenied
from django.http.response import HttpResponseRedirect from django.http.response import HttpResponseRedirect
from django.http import HttpResponse from django.http import HttpResponse
from django.core.urlresolvers import reverse_lazy, reverse, NoReverseMatch from django.urls import reverse_lazy, reverse, NoReverseMatch
from django.views import generic from django.views import generic
from django.db.models import Q from django.db.models import Q
from django.shortcuts import get_object_or_404 from django.shortcuts import get_object_or_404
@@ -34,7 +34,7 @@ class Index(generic.TemplateView):
def login(request, **kwargs): def login(request, **kwargs):
if request.user.is_authenticated(): if request.user.is_authenticated:
next = request.GET.get('next', '/') next = request.GET.get('next', '/')
return HttpResponseRedirect(next) return HttpResponseRedirect(next)
else: else:
@@ -49,7 +49,7 @@ def login(request, **kwargs):
# check for it before logging the user in # check for it before logging the user in
@csrf_exempt @csrf_exempt
def login_embed(request, **kwargs): def login_embed(request, **kwargs):
if request.user.is_authenticated(): if request.user.is_authenticated:
next = request.GET.get('next', '/') next = request.GET.get('next', '/')
return HttpResponseRedirect(next) return HttpResponseRedirect(next)
else: else:

View File

@@ -1,28 +1,29 @@
beautifulsoup4==4.6.0 beautifulsoup4==4.6.0
contextlib2==0.5.5 contextlib2==0.5.5
diff-match-patch==20121119 diff-match-patch==20121119
dj-database-url==0.4.2 dj-database-url==0.5.0
dj-static==0.0.6 dj-static==0.0.6
Django==1.11.7 Django==2.0.3
django-debug-toolbar==1.9.1 django-debug-toolbar==1.9.1
django-ical==1.4 django-ical==1.4
django-recaptcha==1.3.1 django-recaptcha==1.4.0
django-registration-redux==1.9 django-registration-redux==2.2
django-reversion==2.0.11 django-reversion==2.0.13
django-toolbelt==0.0.1 django-toolbelt==0.0.1
premailer==3.1.1 premailer==3.1.1
django-widget-tweaks==1.4.1 #django-widget-tweaks==1.4.1
git+git://github.com/jazzband/django-widget-tweaks.git@1.4.2
gunicorn==19.7.1 gunicorn==19.7.1
icalendar==4.0.0 icalendar==4.0.1
lxml==4.1.1 lxml==4.2.1
Markdown==2.6.9 Markdown==2.6.11
Pillow==4.3.0 Pillow==5.0.0
psycopg2==2.7.3.2 psycopg2==2.7.4
Pygments==2.2.0 Pygments==2.2.0
PyPDF2==1.26.0 PyPDF2==1.26.0
python-dateutil==2.6.1 python-dateutil==2.7.1
pytz==2017.3 pytz==2018.3
raven==6.3.0 raven==6.6.0
reportlab==3.4.0 reportlab==3.4.0
selenium==3.11.0 selenium==3.11.0
simplejson==3.13.2 simplejson==3.13.2
@@ -31,7 +32,7 @@ sqlparse==0.2.4
static3==0.7.0 static3==0.7.0
svg2rlg==0.3 svg2rlg==0.3
yolk==0.4.3 yolk==0.4.3
z3c.rml==3.2.0 z3c.rml==3.3.0
zope.event==4.3.0 zope.event==4.3.0
zope.interface==4.4.3 zope.interface==4.4.3
zope.schema==4.5.0 zope.schema==4.5.0