Parcourir la source

Make field type/validation more acurate

Jocelyn Delande il y a 9 ans
Parent
commit
0af3171903

+ 39 - 0
wifiwithme/apps/contribmap/migrations/0004_auto_20160303_1152.py

@@ -0,0 +1,39 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.9.3 on 2016-03-03 11:52
+from __future__ import unicode_literals
+
+import contribmap.fields
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('contribmap', '0003_auto_20160303_1057'),
+    ]
+
+    operations = [
+        migrations.AlterField(
+            model_name='contrib',
+            name='contrib_type',
+            field=models.CharField(choices=[('connect', 'Me raccorder au réseau expérimental'), ('share', 'Partager une partie de ma connexion')], default='connect', max_length=10),
+            preserve_default=False,
+        ),
+        migrations.AlterField(
+            model_name='contrib',
+            name='email',
+            field=models.EmailField(blank=True, default='', max_length=254),
+            preserve_default=False,
+        ),
+        migrations.AlterField(
+            model_name='contrib',
+            name='name',
+            field=models.TextField(default=''),
+            preserve_default=False,
+        ),
+        migrations.AlterField(
+            model_name='contrib',
+            name='orientations',
+            field=contribmap.fields.CommaSeparatedCharField(blank=True, max_length=100, null=True),
+        ),
+    ]

+ 71 - 0
wifiwithme/apps/contribmap/migrations/0005_auto_20160303_1222.py

@@ -0,0 +1,71 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.9.3 on 2016-03-03 12:22
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('contribmap', '0004_auto_20160303_1152'),
+    ]
+
+    operations = [
+        migrations.AlterField(
+            model_name='contrib',
+            name='access_type',
+            field=models.CharField(blank=True, choices=[('vdsl', 'ADSL'), ('vdsl', 'VDSL'), ('fiber', 'Fibre optique'), ('cable', 'Coaxial (FTTLA)')], default='', max_length=10),
+            preserve_default=False,
+        ),
+        migrations.AlterField(
+            model_name='contrib',
+            name='connect_internet',
+            field=models.NullBooleanField(default=False),
+        ),
+        migrations.AlterField(
+            model_name='contrib',
+            name='connect_local',
+            field=models.NullBooleanField(default=False),
+        ),
+        migrations.AlterField(
+            model_name='contrib',
+            name='floor',
+            field=models.PositiveIntegerField(blank=True, null=True),
+        ),
+        migrations.AlterField(
+            model_name='contrib',
+            name='floor_total',
+            field=models.PositiveIntegerField(blank=True, null=True),
+        ),
+        migrations.AlterField(
+            model_name='contrib',
+            name='privacy_comment',
+            field=models.BooleanField(default=False),
+        ),
+        migrations.AlterField(
+            model_name='contrib',
+            name='privacy_coordinates',
+            field=models.BooleanField(default=True),
+        ),
+        migrations.AlterField(
+            model_name='contrib',
+            name='privacy_email',
+            field=models.BooleanField(default=False),
+        ),
+        migrations.AlterField(
+            model_name='contrib',
+            name='privacy_name',
+            field=models.BooleanField(default=False),
+        ),
+        migrations.AlterField(
+            model_name='contrib',
+            name='privacy_place_details',
+            field=models.BooleanField(default=True),
+        ),
+        migrations.AlterField(
+            model_name='contrib',
+            name='roof',
+            field=models.BooleanField(default=False),
+        ),
+    ]

+ 24 - 14
wifiwithme/apps/contribmap/models.py

@@ -7,28 +7,38 @@ from .fields import CommaSeparatedCharField
 
 class Contrib(models.Model):
     id = models.AutoField(primary_key=True, blank=False, null=False)
-    name = models.TextField(blank=True, null=True)
-    contrib_type = models.TextField(blank=True, null=True)
+    name = models.TextField()
+    contrib_type = models.CharField(
+        max_length=10, choices=(
+            ('connect', 'Me raccorder au réseau expérimental'),
+            ('share', 'Partager une partie de ma connexion')
+        ))
     latitude = models.FloatField(blank=True, null=True)
     longitude = models.FloatField(blank=True, null=True)
     phone = models.TextField(blank=True, null=True)
-    email = models.TextField(blank=True, null=True)
-    access_type = models.TextField(blank=True, null=True)
-    connect_local = models.IntegerField(blank=True, null=True)
-    connect_internet = models.IntegerField(blank=True, null=True)
+    email = models.EmailField(blank=True)
+    access_type = models.CharField(
+        max_length=10, blank=True, choices=(
+            ('vdsl', 'ADSL'),
+            ('vdsl', 'VDSL'),
+            ('fiber', 'Fibre optique'),
+            ('cable', 'Coaxial (FTTLA)'),
+        ))
+    connect_local = models.NullBooleanField(default=False, null=True)
+    connect_internet = models.NullBooleanField(default=False, null=True)
     bandwidth = models.FloatField(blank=True, null=True)
     share_part = models.FloatField(blank=True, null=True)
-    floor = models.IntegerField(blank=True, null=True)
-    floor_total = models.IntegerField(blank=True, null=True)
+    floor = models.PositiveIntegerField(blank=True, null=True)
+    floor_total = models.PositiveIntegerField(blank=True, null=True)
     orientations = CommaSeparatedCharField(
         blank=True, null=True, max_length=100)
-    roof = models.IntegerField(blank=True, null=True)
+    roof = models.BooleanField(default=False)
     comment = models.TextField(blank=True, null=True)
-    privacy_name = models.IntegerField(blank=True, null=True)
-    privacy_email = models.IntegerField(blank=True, null=True)
-    privacy_coordinates = models.IntegerField(blank=True, null=True)
-    privacy_place_details = models.IntegerField(blank=True, null=True)
-    privacy_comment = models.IntegerField(blank=True, null=True)
+    privacy_name = models.BooleanField(default=False)
+    privacy_email = models.BooleanField(default=False)
+    privacy_coordinates = models.BooleanField(default=True)
+    privacy_place_details = models.BooleanField(default=True)
+    privacy_comment = models.BooleanField(default=False)
     date = models.TextField(blank=True, null=True)
 
     class Meta: