euscan-ng/euscanwww/djeuscan/forms.py
volpino d1058aed8b euscanwww: initial implementation of euscan updates email
Signed-off-by: volpino <fox91@anche.no>
2012-08-11 15:09:42 +02:00

66 lines
2.3 KiB
Python

from django import forms
from djeuscan.models import Version, ProblemReport, UserProfile
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_every = forms.ChoiceField(
choices=UserProfile.EMAIL_OPTS,
label="Send email",
)
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"
)