BIG UPD: migrate to python 3.10 and django 3.2
All checks were successful
buildbot/tox Build done.

This commit is contained in:
2022-06-07 16:07:08 +02:00
parent edd4050935
commit 8610e2a557
36 changed files with 192 additions and 91 deletions

View File

@@ -0,0 +1,44 @@
# Generated by Django 3.2.13 on 2022-06-07 11:45
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
('dav_events', '0041_auto_20210107_1220'),
]
operations = [
migrations.AlterField(
model_name='event',
name='id',
field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'),
),
migrations.AlterField(
model_name='eventchange',
name='id',
field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'),
),
migrations.AlterField(
model_name='eventflag',
name='id',
field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'),
),
migrations.AlterField(
model_name='participant',
name='event',
field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='participants', to='dav_events.event'),
),
migrations.AlterField(
model_name='participant',
name='id',
field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'),
),
migrations.AlterField(
model_name='trashedparticipant',
name='id',
field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'),
),
]

View File

@@ -10,10 +10,9 @@ import unicodedata
from babel.dates import format_date
from django.conf import settings
from django.contrib.auth import get_user_model
from django.core.urlresolvers import reverse
from django.urls import reverse
from django.db import models
from django.template.loader import get_template
from django.utils.encoding import python_2_unicode_compatible
from django.utils.translation import get_language, ugettext_lazy as _
from django_countries.fields import Country, CountryField
@@ -27,7 +26,6 @@ from .eventchange import EventChange
logger = logging.getLogger(__name__)
@python_2_unicode_compatible
class Event(models.Model):
# Metadata
owner = models.ForeignKey(settings.AUTH_USER_MODEL,

View File

@@ -3,7 +3,6 @@ from __future__ import unicode_literals
from django.conf import settings
from django.db import models
from django.utils import timezone
from django.utils.encoding import python_2_unicode_compatible
from . import get_ghost_user, get_system_user
@@ -12,7 +11,6 @@ def get_system_user_id():
return get_system_user().id
@python_2_unicode_compatible
class EventChange(models.Model):
UPDATE = 'update'
RAISE_FLAG = 'set_flag'
@@ -23,7 +21,7 @@ class EventChange(models.Model):
(LOWER_FLAG, 'Lower Flag'),
)
event = models.ForeignKey('dav_events.Event', related_name='changes')
event = models.ForeignKey('dav_events.Event', related_name='changes', on_delete=models.CASCADE)
timestamp = models.DateTimeField(default=timezone.now)
user = models.ForeignKey(settings.AUTH_USER_MODEL,
default=get_system_user_id,

View File

@@ -2,7 +2,6 @@ from __future__ import unicode_literals
from django.conf import settings
from django.db import models
from django.utils import timezone
from django.utils.encoding import python_2_unicode_compatible
from . import get_ghost_user, get_system_user
@@ -11,9 +10,8 @@ def get_system_user_id():
return get_system_user().id
@python_2_unicode_compatible
class EventFlag(models.Model):
event = models.ForeignKey('dav_events.Event', related_name='flags')
event = models.ForeignKey('dav_events.Event', related_name='flags', on_delete=models.CASCADE)
status = models.ForeignKey('dav_events.EventStatus',
on_delete=models.PROTECT,
related_name='+')

View File

@@ -1,6 +1,5 @@
from __future__ import unicode_literals
from django.db import models
from django.utils.encoding import python_2_unicode_compatible
from django.utils.translation import ugettext_lazy as _
from ..validators import IdStringValidator
@@ -22,7 +21,6 @@ BOOTSTRAP_CONTEXT_CHOICES = (
)
@python_2_unicode_compatible
class EventStatus(models.Model):
code = models.CharField(primary_key=True, max_length=254, validators=[IdStringValidator])
severity = models.IntegerField(unique=True)

View File

@@ -3,10 +3,9 @@ from __future__ import unicode_literals
import logging
import uuid
from django.contrib.auth import get_user_model
from django.core.urlresolvers import reverse
from django.urls import reverse
from django.db import models
from django.utils import timezone
from django.utils.encoding import python_2_unicode_compatible
from django.utils.translation import ugettext, ugettext_lazy as _
from .event import Event
@@ -14,7 +13,6 @@ from .event import Event
logger = logging.getLogger(__name__)
@python_2_unicode_compatible
class OneClickAction(models.Model):
COMMANDS = (
('EVENT_LIST', 'login and go to event list (user id)'),

View File

@@ -4,7 +4,6 @@ import datetime
from django.core.exceptions import ValidationError
from django.db import models
from django.utils import timezone
from django.utils.encoding import python_2_unicode_compatible
from django.utils.translation import ugettext_lazy as _
from dav_base.validators import DAVNumberValidator
@@ -12,7 +11,6 @@ from dav_base.validators import DAVNumberValidator
midnight = datetime.time(00, 00, 00)
@python_2_unicode_compatible
class AbstractParticipant(models.Model):
personal_names = models.CharField(max_length=1024,
verbose_name=_('Vorname(n)'))
@@ -158,9 +156,8 @@ class AbstractParticipant(models.Model):
return timezone.make_aware(datetime.datetime.combine(purge_date, midnight))
@python_2_unicode_compatible
class Participant(AbstractParticipant):
event = models.ForeignKey('Event', related_name='participants')
event = models.ForeignKey('Event', related_name='participants', on_delete=models.PROTECT)
created_at = models.DateTimeField(auto_now_add=True)
position = models.IntegerField(verbose_name='Listennummer')

View File

@@ -1,15 +1,13 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
from django.db import models
from django.utils.encoding import python_2_unicode_compatible
from django.utils.translation import ugettext_lazy as _
from ..participant import AbstractParticipant
@python_2_unicode_compatible
class TrashedParticipant(AbstractParticipant):
event = models.ForeignKey('Event', related_name='trashed_participants')
event = models.ForeignKey('Event', related_name='trashed_participants', on_delete=models.CASCADE)
created_at = models.DateTimeField()
trashed_at = models.DateTimeField(auto_now_add=True)
position = models.IntegerField(verbose_name='Listennummer')

View File

@@ -2,6 +2,8 @@ from django.conf.urls import url
from . import views
app_name = 'dav_events'
urlpatterns = [
url(r'^home$', views.base.HomeView.as_view(), name='root'),
url(r'^$', views.events.EventListView.as_view(), name='list'),

View File

@@ -754,14 +754,14 @@ class EventCreateView(EventPermissionMixin, generic.FormView):
_(u'Du hast jemand anderen als Tourenleiter eingetragen.'),
_(u'Warum machst du sowas?')
))
elif owner.has_usable_password():
next_url = reverse('dav_events:list')
else:
elif owner.last_login is None:
login(self.request, owner)
next_url = reverse('dav_auth:set_password')
messages.success(self.request,
_(u'Neuen Benutzer angemeldet: %(username)s') % {'username': owner.username})
messages.warning(self.request, _(u'Bitte neues Passwort setzen!'))
else:
next_url = reverse('dav_events:list')
return HttpResponseRedirect(next_url)
def clean_session_data(self, session=None):