X-Git-Url: https://git.mdrn.pl/fnpdjango.git/blobdiff_plain/fdb7cb5b801cce2e15c851f272f3f4f1efa48ce8..3b009e3e675620c33423c624985726ee8db94e86:/fnpdjango/utils/fields.py diff --git a/fnpdjango/utils/fields.py b/fnpdjango/utils/fields.py new file mode 100644 index 0000000..e638db5 --- /dev/null +++ b/fnpdjango/utils/fields.py @@ -0,0 +1,25 @@ +# -*- coding: utf-8 -*- +from django.forms import CharField, ValidationError +from .text.textilepl import textile_pl + +try: + from markupfield.fields import MarkupField +except ImportError: + MarkupField = None +else: + def validate_textile(value): + try: + textile_pl(value) + except Exception: + raise ValidationError('Syntax error in markup.') + + + class TextileFormField(CharField): + default_validators = [validate_textile] + + + class TextileField(MarkupField): + def formfield(self, **kwargs): + defaults = {'form_class': TextileFormField} + defaults.update(kwargs) + return super(MarkupField, self).formfield(**defaults)