Files
@ ffd428d49720
Branch filter:
Location: symposion_app/symposion/speakers/models.py - annotation
ffd428d49720
2.0 KiB
text/x-python
Merge pull request #100 from miurahr/python3_compatibility
python3 compatibility
python3 compatibility
a95825ede8d4 2b7f5546a094 a95825ede8d4 2b7f5546a094 2b7f5546a094 2b7f5546a094 2b7f5546a094 2b7f5546a094 2b7f5546a094 2b7f5546a094 2b7f5546a094 2b7f5546a094 a95825ede8d4 2b7f5546a094 36ab6d599ffc 2b7f5546a094 2b7f5546a094 2b7f5546a094 2b7f5546a094 36ab6d599ffc 2b7f5546a094 36ab6d599ffc 36ab6d599ffc 36ab6d599ffc 36ab6d599ffc 36ab6d599ffc 36ab6d599ffc 2b7f5546a094 81853ece305b 2b7f5546a094 2b7f5546a094 2b7f5546a094 36ab6d599ffc 36ab6d599ffc 2b7f5546a094 40b04240d4ae 40b04240d4ae 40b04240d4ae 36ab6d599ffc a95825ede8d4 2b7f5546a094 2b7f5546a094 2b7f5546a094 a95825ede8d4 40b04240d4ae 2b7f5546a094 2b7f5546a094 36ab6d599ffc 2b7f5546a094 2b7f5546a094 2b7f5546a094 2b7f5546a094 2b7f5546a094 2b7f5546a094 36ab6d599ffc c1ff1546fe43 c1ff1546fe43 c1ff1546fe43 c1ff1546fe43 c1ff1546fe43 c1ff1546fe43 c1ff1546fe43 c1ff1546fe43 c1ff1546fe43 | from __future__ import unicode_literals
import datetime
from django.utils.encoding import python_2_unicode_compatible
from django.db import models
from django.core.urlresolvers import reverse
from django.contrib.auth.models import User
from markitup.fields import MarkupField
@python_2_unicode_compatible
class Speaker(models.Model):
SESSION_COUNT_CHOICES = [
(1, "One"),
(2, "Two")
]
user = models.OneToOneField(User, null=True, related_name="speaker_profile")
name = models.CharField(max_length=100, help_text=("As you would like it to appear in the "
"conference program."))
biography = MarkupField(blank=True, help_text=("A little bit about you. Edit using "
"<a href='http://warpedvisions.org/projects/"
"markdown-cheat-sheet/target='_blank'>"
"Markdown</a>."))
photo = models.ImageField(upload_to="speaker_photos", blank=True)
annotation = models.TextField() # staff only
invite_email = models.CharField(max_length=200, unique=True, null=True, db_index=True)
invite_token = models.CharField(max_length=40, db_index=True)
created = models.DateTimeField(
default=datetime.datetime.now,
editable=False
)
class Meta:
ordering = ['name']
def __str__(self):
if self.user:
return self.name
else:
return "?"
def get_absolute_url(self):
return reverse("speaker_edit")
@property
def email(self):
if self.user is not None:
return self.user.email
else:
return self.invite_email
@property
def all_presentations(self):
presentations = []
if self.presentations:
for p in self.presentations.all():
presentations.append(p)
for p in self.copresentations.all():
presentations.append(p)
return presentations
|