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 decimal import Decimal
from django.conf import settings
from django.core.validators import MinValueValidator from django.core.validators import MinValueValidator
from django.db import models from django.db import models
from django.urls import reverse 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 django.utils.translation import ugettext_lazy as _
from shapely.geometry import CAP_STYLE, JOIN_STYLE, mapping 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.geometry.base import GeometryMixin
from c3nav.mapdata.models.locations import SpecificLocation from c3nav.mapdata.models.locations import SpecificLocation
from c3nav.mapdata.utils.cache.changes import changed_geometries from c3nav.mapdata.utils.cache.changes import changed_geometries
@ -240,3 +241,18 @@ class AltitudeMarker(SpaceGeometryMixin, models.Model):
@property @property
def title(self): def title(self):
return '%s (%sm)' % (super().title, self.altitude) 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'