symposion_app/vendor/symposion/reviews/forms.py
James Polley ecd4bc97bc Expand bulk_accept to generic bulk_update
Allows for bulk rejection/undecided/standby in addition to bulk accept.
2017-09-17 13:15:56 +10:00

75 lines
1.9 KiB
Python

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.")
)