Skip to content
This repository was archived by the owner on Mar 24, 2019. It is now read-only.

Commit 6653f01

Browse files
committed
Make some fields on Speaker model optional.
This makes it easier to add/edit Speakers in the admin. - Make User relationship optional (since some Speakers will not have a User account associated with them if they are additional speakers to a proposal) by setting blank=True. - Make annotation field optional (similar to the field on the Sponsor model). - Make invite_email and invite_token fields optional by setting blank=True, since conventional Speakers attached to User accounts do not need these fields. This removes the uniqueness constraint from invite_token, but since null=True was set on that field (see https://docs.djangoproject.com/en/1.9/ref/models/fields/#django.db.models.Field.null), it wasn't really unique anyway. Note that this commit differs from the one in pinax#155 in that the associated migration is #4, not #3. This prevents migration conflicts within this branch, but does not apply cleanly to master by itself.
1 parent d01489f commit 6653f01

2 files changed

Lines changed: 47 additions & 4 deletions

File tree

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
# -*- coding: utf-8 -*-
2+
# Generated by Django 1.9.12 on 2017-01-20 07:40
3+
from __future__ import unicode_literals
4+
5+
import datetime
6+
from django.conf import settings
7+
from django.db import migrations, models
8+
import django.db.models.deletion
9+
10+
11+
class Migration(migrations.Migration):
12+
13+
dependencies = [
14+
('symposion_speakers', '0003_make_speaker_created_timezone_aware'),
15+
]
16+
17+
operations = [
18+
migrations.AlterField(
19+
model_name='speaker',
20+
name='annotation',
21+
field=models.TextField(blank=True, verbose_name='Annotation'),
22+
),
23+
migrations.AlterField(
24+
model_name='speaker',
25+
name='created',
26+
field=models.DateTimeField(default=datetime.datetime.now, editable=False, verbose_name='Created'),
27+
),
28+
migrations.AlterField(
29+
model_name='speaker',
30+
name='invite_email',
31+
field=models.CharField(blank=True, db_index=True, default='', max_length=200, verbose_name='Invite_email'),
32+
),
33+
migrations.AlterField(
34+
model_name='speaker',
35+
name='invite_token',
36+
field=models.CharField(blank=True, db_index=True, max_length=40, verbose_name='Invite token'),
37+
),
38+
migrations.AlterField(
39+
model_name='speaker',
40+
name='user',
41+
field=models.OneToOneField(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='speaker_profile', to=settings.AUTH_USER_MODEL, verbose_name='User'),
42+
),
43+
]

symposion/speakers/models.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ class Speaker(models.Model):
1919
(2, "Two")
2020
]
2121

22-
user = models.OneToOneField(User, null=True, related_name="speaker_profile", verbose_name=_("User"))
22+
user = models.OneToOneField(User, blank=True, null=True, related_name="speaker_profile", verbose_name=_("User"))
2323
name = models.CharField(verbose_name=_("Name"), max_length=100,
2424
help_text=_("As you would like it to appear in the"
2525
" conference program."))
@@ -34,9 +34,9 @@ class Speaker(models.Model):
3434
blank=True,
3535
help_text=_(u"Your Twitter account")
3636
)
37-
annotation = models.TextField(verbose_name=_("Annotation")) # staff only
38-
invite_email = models.CharField(max_length=200, unique=True, null=True, db_index=True, verbose_name=_("Invite_email"))
39-
invite_token = models.CharField(max_length=40, db_index=True, verbose_name=_("Invite token"))
37+
annotation = models.TextField(blank=True, verbose_name=_("Annotation")) # staff only
38+
invite_email = models.CharField(blank=True, default="", max_length=200, db_index=True, verbose_name=_("Invite_email"))
39+
invite_token = models.CharField(blank=True, max_length=40, db_index=True, verbose_name=_("Invite token"))
4040
created = models.DateTimeField(
4141
default=timezone.now,
4242
editable=False,

0 commit comments

Comments
 (0)