blechreiz-website/musicians/models.py

57 lines
2.2 KiB
Python
Raw Normal View History

2013-05-28 15:20:06 +02:00
from django.db import models
from django.contrib.auth.models import User
from django.utils.translation import ugettext as _
import os
INSTRUMENTS = (
('TR', _('Trumpet') ),
('TRB', _('Trombone') ),
('HRN',_('Horn') ),
2013-05-28 15:20:06 +02:00
('TUBA',_('Tuba') )
)
def musicianPictureName( musician, originalName ):
fileExtension = os.path.splitext(originalName)[1]
return "user_images/" + musician.user.username + fileExtension
def musicianSmallPictureName( musician, originalName ):
fileExtension = os.path.splitext(originalName)[1]
return "user_images/" + musician.user.username + "_thumb" + fileExtension
2013-05-28 15:20:06 +02:00
class Musician( models.Model ):
# Link to user object, contains first name and last name
2013-06-30 11:01:12 +02:00
user = models.OneToOneField( User, verbose_name=_("user") )
2013-05-28 15:20:06 +02:00
image = models.ImageField( upload_to = musicianPictureName, verbose_name=_("image") )
small_image = models.ImageField( upload_to = musicianSmallPictureName, verbose_name = _("circular thumbnail") )
2013-05-28 15:20:06 +02:00
# Properties
2013-06-30 11:01:12 +02:00
instrument = models.CharField( max_length=4, choices=INSTRUMENTS, blank=True, verbose_name=_("instrument") )
2013-06-30 11:01:12 +02:00
birthday = models.DateField( null=True, verbose_name=_("birthday") )
2013-06-30 11:01:12 +02:00
street = models.CharField( max_length=80, blank=True, verbose_name=_("street") )
city = models.CharField( max_length=40, blank=True, verbose_name=_("city") )
zip_code = models.IntegerField( null=True, verbose_name=_("zip_code") )
2013-05-28 15:20:06 +02:00
phone_home = models.CharField( max_length=18, blank=True, verbose_name=_("phone_home") )
phone_mobile = models.CharField( max_length=18, blank=True, verbose_name=_("phone_mobile") )
phone_work = models.CharField( max_length=18, blank=True, verbose_name=_("phone_work") )
@property
def isDeepBrass(self):
return self.instrument == 'TRB' or self.instrument == "EUPH" or self.instrument == "TUBA" or self.instrument == "HRN"
@property
def isHighBrass(self):
return self.instrument == 'TR'
2013-06-30 11:01:12 +02:00
public_description = models.TextField( blank=True, verbose_name=_("public_description") )
def __unicode__( self ):
return self.user.username
2013-05-28 15:20:06 +02:00