use "Title (language name)" in Editor Form

This commit is contained in:
Laura Klünder 2017-07-13 13:47:11 +02:00
parent 2270ea5505
commit 26b6f92a9d

View file

@ -7,7 +7,9 @@ from django.conf import settings
from django.core.exceptions import FieldDoesNotExist from django.core.exceptions import FieldDoesNotExist
from django.forms import BooleanField, CharField, ChoiceField, ModelForm, MultipleChoiceField, ValidationError from django.forms import BooleanField, CharField, ChoiceField, ModelForm, MultipleChoiceField, ValidationError
from django.forms.widgets import HiddenInput from django.forms.widgets import HiddenInput
from django.utils.text import format_lazy
from django.utils.translation import ugettext_lazy as _ from django.utils.translation import ugettext_lazy as _
from django.utils.translation import get_language_info
from shapely.geometry.geo import mapping from shapely.geometry.geo import mapping
from c3nav.editor.models import ChangeSet, ChangeSetUpdate from c3nav.editor.models import ChangeSet, ChangeSetUpdate
@ -70,12 +72,13 @@ class EditorFormBase(ModelForm):
if self.instance is not None and self.instance.pk: if self.instance is not None and self.instance.pk:
titles.update(self.instance.titles) titles.update(self.instance.titles)
language_titles = dict(settings.LANGUAGES)
for language in reversed(titles.keys()): for language in reversed(titles.keys()):
new_title = self.data.get('title_' + language) new_title = self.data.get('title_' + language)
if new_title is not None: if new_title is not None:
titles[language] = new_title titles[language] = new_title
self.fields['title_' + language] = CharField(label=language_titles.get(language, language), language_info = get_language_info(language)
field_title = format_lazy(_('Title ({lang})'), lang=language_info['name_translated'])
self.fields['title_' + language] = CharField(label=field_title,
required=False, required=False,
initial=titles[language].strip(), max_length=50) initial=titles[language].strip(), max_length=50)
self.fields.move_to_end('title_' + language, last=False) self.fields.move_to_end('title_' + language, last=False)