mirror of
https://github.com/ae-utbm/sith.git
synced 2025-07-05 17:45:17 +00:00
Fix Multiple Fields Inputs & check
being override in base Models class
This commit is contained in:
parent
b7d9dbf3d0
commit
8f5dec53c7
@ -13,3 +13,23 @@
|
|||||||
# OR WITHIN THE LOCAL FILE "LICENSE"
|
# 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
|
||||||
|
@ -33,6 +33,7 @@ import os
|
|||||||
|
|
||||||
from ajax_select import make_ajax_field
|
from ajax_select import make_ajax_field
|
||||||
|
|
||||||
|
from core import MultipleFileField
|
||||||
from core.models import SithFile, RealGroup, Notification
|
from core.models import SithFile, RealGroup, Notification
|
||||||
from core.views import (
|
from core.views import (
|
||||||
CanViewMixin,
|
CanViewMixin,
|
||||||
@ -83,8 +84,7 @@ class AddFilesForm(forms.Form):
|
|||||||
folder_name = forms.CharField(
|
folder_name = forms.CharField(
|
||||||
label=_("Add a new folder"), max_length=30, required=False
|
label=_("Add a new folder"), max_length=30, required=False
|
||||||
)
|
)
|
||||||
file_field = forms.FileField(
|
file_field = MultipleFileField(
|
||||||
widget=forms.ClearableFileInput(attrs={"multiple": True}),
|
|
||||||
label=_("Files"),
|
label=_("Files"),
|
||||||
required=False,
|
required=False,
|
||||||
)
|
)
|
||||||
|
@ -990,7 +990,7 @@ class CashRegisterSummaryItem(models.Model):
|
|||||||
)
|
)
|
||||||
value = CurrencyField(_("value"))
|
value = CurrencyField(_("value"))
|
||||||
quantity = models.IntegerField(_("quantity"), default=0)
|
quantity = models.IntegerField(_("quantity"), default=0)
|
||||||
check = models.BooleanField(_("check"), default=False)
|
checked = models.BooleanField(_("check"), default=False)
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
verbose_name = _("cash register summary item")
|
verbose_name = _("cash register summary item")
|
||||||
@ -998,7 +998,7 @@ class CashRegisterSummaryItem(models.Model):
|
|||||||
|
|
||||||
class Eticket(models.Model):
|
class Eticket(models.Model):
|
||||||
"""
|
"""
|
||||||
Eticket can be linked to a product an allows PDF generation
|
Eticket can be linked to a product and allows PDF generation
|
||||||
"""
|
"""
|
||||||
|
|
||||||
product = models.OneToOneField(
|
product = models.OneToOneField(
|
||||||
|
@ -1199,35 +1199,35 @@ class CashRegisterSummaryForm(forms.Form):
|
|||||||
cash_summary=summary,
|
cash_summary=summary,
|
||||||
value=cd["check_1_value"],
|
value=cd["check_1_value"],
|
||||||
quantity=cd["check_1_quantity"],
|
quantity=cd["check_1_quantity"],
|
||||||
check=True,
|
checked=True,
|
||||||
).save()
|
).save()
|
||||||
if cd["check_2_quantity"]:
|
if cd["check_2_quantity"]:
|
||||||
CashRegisterSummaryItem(
|
CashRegisterSummaryItem(
|
||||||
cash_summary=summary,
|
cash_summary=summary,
|
||||||
value=cd["check_2_value"],
|
value=cd["check_2_value"],
|
||||||
quantity=cd["check_2_quantity"],
|
quantity=cd["check_2_quantity"],
|
||||||
check=True,
|
checked=True,
|
||||||
).save()
|
).save()
|
||||||
if cd["check_3_quantity"]:
|
if cd["check_3_quantity"]:
|
||||||
CashRegisterSummaryItem(
|
CashRegisterSummaryItem(
|
||||||
cash_summary=summary,
|
cash_summary=summary,
|
||||||
value=cd["check_3_value"],
|
value=cd["check_3_value"],
|
||||||
quantity=cd["check_3_quantity"],
|
quantity=cd["check_3_quantity"],
|
||||||
check=True,
|
checked=True,
|
||||||
).save()
|
).save()
|
||||||
if cd["check_4_quantity"]:
|
if cd["check_4_quantity"]:
|
||||||
CashRegisterSummaryItem(
|
CashRegisterSummaryItem(
|
||||||
cash_summary=summary,
|
cash_summary=summary,
|
||||||
value=cd["check_4_value"],
|
value=cd["check_4_value"],
|
||||||
quantity=cd["check_4_quantity"],
|
quantity=cd["check_4_quantity"],
|
||||||
check=True,
|
checked=True,
|
||||||
).save()
|
).save()
|
||||||
if cd["check_5_quantity"]:
|
if cd["check_5_quantity"]:
|
||||||
CashRegisterSummaryItem(
|
CashRegisterSummaryItem(
|
||||||
cash_summary=summary,
|
cash_summary=summary,
|
||||||
value=cd["check_5_value"],
|
value=cd["check_5_value"],
|
||||||
quantity=cd["check_5_quantity"],
|
quantity=cd["check_5_quantity"],
|
||||||
check=True,
|
checked=True,
|
||||||
).save()
|
).save()
|
||||||
if summary.items.count() < 1:
|
if summary.items.count() < 1:
|
||||||
summary.delete()
|
summary.delete()
|
||||||
|
@ -17,6 +17,7 @@
|
|||||||
from django.shortcuts import redirect
|
from django.shortcuts import redirect
|
||||||
from django.http import HttpResponse, Http404
|
from django.http import HttpResponse, Http404
|
||||||
from django.urls import reverse_lazy, reverse
|
from django.urls import reverse_lazy, reverse
|
||||||
|
from core import MultipleFileField
|
||||||
from core.views.forms import SelectDate
|
from core.views.forms import SelectDate
|
||||||
from django.views.generic import DetailView, TemplateView
|
from django.views.generic import DetailView, TemplateView
|
||||||
from django.views.generic.edit import UpdateView, FormMixin, FormView
|
from django.views.generic.edit import UpdateView, FormMixin, FormView
|
||||||
@ -40,11 +41,7 @@ class SASForm(forms.Form):
|
|||||||
album_name = forms.CharField(
|
album_name = forms.CharField(
|
||||||
label=_("Add a new album"), max_length=30, required=False
|
label=_("Add a new album"), max_length=30, required=False
|
||||||
)
|
)
|
||||||
images = forms.ImageField(
|
images = MultipleFileField(label=_("Upload images"), required=False)
|
||||||
widget=forms.ClearableFileInput(attrs={"multiple": True}),
|
|
||||||
label=_("Upload images"),
|
|
||||||
required=False,
|
|
||||||
)
|
|
||||||
|
|
||||||
def process(self, parent, owner, files, automodere=False):
|
def process(self, parent, owner, files, automodere=False):
|
||||||
try:
|
try:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user