Fixed: ugettext has been deprecated

Fixed: Multiple Upload for Eventpics
This commit is contained in:
2023-06-11 10:10:29 +02:00
parent e3daccafb1
commit 3efc4335bb
23 changed files with 47 additions and 32 deletions

View File

@@ -16,7 +16,7 @@ all: cleanup migrate testserver
venv: $(VENV_PATH)/bin/activate venv: $(VENV_PATH)/bin/activate
$(VENV_PATH)/bin/activate: $(VENV_PATH)/bin/activate:
@test -d $(VENV_PATH) || python3 -m venv --clear $(VENV_PATH) @test -d $(VENV_PATH) || python3 -m venv --clear --system-site-packages $(VENV_PATH)
dev-requirements: venv ${DEV_REQUIREMENTS} dev-requirements: venv ${DEV_REQUIREMENTS}
${PYTHON} -m pip install -qU pip ${PYTHON} -m pip install -qU pip

View File

@@ -1,5 +1,5 @@
beautifulsoup4 beautifulsoup4
django < 3.0 django < 4.0
django-appconf django-appconf
django-ckeditor django-ckeditor
django-contrib-comments django-contrib-comments
@@ -13,7 +13,7 @@ icalendar
openpyxl openpyxl
markdown markdown
pillow pillow
psycopg2-binary # psycopg2-binary<2.9
PyJWT PyJWT
pytz pytz
requests requests

View File

@@ -3,7 +3,7 @@ import django_comments as comments
from django.conf import settings from django.conf import settings
from django.contrib.syndication.views import Feed from django.contrib.syndication.views import Feed
from django.utils.feedgenerator import Rss201rev2Feed from django.utils.feedgenerator import Rss201rev2Feed
from django.utils.translation import ugettext as _ from django.utils.translation import gettext as _
from content.models import Article from content.models import Article

View File

@@ -5,7 +5,7 @@ Created on 04.10.2011
""" """
from django import forms from django import forms
from django.template.defaultfilters import slugify from django.template.defaultfilters import slugify
from django.utils.translation import ugettext as _ from django.utils.translation import gettext as _
from . import models from . import models

View File

@@ -8,7 +8,7 @@ from django.template.defaultfilters import slugify
from django.urls import reverse from django.urls import reverse
from django.utils import timezone from django.utils import timezone
from django.utils.safestring import mark_safe from django.utils.safestring import mark_safe
from django.utils.translation import get_language, ugettext as _ from django.utils.translation import get_language, gettext as _
from utils import STATUS_CHOICES, STATUS_WAITING, STATUS_PUBLISHED, CLEANER from utils import STATUS_CHOICES, STATUS_WAITING, STATUS_PUBLISHED, CLEANER

View File

@@ -5,7 +5,7 @@ from csp.decorators import csp_update
from django.conf import settings from django.conf import settings
from django.contrib.auth.mixins import PermissionRequiredMixin from django.contrib.auth.mixins import PermissionRequiredMixin
from django.http import HttpResponse, Http404 from django.http import HttpResponse, Http404
from django.utils.translation import ugettext as _ from django.utils.translation import gettext as _
from django.views import generic from django.views import generic
from . import models, forms from . import models, forms

View File

@@ -1,27 +1,42 @@
"""Django Forms to administrate the event content on the frontend.""" """Django Forms to administrate the event content on the frontend."""
from django import forms from django import forms
from django.contrib.auth import get_user_model from django.contrib.auth import get_user_model
from django.utils.translation import ugettext as _ from django.utils.translation import gettext as _
from . import models from . import models
class ClearableMultipleFileInput(forms.widgets.ClearableFileInput):
allow_multiple_selected = True
accept = "image/jpg"
class MultipleFileField(forms.FileField):
def __init__(self, *args, **kwargs):
kwargs.setdefault("widget", ClearableMultipleFileInput())
super().__init__(*args, **kwargs)
def clean(self, data, initial=None):
single_file_clean = super().clean
if isinstance(data, (list, tuple)):
result = [single_file_clean(d, initial) for d in data]
else:
result = single_file_clean(data, initial)
return result
class PhotoUploadForm(forms.Form): class PhotoUploadForm(forms.Form):
"""Form to upload multiple photos to a single event.""" """Form to upload multiple photos to a single event.
TODO: Check multiple upload
"""
error_css_class = 'error' error_css_class = 'error'
required_css_class = 'required' required_css_class = 'required'
photographer = forms.ModelChoiceField(get_user_model().objects.all(), photographer = forms.ModelChoiceField(get_user_model().objects.all(),
required=True, ) required=True, )
event = forms.ModelChoiceField(models.Event.objects.all(), required=True, ) event = forms.ModelChoiceField(models.Event.objects.all(), required=True, )
upload = forms.FileField( upload = MultipleFileField(
label=_('Images'), label=_('Images'),
required=True, required=True,
widget=forms.widgets.ClearableFileInput(
attrs={
'multiple': 'multiple',
'accept': "image/gif,image/png,image/jpeg"
}
)
) )

View File

@@ -2,7 +2,7 @@
from django.db.models import Q from django.db.models import Q
from django.http import Http404 from django.http import Http404
from django.shortcuts import get_object_or_404 from django.shortcuts import get_object_or_404
from django.utils.translation import ugettext as _ from django.utils.translation import gettext as _
from . import models from . import models

View File

@@ -9,7 +9,7 @@ from django.db.models import Q
from django.template.defaultfilters import slugify from django.template.defaultfilters import slugify
from django.urls import reverse from django.urls import reverse
from django.utils.timezone import now from django.utils.timezone import now
from django.utils.translation import ugettext as _ from django.utils.translation import gettext as _
from easy_thumbnails.fields import ThumbnailerImageField from easy_thumbnails.fields import ThumbnailerImageField
from utils import COUNTRIES, OverwriteStorage from utils import COUNTRIES, OverwriteStorage

View File

@@ -9,7 +9,7 @@ from django.http import Http404
from django.http import HttpResponse from django.http import HttpResponse
from django.shortcuts import redirect, get_object_or_404 from django.shortcuts import redirect, get_object_or_404
from django.utils import timezone from django.utils import timezone
from django.utils.translation import ugettext as _ from django.utils.translation import gettext as _
from django.views import generic from django.views import generic
from extra_views import InlineFormSetView from extra_views import InlineFormSetView
from icalendar import Calendar, Event from icalendar import Calendar, Event

View File

@@ -1,7 +1,7 @@
""" Adds management of the mahong ranking system to the admin interface. """ """ Adds management of the mahong ranking system to the admin interface. """
from django.contrib import admin from django.contrib import admin
from django.utils.translation import ugettext as _ from django.utils.translation import gettext as _
from . import models, set_dirty from . import models, set_dirty

View File

@@ -7,7 +7,7 @@ Created on 04.10.2011
""" """
from django import forms from django import forms
from django.contrib.auth import get_user_model from django.contrib.auth import get_user_model
from django.utils.translation import ugettext as _ from django.utils.translation import gettext as _
from events.models import Event from events.models import Event
from . import models from . import models

View File

@@ -12,7 +12,7 @@ from django.core.exceptions import ValidationError
from django.db import models from django.db import models
from django.urls import reverse from django.urls import reverse
from django.utils import timezone from django.utils import timezone
from django.utils.translation import ugettext as _ from django.utils.translation import gettext as _
from events.models import Event from events.models import Event
from . import DAN_RANKS_DICT, LOGGER, set_dirty from . import DAN_RANKS_DICT, LOGGER, set_dirty

View File

@@ -8,7 +8,7 @@ from django.contrib.auth.mixins import LoginRequiredMixin, \
PermissionRequiredMixin PermissionRequiredMixin
from django.contrib.messages.views import SuccessMessageMixin from django.contrib.messages.views import SuccessMessageMixin
from django.urls import reverse from django.urls import reverse
from django.utils.translation import ugettext as _ from django.utils.translation import gettext as _
from django.views import generic from django.views import generic
from events.mixins import EventDetailMixin from events.mixins import EventDetailMixin

View File

@@ -1,6 +1,6 @@
""" Admin Interface to manipulate the maistar ranking """ """ Admin Interface to manipulate the maistar ranking """
from django.contrib import admin from django.contrib import admin
from django.utils.translation import ugettext as _ from django.utils.translation import gettext as _
from . import forms, models from . import forms, models

View File

@@ -1,7 +1,7 @@
"""Django Forms to add and edit Mai-Star games.""" """Django Forms to add and edit Mai-Star games."""
from django import forms from django import forms
from django.utils.translation import ugettext as _ from django.utils.translation import gettext as _
from . import models from . import models

View File

@@ -6,7 +6,7 @@ from django.db import models
from django.db.models.signals import post_delete, post_save from django.db.models.signals import post_delete, post_save
from django.dispatch import receiver from django.dispatch import receiver
from django.urls import reverse from django.urls import reverse
from django.utils.translation import ugettext as _ from django.utils.translation import gettext as _
from events.models import Event from events.models import Event
from . import settings, managers from . import settings, managers

View File

@@ -4,7 +4,7 @@ from django.contrib import admin, messages
from django.contrib.auth.admin import UserAdmin, GroupAdmin from django.contrib.auth.admin import UserAdmin, GroupAdmin
from django.contrib.auth.models import Group from django.contrib.auth.models import Group
from django.core.exceptions import PermissionDenied from django.core.exceptions import PermissionDenied
from django.utils.translation import ugettext as _ from django.utils.translation import gettext as _
from easy_thumbnails import fields, widgets from easy_thumbnails import fields, widgets
from membership.models import Membership, ActivationRequest from membership.models import Membership, ActivationRequest

View File

@@ -9,7 +9,7 @@ from django import forms
from django.conf import settings from django.conf import settings
from django.contrib import auth from django.contrib import auth
from django.contrib.sites.models import Site from django.contrib.sites.models import Site
from django.utils.translation import ugettext_lazy as _ from django.utils.translation import gettext_lazy as _
from utils.massmailer import MassMailer from utils.massmailer import MassMailer
from . import models from . import models
from content.models import Page from content.models import Page

View File

@@ -10,7 +10,7 @@ from django.contrib.auth.models import AbstractUser
from django.db import models from django.db import models
from django.urls import reverse from django.urls import reverse
from django.utils import timezone from django.utils import timezone
from django.utils.translation import ugettext as _ from django.utils.translation import gettext as _
from easy_thumbnails.fields import ThumbnailerImageField from easy_thumbnails.fields import ThumbnailerImageField
from utils import OverwriteStorage from utils import OverwriteStorage

View File

@@ -10,7 +10,7 @@ from django.contrib.auth.mixins import LoginRequiredMixin
from django.urls import reverse from django.urls import reverse
from django.http import Http404 from django.http import Http404
from django.utils.decorators import method_decorator from django.utils.decorators import method_decorator
from django.utils.translation import ugettext as _ from django.utils.translation import gettext as _
from django.views import generic from django.views import generic
from mahjong_ranking.models import KyuDanRanking, SeasonRanking from mahjong_ranking.models import KyuDanRanking, SeasonRanking

View File

@@ -4,7 +4,7 @@ Created on 28.09.2011
@author: christian @author: christian
""" """
from django.core.files.storage import FileSystemStorage from django.core.files.storage import FileSystemStorage
from django.utils.translation import ugettext as _ from django.utils.translation import gettext as _
from .countries import COUNTRIES from .countries import COUNTRIES
from .html_cleaner import HtmlCleaner from .html_cleaner import HtmlCleaner

View File

@@ -1,5 +1,5 @@
"""A list of all approved countries on planet earth, i18n enabled.""" """A list of all approved countries on planet earth, i18n enabled."""
from django.utils.translation import ugettext as _ from django.utils.translation import gettext as _
COUNTRIES = ( COUNTRIES = (
('GB', _('United Kingdom')), ('GB', _('United Kingdom')),