Passed
Push — main ( cf69f4...26e6c3 )
by Jochen
06:03
created

CreateForm.set_language_code_choices()   A

Complexity

Conditions 1

Size

Total Lines 5
Code Lines 5

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 5
CRAP Score 1

Importance

Changes 0
Metric Value
cc 1
eloc 5
nop 1
dl 0
loc 5
rs 10
c 0
b 0
f 0
ccs 5
cts 5
cp 1
crap 1
1
"""
2
byceps.blueprints.admin.snippet.forms
3
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
4
5
:Copyright: 2014-2023 Jochen Kupperschmidt
6
:License: Revised BSD (see `LICENSE` file for details)
7
"""
8
9 1
from flask_babel import lazy_gettext
10 1
from wtforms import SelectField, StringField, TextAreaField
11 1
from wtforms.validators import InputRequired
12
13 1
from ....services.language import language_service
14 1
from ....util.l10n import LocalizedForm
15
16
17 1
class CreateForm(LocalizedForm):
18 1
    name = StringField(lazy_gettext('Name'), [InputRequired()])
19 1
    language_code = SelectField(
20
        lazy_gettext('Language code'), [InputRequired()]
21
    )
22 1
    body = TextAreaField(lazy_gettext('Text'), [InputRequired()])
23
24 1
    def set_language_code_choices(self):
25 1
        languages = language_service.get_languages()
26 1
        choices = [(language.code, language.code) for language in languages]
27 1
        choices.sort()
28 1
        self.language_code.choices = choices
29
30
31 1
class UpdateForm(CreateForm):
32
    pass
33