add WifiMeasurement model

This commit is contained in:
Laura Klünder 2017-12-16 12:43:14 +01:00
parent 5bd879d954
commit 5ebddc8ed8
2 changed files with 52 additions and 1 deletions

View file

@ -0,0 +1,35 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.11.6 on 2017-12-16 11:42
from __future__ import unicode_literals
import c3nav.mapdata.fields
from django.conf import settings
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
('mapdata', '0057_waytype_fields'),
]
operations = [
migrations.CreateModel(
name='WifiMeasurement',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('geometry', c3nav.mapdata.fields.GeometryField(default=None, geomtype='point')),
('comment', models.TextField(blank=True, null=True, verbose_name='comment')),
('data', c3nav.mapdata.fields.JSONField(verbose_name='Measurement list')),
('author', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='wifi_measurements', to=settings.AUTH_USER_MODEL, verbose_name='author')),
('space', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='wifi_measurements', to='mapdata.Space', verbose_name='space')),
],
options={
'verbose_name': 'Wi-Fi Measurement',
'verbose_name_plural': 'Wi-Fi Measurements',
'default_related_name': 'wifi_measurements',
},
),
]

View file

@ -1,5 +1,6 @@
from decimal import Decimal
from django.conf import settings
from django.core.validators import MinValueValidator
from django.db import models
from django.urls import reverse
@ -8,7 +9,7 @@ from django.utils.text import format_lazy
from django.utils.translation import ugettext_lazy as _
from shapely.geometry import CAP_STYLE, JOIN_STYLE, mapping
from c3nav.mapdata.fields import GeometryField
from c3nav.mapdata.fields import GeometryField, JSONField
from c3nav.mapdata.models.geometry.base import GeometryMixin
from c3nav.mapdata.models.locations import SpecificLocation
from c3nav.mapdata.utils.cache.changes import changed_geometries
@ -240,3 +241,18 @@ class AltitudeMarker(SpaceGeometryMixin, models.Model):
@property
def title(self):
return '%s (%sm)' % (super().title, self.altitude)
class WifiMeasurement(SpaceGeometryMixin, models.Model):
"""
A Wi-Fi measurement
"""
geometry = GeometryField('point')
author = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.PROTECT, verbose_name=_('author'))
comment = models.TextField(null=True, blank=True, verbose_name=_('comment'))
data = JSONField(_('Measurement list'))
class Meta:
verbose_name = _('Wi-Fi Measurement')
verbose_name_plural = _('Wi-Fi Measurements')
default_related_name = 'wifi_measurements'