upgrade to django4

v1-0-stable
Christian Merten 4 years ago
parent 6a39073ac0
commit 075aa02207

@ -36,6 +36,9 @@ MEDIA_ROOT = os.environ.get('DJANGO_MEDIA_ROOT',
os.path.join((os.path.join(BASE_DIR, os.pardir)), "media"))
MEDIA_MEMBERLISTS = os.path.join((os.path.join(BASE_DIR, os.pardir)), "media")
# default primary key auto field type
DEFAULT_AUTO_FIELD = 'django.db.models.BigAutoField'
# prevent large files from being unreadable by the server
# see
# https://stackoverflow.com/questions/51439689/django-nginx-error-403-forbidden-when-serving-media-files-over-some-size
@ -55,8 +58,7 @@ INSTALLED_APPS = [
'ludwigsburgalpin.apps.LudwigsburgalpinConfig',
#'easy_select2',
'djcelery_email',
'djcelery',
'jet',
#'jet',
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',

@ -13,12 +13,12 @@ Including another URLconf
1. Import the include() function: from django.conf.urls import url, include
2. Add a URL to urlpatterns: url(r'^blog/', include('blog.urls'))
"""
from django.conf.urls import url, include
from django.urls import re_path, include
from django.contrib import admin
from django.conf.urls.static import static
from django.conf.urls.i18n import i18n_patterns
from django.conf import settings
from django.utils.translation import ugettext_lazy as _
from django.utils.translation import gettext_lazy as _
from django.views.generic.base import RedirectView
urlpatterns = static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
@ -27,13 +27,13 @@ admin.site.index_title = _('Startpage')
admin.site.site_header = 'Kompass'
urlpatterns += i18n_patterns(
url(r'^kompass/', admin.site.urls),
url(r'^jet/', include('jet.urls', 'jet')), # Django JET URLS
url(r'^admin/', RedirectView.as_view(url='/kompass')),
url(r'^newsletter/', include('mailer.urls', namespace="mailer")),
url(r'^LBAlpin/Programm/2020', include('ludwigsburgalpin.urls',
re_path(r'^kompass/', admin.site.urls),
#re_path(r'^jet/', include('jet.urls', 'jet')), # Django JET URLS
re_path(r'^admin/', RedirectView.as_view(url='/kompass')),
re_path(r'^newsletter/', include('mailer.urls', namespace="mailer")),
re_path(r'^LBAlpin/Programm/2020', include('ludwigsburgalpin.urls',
namespace="ludwigsburgalpin")),
url(r'^$', include('startpage.urls')),
re_path(r'^$', include('startpage.urls')),
)
# TODO: django serving from MEDIA_URL should be disabled in production stage

@ -1,9 +1,9 @@
from django.conf.urls import url
from django.urls import re_path
from . import views
app_name = "ludwigsburgalpin"
urlpatterns = [
url(r'^$', views.index, name='index')
# url(r'^subscribe', views.subscribe, name='subscribe'),
re_path(r'^$', views.index, name='index')
# re_path(r'^subscribe', views.subscribe, name='subscribe'),
]

@ -1,6 +1,6 @@
from django.contrib import admin, messages
from django.contrib.admin import helpers
from django.utils.translation import ugettext_lazy as _
from django.utils.translation import gettext_lazy as _
from django.shortcuts import render
from django.db import models
from django import forms

@ -1,5 +1,5 @@
from django.apps import AppConfig
from django.utils.translation import ugettext_lazy as _
from django.utils.translation import gettext_lazy as _
class MailerConfig(AppConfig):

@ -1,8 +1,8 @@
from django.db import models
from django.core.exceptions import ValidationError
from django import forms
from django.utils.translation import ugettext_lazy as _
from django.utils.translation import ugettext
from django.utils.translation import gettext_lazy as _
from django.utils.translation import gettext
from .mailutils import send, get_content, NOT_SENT, SENT, PARTLY_SENT, mail_root
from utils import RestrictedFileField
from jdav_web.celery import app
@ -71,10 +71,12 @@ class Message(models.Model):
blank=True)
to_freizeit = models.ForeignKey('members.Freizeit',
verbose_name=_('to freizeit'),
on_delete=models.CASCADE,
blank=True,
null=True)
to_notelist = models.ForeignKey('members.MemberNoteList',
verbose_name=_('to notes list'),
on_delete=models.CASCADE,
blank=True,
null=True)
to_members = models.ManyToManyField('members.Member',

@ -1,10 +1,10 @@
from django.conf.urls import url
from django.urls import re_path
from . import views
app_name = "mailer"
urlpatterns = [
url(r'^$', views.index, name='index'),
re_path(r'^$', views.index, name='index'),
# url(r'^subscribe', views.subscribe, name='subscribe'),
url(r'^unsubscribe', views.unsubscribe, name='unsubscribe'),
re_path(r'^unsubscribe', views.unsubscribe, name='unsubscribe'),
]

@ -1,6 +1,6 @@
from django.shortcuts import render
from django import forms
from django.utils.translation import ugettext_lazy as _
from django.utils.translation import gettext_lazy as _
from django.urls import reverse
from django.http import HttpResponseRedirect
from .mailutils import send as send_mail, mail_root, get_unsubscribe_link

@ -1,5 +1,5 @@
from django.contrib import admin
from django.utils.translation import ugettext_lazy as _
from django.utils.translation import gettext_lazy as _
from django.contrib.admin import SimpleListFilter
from django.db import models
from django import forms

@ -1,5 +1,5 @@
from django.apps import AppConfig
from django.utils.translation import ugettext_lazy as _
from django.utils.translation import gettext_lazy as _
class MaterialConfig(AppConfig):

@ -2,7 +2,7 @@ from datetime import datetime
from django.db import models
from django.utils import timezone
from django.utils.translation import ugettext_lazy as _
from django.utils.translation import gettext_lazy as _
# maximum time in years of a material part until being replaced
MAX_TIME_MATERIAL = 5
@ -82,7 +82,7 @@ class MaterialPart(models.Model):
class Ownership(models.Model):
"""Represents the connection between a MaterialPart and a Member"""
material = models.ForeignKey(MaterialPart, on_delete=models.CASCADE)
owner = models.ForeignKey('members.Member', verbose_name=_('owner'))
owner = models.ForeignKey('members.Member', verbose_name=_('owner'), on_delete=models.CASCADE)
count = models.IntegerField(_('count'), default=1)
def __str__(self):

@ -13,7 +13,7 @@ from django.contrib import admin, messages
from django.contrib.admin import DateFieldListFilter
from django.contrib.contenttypes.admin import GenericTabularInline
from django.utils.html import format_html
from django.utils.translation import ugettext_lazy as _
from django.utils.translation import gettext_lazy as _
from django.db.models import TextField, ManyToManyField, ForeignKey, Count,\
Sum, Case, Q, F, When, Value, IntegerField, Subquery, OuterRef
from django.forms import Textarea, RadioSelect, TypedChoiceField
@ -214,12 +214,10 @@ class ActivityCategoryAdmin(admin.ModelAdmin):
class FreizeitAdminForm(forms.ModelForm):
difficulty = TypedChoiceField(Freizeit.difficulty_choices,
#widget=RadioSelect,
difficulty = TypedChoiceField(choices=Freizeit.difficulty_choices,
coerce=int,
label=_('Difficulty'))
tour_type = TypedChoiceField(Freizeit.tour_type_choices,
#widget=RadioSelect,
tour_type = TypedChoiceField(choices=Freizeit.tour_type_choices,
coerce=int,
label=_('Tour type'))

@ -1,5 +1,5 @@
from django.apps import AppConfig
from django.utils.translation import ugettext_lazy as _
from django.utils.translation import gettext_lazy as _
class MembersConfig(AppConfig):

@ -1,7 +1,7 @@
from datetime import datetime
import uuid
from django.db import models
from django.utils.translation import ugettext_lazy as _
from django.utils.translation import gettext_lazy as _
from django.utils import timezone
from django.urls import reverse
from django.contrib.contenttypes.fields import GenericForeignKey, GenericRelation
@ -220,8 +220,8 @@ class OldMemberOnList(models.Model):
"""
Connects members to a list of members.
"""
member = models.ForeignKey(Member, verbose_name=_('Member'))
memberlist = models.ForeignKey(MemberList)
member = models.ForeignKey(Member, verbose_name=_('Member'), on_delete=models.CASCADE)
memberlist = models.ForeignKey(MemberList, on_delete=models.CASCADE)
comments = models.TextField(_('Comment'), default='', blank=True)
def __str__(self):
@ -236,7 +236,7 @@ class NewMemberOnList(models.Model):
"""
Connects members to a list of members.
"""
member = models.ForeignKey(Member, verbose_name=_('Member'))
member = models.ForeignKey(Member, verbose_name=_('Member'), on_delete=models.CASCADE)
content_type = models.ForeignKey(ContentType, on_delete=models.CASCADE,
default=ContentType('members', 'Freizeit').pk)
object_id = models.PositiveIntegerField()
@ -323,7 +323,7 @@ class Klettertreff(models.Model):
location = models.CharField(_('Location'), default='', max_length=60)
topic = models.CharField(_('Topic'), default='', max_length=60)
jugendleiter = models.ManyToManyField(Member)
group = models.ForeignKey(Group, default='', verbose_name=_('Group'))
group = models.ForeignKey(Group, default='', verbose_name=_('Group'), on_delete=models.CASCADE)
def __str__(self):
return self.location + ' ' + self.date.strftime('%d.%m.%Y')
@ -354,8 +354,8 @@ class Klettertreff(models.Model):
class KlettertreffAttendee(models.Model):
"""Connects members to Klettertreffs."""
member = models.ForeignKey(Member, verbose_name=_('Member'))
klettertreff = models.ForeignKey(Klettertreff)
member = models.ForeignKey(Member, verbose_name=_('Member'), on_delete=models.CASCADE)
klettertreff = models.ForeignKey(Klettertreff, on_delete=models.CASCADE)
def __str__(self):
return str(self.member)

@ -8,10 +8,10 @@ def blToColor(bl):
else:
return 'red'
@register.assignment_tag
@register.simple_tag
def has_attendee_wrapper(klettertreff, member):
return blToColor(klettertreff.has_attendee(member))
@register.assignment_tag
@register.simple_tag
def has_jugendleiter_wrapper(klettertreff, jugendleiter):
return blToColor(klettertreff.has_jugendleiter(jugendleiter))

@ -1,7 +1,7 @@
from django.conf.urls import url
from django.urls import re_path
from . import views
urlpatterns = [
url(r'^$', views.index, name='index')
re_path(r'^$', views.index, name='index')
]

@ -1,6 +1,6 @@
from django.db import models
from django.core.exceptions import ValidationError
from django.utils.translation import ugettext_lazy as _
from django.utils.translation import gettext_lazy as _
class RestrictedFileField(models.FileField):

@ -1,29 +0,0 @@
amqp==2.6.1
anyjson==0.3.3
billiard==3.6.4.0
celery==4.4.1
certifi==2021.5.30
charset-normalizer==2.0.4
Django==1.11
django-appconf==1.0.3
django-celery==3.3.0
django-celery-email==1.1.5
django-easy-select2==1.5.6
django-jet==1.0.8
django-multiselectfield==0.1.12
idna==3.2
importlib-metadata==4.8.1
jet==1.0
kombu==4.6.11
mysqlclient==2.0.3
Pillow==5.0.0
pytz==2021.1
redis==3.4.1
requests==2.26.0
six==1.16.0
sqlparse==0.3.1
typing-extensions==3.10.0.2
urllib3==1.26.6
vine==1.3.0
XlsxWriter==1.2.8
zipp==3.5.0
Loading…
Cancel
Save