Files @ 33305d27ac85
Branch filter:

Location: symposion_app/vendor/symposion/reviews/forms.py

bsturmfels
Can just live in /tmp instead
import bleach
from django import forms
from django.utils.translation import ugettext_lazy as _

from symposion.reviews.models import Review, Comment, ProposalMessage, VOTES


class ReviewForm(forms.ModelForm):

    required_css_class = 'label-required'

    class Meta:
        model = Review
        fields = ["vote", "comment"]

    def __init__(self, *args, **kwargs):
        super(ReviewForm, self).__init__(*args, **kwargs)
        self.fields["vote"] = forms.ChoiceField(
            widget=forms.RadioSelect(),
            choices=VOTES.CHOICES
        )

    def clean_comment(self):
        comment = self.cleaned_data.get('comment')
        cleaned_comment = bleach.clean(comment)
        return cleaned_comment


class ReviewCommentForm(forms.ModelForm):

    required_css_class = 'label-required'

    class Meta:
        model = Comment
        fields = ["text"]

    def clean_text(self):
        text = self.cleaned_data.get('text')
        cleaned_text = bleach.clean(text)
        return cleaned_text


class SpeakerCommentForm(forms.ModelForm):

    required_css_class = 'label-required'

    class Meta:
        model = ProposalMessage
        fields = ["message"]

    def clean_message(self):
        message = self.cleaned_data.get('message')
        cleaned_message = bleach.clean(message)
        return cleaned_message


class BulkPresentationForm(forms.Form):

    required_css_class = 'label-required'

    status = forms.ChoiceField(
        choices=(
            ('accepted', 'accepted'),
            ('rejected', 'rejected'),
            ('undecided', 'undecided'),
            ('standby', 'standby')
        ),
        label="Set status to:",
        help_text="Status to apply to the listed talk ids"
    )
    talk_ids = forms.CharField(
        label=_("Talk ids"),
        max_length=500,
        help_text=_("Provide a comma seperated list of talk ids to update.")
    )