view membermap/forms.py @ 1068:882afcc6279e

Yahoo thread table now stacks on small devices.
author Brian Neal <bgneal@gmail.com>
date Thu, 31 Mar 2016 21:01:27 -0500
parents 6164cc091649
children 26f2b83e7468
line wrap: on
line source
"""
Forms for the member map application.
"""
from django import forms

from core.html import ImageCheckError
from core.html import image_check
from core.markup import site_markup
from membermap.models import MapEntry


class MapEntryForm(forms.ModelForm):
    location = forms.CharField(required=True,
            widget=forms.TextInput(attrs={'size': 64, 'maxlength': 255}))
    message = forms.CharField(required=False,
            widget=forms.Textarea(attrs={'class': 'markItUp smileyTarget'}))

    def clean_message(self):
        message = self.cleaned_data['message']
        self.html = None

        if message:
            self.html = site_markup(message)
            try:
                image_check(self.html)
            except ImageCheckError as ex:
                raise forms.ValidationError(str(ex))

        return message

    class Meta:
        model = MapEntry
        fields = ('location', 'message')