Moved classes around

This commit is contained in:
Julien Constant 2023-05-11 14:08:48 +02:00
parent e1da363bbc
commit 089932d343
4 changed files with 22 additions and 24 deletions

View File

@ -13,23 +13,3 @@
# OR WITHIN THE LOCAL FILE "LICENSE"
#
#
from django import forms
class MultipleFileInput(forms.ClearableFileInput):
allow_multiple_selected = True
class MultipleFileField(forms.FileField):
def __init__(self, *args, **kwargs):
kwargs.setdefault("widget", MultipleFileInput())
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

View File

@ -33,7 +33,6 @@ import os
from ajax_select import make_ajax_field
from core import MultipleFileField
from core.models import SithFile, RealGroup, Notification
from core.views import (
CanViewMixin,
@ -41,6 +40,7 @@ from core.views import (
CanEditPropMixin,
can_view,
)
from core.views.forms import MultipleFileField
from counter.models import Counter

View File

@ -31,7 +31,8 @@ from django.urls import reverse
from django.core.exceptions import ValidationError
from django.forms import (
CheckboxSelectMultiple,
Select,
ClearableFileInput,
FileField,
DateInput,
TextInput,
DateTimeInput,
@ -59,6 +60,24 @@ from PIL import Image
# Widgets
class MultipleFileInput(ClearableFileInput):
allow_multiple_selected = True
class MultipleFileField(FileField):
def __init__(self, *args, **kwargs):
kwargs.setdefault("widget", MultipleFileInput())
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 SelectDateTime(DateTimeInput):
def render(self, name, value, attrs=None, renderer=None):
if attrs:

View File

@ -17,8 +17,6 @@
from django.shortcuts import redirect
from django.http import HttpResponse, Http404
from django.urls import reverse_lazy, reverse
from core import MultipleFileField
from core.views.forms import SelectDate
from django.views.generic import DetailView, TemplateView
from django.views.generic.edit import UpdateView, FormMixin, FormView
from django.utils.translation import gettext_lazy as _
@ -32,6 +30,7 @@ from ajax_select.fields import AutoCompleteSelectMultipleField
from core.views import CanViewMixin, CanEditMixin
from core.views.files import send_file, FileView
from core.views.forms import MultipleFileField, SelectDate
from core.models import SithFile, User, Notification, RealGroup
from sas.models import Picture, Album, PeoplePictureRelation