add new fields to WayType

This commit is contained in:
Laura Klünder 2017-12-11 15:34:07 +01:00
parent 94a51f8159
commit 95fc1253bc
3 changed files with 95 additions and 6 deletions

View file

@ -0,0 +1,73 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.11.6 on 2017-12-11 14:23
from __future__ import unicode_literals
import c3nav.mapdata.fields
from decimal import Decimal
import django.core.validators
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('mapdata', '0056_accesspermissiontoken'),
]
operations = [
migrations.AddField(
model_name='waytype',
name='description',
field=c3nav.mapdata.fields.I18nField(fallback_any=True, verbose_name='description'),
),
migrations.AddField(
model_name='waytype',
name='description_up',
field=c3nav.mapdata.fields.I18nField(fallback_any=True, verbose_name='description upwards'),
),
migrations.AddField(
model_name='waytype',
name='extra_seconds',
field=models.PositiveSmallIntegerField(default=0, verbose_name='extra seconds per edge'),
),
migrations.AddField(
model_name='waytype',
name='icon_name',
field=models.CharField(blank=True, max_length=32, null=True, verbose_name='icon name'),
),
migrations.AddField(
model_name='waytype',
name='join_edges',
field=models.BooleanField(default=True, verbose_name='join consecutive edges'),
),
migrations.AddField(
model_name='waytype',
name='speed',
field=models.DecimalField(decimal_places=1, default=1, max_digits=3, validators=[django.core.validators.MinValueValidator(Decimal('0.1'))], verbose_name='speed (m/s)'),
),
migrations.AddField(
model_name='waytype',
name='speed_up',
field=models.DecimalField(decimal_places=1, default=1, max_digits=3, validators=[django.core.validators.MinValueValidator(Decimal('0.1'))], verbose_name='speed upwards (m/s)'),
),
migrations.AddField(
model_name='waytype',
name='title_plural',
field=c3nav.mapdata.fields.I18nField(fallback_any=True, plural_name='titles_plural', verbose_name='Title (Plural)'),
),
migrations.AddField(
model_name='waytype',
name='up_separate',
field=models.BooleanField(default=True, verbose_name='upwards separately'),
),
migrations.AddField(
model_name='waytype',
name='walk',
field=models.BooleanField(default=False, verbose_name='walking'),
),
migrations.AlterField(
model_name='waytype',
name='title',
field=c3nav.mapdata.fields.I18nField(fallback_any=True, plural_name='titles', verbose_name='Title'),
),
]

View file

@ -1,11 +1,13 @@
from collections import OrderedDict
from decimal import Decimal
from django.core.validators import MinValueValidator
from django.db import models
from django.utils.translation import ugettext_lazy as _
from c3nav.mapdata.fields import GeometryField
from c3nav.mapdata.fields import GeometryField, I18nField
from c3nav.mapdata.models.access import AccessRestrictionMixin
from c3nav.mapdata.models.base import TitledMixin
from c3nav.mapdata.models.base import SerializableMixin
from c3nav.mapdata.models.geometry.space import SpaceGeometryMixin
@ -25,11 +27,24 @@ class GraphNode(SpaceGeometryMixin, models.Model):
return result
class WayType(TitledMixin, models.Model):
class WayType(SerializableMixin, models.Model):
"""
A special way type
"""
title = I18nField(_('Title'), plural_name='titles', fallback_any=True)
title_plural = I18nField(_('Title (Plural)'), plural_name='titles_plural', fallback_any=True)
join_edges = models.BooleanField(_('join consecutive edges'), default=True)
up_separate = models.BooleanField(_('upwards separately'), default=True)
walk = models.BooleanField(_('walking'), default=False)
color = models.CharField(max_length=32, verbose_name=_('edge color'))
icon_name = models.CharField(_('icon name'), max_length=32, null=True, blank=True)
extra_seconds = models.PositiveSmallIntegerField(_('extra seconds per edge'), default=0)
speed = models.DecimalField(_('speed (m/s)'), max_digits=3, decimal_places=1, default=1,
validators=[MinValueValidator(Decimal('0.1'))])
description = I18nField(_('description'), fallback_any=True)
speed_up = models.DecimalField(_('speed upwards (m/s)'), max_digits=3, decimal_places=1, default=1,
validators=[MinValueValidator(Decimal('0.1'))])
description_up = I18nField(_('description upwards'), fallback_any=True)
class Meta:
verbose_name = _('Way Type')