Files
@ 9721593cc0e4
Branch filter:
Location: symposion_app/symposion/speakers/models.py - annotation
9721593cc0e4
1.9 KiB
text/x-python
Merge branch 'mbrochh-django1.6-compatibility'
2b7f5546a094 2b7f5546a094 2b7f5546a094 2b7f5546a094 2b7f5546a094 2b7f5546a094 2b7f5546a094 2b7f5546a094 2b7f5546a094 2b7f5546a094 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 2b7f5546a094 2b7f5546a094 2b7f5546a094 2b7f5546a094 2b7f5546a094 40b04240d4ae 2b7f5546a094 2b7f5546a094 36ab6d599ffc 2b7f5546a094 2b7f5546a094 2b7f5546a094 2b7f5546a094 2b7f5546a094 2b7f5546a094 36ab6d599ffc c1ff1546fe43 c1ff1546fe43 c1ff1546fe43 c1ff1546fe43 c1ff1546fe43 c1ff1546fe43 c1ff1546fe43 c1ff1546fe43 c1ff1546fe43 | import datetime
from django.db import models
from django.core.urlresolvers import reverse
from django.contrib.auth.models import User
from markitup.fields import MarkupField
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 __unicode__(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
|