Coverage for app/venv/lib/python3.14/site-packages/weblate/lang/forms.py: 69%
29 statements
« prev ^ index » next coverage.py v7.15.2, created at 2026-10-07 07:15 +0000
« prev ^ index » next coverage.py v7.15.2, created at 2026-10-07 07:15 +0000
1# Copyright © Michal Čihař <michal@weblate.org>
2#
3# SPDX-License-Identifier: GPL-3.0-or-later
5from crispy_forms.helper import FormHelper
6from crispy_forms.layout import Field, Layout
7from django import forms
8from django.conf import settings
10from weblate.lang.models import Language, Plural
11from weblate.utils.forms import ContextDiv
14class LanguageForm(forms.ModelForm):
15 class Meta:
16 model = Language
17 fields = [ # noqa: RUF012
18 "code",
19 "name",
20 "direction",
21 "population",
22 ]
24 def __init__(self, *args, **kwargs) -> None:
25 super().__init__(*args, **kwargs)
26 self.helper = FormHelper()
27 self.helper.form_tag = False
28 self.helper.layout = Layout(
29 ContextDiv(
30 template="lang/language_edit_warning.html",
31 context={"update_languages": settings.UPDATE_LANGUAGES},
32 ),
33 Field("code"),
34 Field("name"),
35 Field("direction"),
36 Field("population"),
37 )
39 @staticmethod
40 def get_field_doc(field):
41 return ("admin/languages", f"language-{field.name}")
44class PluralForm(forms.ModelForm):
45 class Meta:
46 model = Plural
47 fields = [ # noqa: RUF012
48 "number",
49 "formula",
50 ]
52 def __init__(self, *args, **kwargs) -> None:
53 super().__init__(*args, **kwargs)
54 self.helper = FormHelper()
55 self.helper.form_tag = False
57 @staticmethod
58 def get_field_doc(field):
59 return ("admin/languages", f"plural-{field.name}")