X-Git-Url: http://git.ithinksw.org/philo.git/blobdiff_plain/fffac3a965cb9cf3dc7c97a0108d5304f22b486f..37f95f6fd3e1da107a0eaf28c516e71206100bf4:/philo/models/fields/__init__.py?ds=inline diff --git a/philo/models/fields/__init__.py b/philo/models/fields/__init__.py index 7ab4326..575b3a4 100644 --- a/philo/models/fields/__init__.py +++ b/philo/models/fields/__init__.py @@ -9,14 +9,20 @@ from django.utils.translation import ugettext_lazy as _ from philo.forms.fields import JSONFormField from philo.utils.registry import RegistryIterator from philo.validators import TemplateValidator, json_validator +from philo.forms.widgets import EmbedWidget #from philo.models.fields.entities import * -class TemplateField(models.TextField): +class TemplateField(models.Field): """A :class:`TextField` which is validated with a :class:`.TemplateValidator`. ``allow``, ``disallow``, and ``secure`` will be passed into the validator's construction.""" def __init__(self, allow=None, disallow=None, secure=True, *args, **kwargs): super(TemplateField, self).__init__(*args, **kwargs) self.validators.append(TemplateValidator(allow, disallow, secure)) + + def formfield(self, **kwargs): + defaults = {'widget': EmbedWidget} + defaults.update(kwargs) + return super(TemplateField, self).formfield(**defaults) class JSONDescriptor(object):