blechreiz-website/musicians/models.py

59 lines
2.1 KiB
Python
Raw Permalink 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')),
('TUBA', _('Tuba'))
2013-05-28 15:20:06 +02:00
)
def musicianPictureName(musician, originalName):
2013-05-28 15:20:06 +02:00
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):
2013-05-28 15:20:06 +02:00
# Link to user object, contains first name and last name
user = models.OneToOneField(User, verbose_name=_("user"), on_delete=models.CASCADE)
image = models.ImageField(upload_to=musicianPictureName, verbose_name=_("image"))
small_image = models.ImageField(upload_to=musicianSmallPictureName, verbose_name=_("circular thumbnail"))
# Properties
instrument = models.CharField(max_length=4, choices=INSTRUMENTS, blank=True, verbose_name=_("instrument"))
birthday = models.DateField(null=True, verbose_name=_("birthday"))
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"))
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"))
position = models.IntegerField(null=True, verbose_name=_("Position"))
public_description = models.TextField(blank=True, verbose_name=_("public_description"))
2013-09-29 16:22:42 +02:00
@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'
def __unicode__(self):
return self.user.username