view membermap/forms.py @ 1024:6164cc091649

Perform image_check on membermap messages.
author Brian Neal <bgneal@gmail.com>
date Thu, 10 Dec 2015 21:11:10 -0600
parents 21c592cac71c
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')