Files @ 7fac10241ec7
Branch filter:

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

Joel Addison
Improve attendee reports

Display attendee profile data in normal table without DataTables so
sorting is not applied, causing data to be confusing to read.
Include item quantity in attendee data report for accurate schwag packing.
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.")
    )