diff options
| author | etienne <etienne@07715635-78ed-41b0-aaf1-0afda6c37f35> | 2009-12-03 11:33:27 +0000 | 
|---|---|---|
| committer | etienne <etienne@07715635-78ed-41b0-aaf1-0afda6c37f35> | 2009-12-03 11:33:27 +0000 | 
| commit | e8784c0d1b75bb66739267e5f05161d210b3e199 (patch) | |
| tree | f3d1a77b08c5dcffd13665058d44142fdb38bc15 /polls/forms.py | |
| parent | 7789bff7cb978d475157e815a636f351c9955837 (diff) | |
| download | Papillon-e8784c0d1b75bb66739267e5f05161d210b3e199.tar.bz2 Papillon-e8784c0d1b75bb66739267e5f05161d210b3e199.zip  | |
Refactoring of the code - Using newforms - Change from ReST to markdown
Diffstat (limited to 'polls/forms.py')
| -rw-r--r-- | polls/forms.py | 53 | 
1 files changed, 42 insertions, 11 deletions
diff --git a/polls/forms.py b/polls/forms.py index bd6b9b3..518e38d 100644 --- a/polls/forms.py +++ b/polls/forms.py @@ -23,29 +23,60 @@ Forms management  from django import forms  from django.utils.translation import gettext_lazy as _ +from django.utils.html import escape +from django.utils.safestring import mark_safe +from django.forms.util import flatatt  from papillon.polls.models import Poll, Category -class CreateForm(forms.Form): -    author_name = forms.CharField(label=_("Author name"), max_length=100, -                  help_text=_("Name, firstname or nickname of the author")) +class PollForm(forms.ModelForm):      name = forms.CharField(label=_("Poll name"), max_length=200,                    help_text=_("Global name to present the poll"))      description = forms.CharField(label=_("Poll description"), max_length=200,                    help_text=_("Precise description of the poll"),                     widget=forms.widgets.Textarea()) -    public = forms.BooleanField(label=_("Display the poll on main page"),  -             required=False, help_text=_("Check this option to make the poll \ -public")) -    poll_type = forms.ChoiceField(label=_("Type of the poll"), choices=Poll.TYPE, -                                  help_text=_("""Type of the poll: + +class CreatePollForm(PollForm): +    class Meta: +        model = Poll +        exclude = ['base_url', 'admin_url', 'open', 'author', 'enddate',  +                    'public', 'opened_admin', 'hide_choices'] +        if not Category.objects.all(): +            exclude.append('category') +    type = forms.ChoiceField(label=_("Type of the poll"), +               choices=Poll.TYPE, help_text=_("""Type of the poll:   - "Yes/No poll" is the appropriate type for a simple multi-choice poll   - "Yes/No/Maybe poll" allows voters to stay undecided   - "One choice poll" gives only one option to choose from  """)) - -class CreateWithCatForm(CreateForm): -    category = forms.ChoiceField(label="", help_text="Category of the poll", +    """ +    dated_choices = forms.BooleanField( +             required=False, help_text=_("Check this option to choose between \ +dates"))""" +    if Category.objects.all(): +        category = forms.ChoiceField(label="", help_text="Category of the poll",                 choices=[(cat.id, cat.name) for cat in Category.objects.all()]) +class AdminPollForm(PollForm): +    class Meta: +        model = Poll +        exclude = ['author', 'author_name', 'base_url', 'admin_url', +                   'dated_choices', 'type'] +        if not Category.objects.all(): +            exclude.append('category') +    open = forms.BooleanField(label=_("State of the poll"),  +             required=False, help_text=_("Uncheck this option to close the \ +poll/check the poll to reopen it")) +    public = forms.BooleanField(label=_("Display the poll on main page"),  +             required=False, help_text=_("Check this option to make the poll \ +public")) +    opened_admin = forms.BooleanField(label=_("Allow users to add choices"),  +             required=False, help_text=_("Check this option to open the poll to\ + new choices submitted by users")) +    hide_choices = forms.BooleanField(label=_("Hide votes to new voters"),  +             required=False, help_text=_("Check this option to hide poll \ +results to new users")) +    enddate = forms.DateField(label=_("Closing date"),  +required=False, help_text=_("Closing date for participating to the poll")) +  | 
