mirror of
https://github.com/jazzband/django-eav2.git
synced 2026-03-16 22:40:26 +00:00
23 lines
705 B
Python
23 lines
705 B
Python
from django.forms.widgets import Textarea
|
|
from django.core.exceptions import ValidationError
|
|
from django.core import validators
|
|
|
|
EMPTY_VALUES = validators.EMPTY_VALUES + ('[]', )
|
|
|
|
class CSVWidget(Textarea):
|
|
is_hidden = False
|
|
|
|
def prep_value(self, value):
|
|
""" Prepare value before effectively render widget """
|
|
if value in EMPTY_VALUES:
|
|
return ""
|
|
elif isinstance(value, str):
|
|
return value
|
|
elif isinstance(value, list):
|
|
return ";".join(value)
|
|
raise ValidationError('Invalid format.')
|
|
|
|
def render(self, name, value, **kwargs):
|
|
value = self.prep_value(value)
|
|
return super().render(name, value, **kwargs)
|
|
|