euscan-ng/euscanwww/djeuscan/forms.py
2012-08-11 13:32:56 +02:00

62 lines
2.1 KiB
Python

from django import forms
from djeuscan.models import Version, ProblemReport
class WorldForm(forms.Form):
world = forms.FileField()
class PackagesForm(forms.Form):
packages = forms.CharField(widget=forms.Textarea)
class ProblemReportForm(forms.ModelForm):
version = forms.ModelChoiceField(queryset=Version.objects.all(),
empty_label="all", required=False)
message = forms.CharField(
widget=forms.Textarea(attrs={'cols': 80, 'rows': 15})
)
def __init__(self, package, *args, **kwargs):
super(ProblemReportForm, self).__init__(*args, **kwargs)
self.fields["version"].queryset = Version.objects.filter(
package=package
)
class Meta:
model = ProblemReport
fields = ('version', 'subject', 'message')
class PreferencesForm(forms.Form):
first_name = forms.CharField(max_length=30, required=False)
last_name = forms.CharField(max_length=30, required=False)
email = forms.EmailField()
feed_upstream_info = forms.BooleanField(required=False,
label="Upstream info")
feed_portage_info = forms.BooleanField(required=False,
label="Portage info")
feed_show_adds = forms.BooleanField(required=False,
label="Show version bumps")
feed_show_removals = forms.BooleanField(required=False,
label="Show version removals")
feed_ignore_pre = forms.BooleanField(required=False,
label="Ignore unstable releases")
feed_ignore_pre_if_stable = forms.BooleanField(
required=False,
label="Ignore unstable releases if current version is stable"
)
email_activated = forms.BooleanField(
required=False, label="Receive euscan emails"
)
email_ignore_pre = forms.BooleanField(
required=False, label="Ignore unstable releases"
)
email_ignore_pre_if_stable = forms.BooleanField(
required=False,
label="Ignore unstable releases if current version is stable"
)