LocationGroupCategory.title_plural

This commit is contained in:
Laura Klünder 2017-11-30 16:51:28 +01:00
parent 4ccbbd0491
commit f915210cf2
3 changed files with 74 additions and 7 deletions

View file

@ -95,7 +95,8 @@ class EditorFormBase(ModelForm):
field = ChoiceField(label=category.title, required=False, initial=initial, choices=choices)
else:
name = 'groups_'+category.name
field = MultipleChoiceField(label=category.title, required=False, initial=initial, choices=choices)
field = MultipleChoiceField(label=category.title_plural, required=False,
initial=initial, choices=choices)
self.fields[name] = field
if 'category' in self.fields:
@ -182,7 +183,8 @@ class EditorFormBase(ModelForm):
def create_editor_form(editor_model):
possible_fields = ['slug', 'name', 'title', 'ordering', 'category', 'width', 'groups', 'color', 'priority',
possible_fields = ['slug', 'name', 'title', 'title_plural',
'ordering', 'category', 'width', 'groups', 'color', 'priority',
'base_altitude', 'waytype', 'access_restriction', 'height', 'default_height', 'door_height',
'outside', 'can_search', 'can_describe', 'geometry', 'single', 'altitude', 'short_label',
'allow_levels', 'allow_spaces', 'allow_areas', 'allow_pois', 'left', 'top', 'right', 'bottom']

View file

@ -0,0 +1,61 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.11.6 on 2017-11-30 15:28
from __future__ import unicode_literals
import c3nav.mapdata.fields
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
('mapdata', '0053_i18nfield'),
]
operations = [
migrations.AddField(
model_name='locationgroupcategory',
name='title_plural',
field=c3nav.mapdata.fields.I18nField(fallback_any=True, plural_name='titles_plural', verbose_name='Title (Plural)'),
),
migrations.AlterField(
model_name='accessrestriction',
name='title',
field=c3nav.mapdata.fields.I18nField(blank=True, fallback_any=True, fallback_value='{model} {pk}', plural_name='titles', verbose_name='Title'),
),
migrations.AlterField(
model_name='area',
name='title',
field=c3nav.mapdata.fields.I18nField(blank=True, fallback_any=True, fallback_value='{model} {pk}', plural_name='titles', verbose_name='Title'),
),
migrations.AlterField(
model_name='level',
name='title',
field=c3nav.mapdata.fields.I18nField(blank=True, fallback_any=True, fallback_value='{model} {pk}', plural_name='titles', verbose_name='Title'),
),
migrations.AlterField(
model_name='locationgroup',
name='title',
field=c3nav.mapdata.fields.I18nField(blank=True, fallback_any=True, fallback_value='{model} {pk}', plural_name='titles', verbose_name='Title'),
),
migrations.AlterField(
model_name='locationgroupcategory',
name='title',
field=c3nav.mapdata.fields.I18nField(fallback_any=True, plural_name='titles', verbose_name='Title'),
),
migrations.AlterField(
model_name='poi',
name='title',
field=c3nav.mapdata.fields.I18nField(blank=True, fallback_any=True, fallback_value='{model} {pk}', plural_name='titles', verbose_name='Title'),
),
migrations.AlterField(
model_name='space',
name='title',
field=c3nav.mapdata.fields.I18nField(blank=True, fallback_any=True, fallback_value='{model} {pk}', plural_name='titles', verbose_name='Title'),
),
migrations.AlterField(
model_name='waytype',
name='title',
field=c3nav.mapdata.fields.I18nField(blank=True, fallback_any=True, fallback_value='{model} {pk}', plural_name='titles', verbose_name='Title'),
),
]

View file

@ -10,6 +10,7 @@ from django.utils.text import format_lazy
from django.utils.translation import ugettext_lazy as _
from django.utils.translation import ungettext_lazy
from c3nav.mapdata.fields import I18nField
from c3nav.mapdata.models.access import AccessRestrictionMixin
from c3nav.mapdata.models.base import SerializableMixin, TitledMixin
from c3nav.mapdata.utils.models import get_submodels
@ -178,9 +179,11 @@ class SpecificLocation(Location, models.Model):
return (0, groups[0].category.priority, groups[0].priority)
class LocationGroupCategory(TitledMixin, models.Model):
class LocationGroupCategory(SerializableMixin, models.Model):
name = models.SlugField(_('Name'), unique=True, max_length=50)
single = models.BooleanField(_('single selection'), default=False)
title = I18nField(_('Title'), plural_name='titles', fallback_any=True)
title_plural = I18nField(_('Title (Plural)'), plural_name='titles_plural', fallback_any=True)
allow_levels = models.BooleanField(_('allow levels'), db_index=True, default=True)
allow_spaces = models.BooleanField(_('allow spaces'), db_index=True, default=True)
allow_areas = models.BooleanField(_('allow areas'), db_index=True, default=True)
@ -197,11 +200,12 @@ class LocationGroupCategory(TitledMixin, models.Model):
default_related_name = 'locationgroupcategories'
ordering = ('-priority', )
def _serialize(self, **kwargs):
result = super()._serialize(**kwargs)
def _serialize(self, detailed=True, **kwargs):
result = super()._serialize(detailed=detailed, **kwargs)
result['name'] = self.name
result.move_to_end('name', last=False)
result.move_to_end('id', last=False)
if detailed:
result['titles'] = self.titles
result['title'] = self.title
return result
def register_changed_geometries(self):