forms.py 3.09 KB
Newer Older
1
from flask_wtf import FlaskForm
Robin Sonnabend's avatar
Robin Sonnabend committed
2
from wtforms import StringField, PasswordField, BooleanField, DateField, HiddenField, IntegerField, SelectField, FileField, DateTimeField
3
4
5
from wtforms.validators import InputRequired

class LoginForm(FlaskForm):
Robin Sonnabend's avatar
Robin Sonnabend committed
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
    username = StringField("Benutzer", validators=[InputRequired("Bitte gib deinen Benutzernamen ein.")])
    password = PasswordField("Passwort", validators=[InputRequired("Bitte gib dein Passwort ein.")])

class ProtocolTypeForm(FlaskForm):
    name = StringField("Name", validators=[InputRequired("Du musst einen Namen angeben.")])
    short_name = StringField("Abkürzung", validators=[InputRequired("Du musst eine Abkürzung angebene.")])
    organization = StringField("Organisation", validators=[InputRequired("Du musst eine zugehörige Organisation angeben.")])
    is_public = BooleanField("Öffentlich sichtbar")
    private_group = StringField("Interne Gruppe")
    public_group = StringField("Öffentliche Gruppe")
    private_mail = StringField("Interner Verteiler")
    public_mail = StringField("Öffentlicher Verteiler")

class DefaultTopForm(FlaskForm):
    name = StringField("Name", validators=[InputRequired("Du musst einen Namen angeben.")])
    number = IntegerField("Nummer", validators=[InputRequired("Du musst eine Nummer angeben.")])
22
23
24
25
26

class MeetingReminderForm(FlaskForm):
    days_before = IntegerField("Tage vor Sitzung", validators=[InputRequired("Du musst eine Dauer angeben.")])
    send_public = BooleanField("Öffentlich einladen")
    send_private = BooleanField("Intern einladen")
Robin Sonnabend's avatar
Robin Sonnabend committed
27
28
29
30
31
32
33
34

class NewProtocolForm(FlaskForm):
    protocoltype = SelectField("Typ", choices=[], coerce=int)
    date = DateField("Datum", validators=[InputRequired("Du musst ein Datum angeben.")], format="%d.%m.%Y")

    def __init__(self, protocoltypes, **kwargs):
        super().__init__(**kwargs)
        self.protocoltype.choices = [(protocoltype.id, protocoltype.short_name) for protocoltype in protocoltypes]
35
36

class DocumentUploadForm(FlaskForm):
Robin Sonnabend's avatar
Robin Sonnabend committed
37
    document = FileField("Datei")
38
    private = BooleanField("Intern")
Robin Sonnabend's avatar
Robin Sonnabend committed
39
40
41
42
43
44
45
46
47
48
49

class KnownProtocolSourceUploadForm(FlaskForm):
    source = FileField("Quellcode")

class NewProtocolSourceUploadForm(FlaskForm):
    source = FileField("Quellcode")
    protocoltype = SelectField("Typ", choices=[], coerce=int)

    def __init__(self, protocoltypes, **kwargs):
        super().__init__(**kwargs)
        self.protocoltype.choices = [(protocoltype.id, protocoltype.short_name) for protocoltype in protocoltypes]
Robin Sonnabend's avatar
Robin Sonnabend committed
50
51
52
53
54
55
56
57
58
59

class ProtocolForm(FlaskForm):
    date = DateField("Datum", validators=[InputRequired("Bitte gib das Datum des Protkolls an.")], format="%d.%m.%Y")
    start_time = DateTimeField("Beginn", format="%H:%M")
    end_time = DateTimeField("Ende", format="%H:%M")
    location = StringField("Ort")
    author = StringField("Protokollant")
    participants = StringField("Anwesende")
    done = BooleanField("Fertig")

Robin Sonnabend's avatar
Robin Sonnabend committed
60
61
62
63
class TopForm(FlaskForm):
    name = StringField("TOP", validators=[InputRequired("Du musst den Namen des TOPs angeben.")])
    number = IntegerField("Sortierung", validators=[InputRequired("Du musst eine Sortierung in der Reihenfolge angebene.")])