Serve partner audiobooks with isbns
[wolnelektury.git] / src / partners / models.py
1 from django.db import models
2
3
4 class Partner(models.Model):
5     name = models.CharField(max_length=255)
6     key = models.CharField(max_length=255)
7
8     def __str__(self):
9         return self.name
10     
11     def get_price(self, pages):
12         price_obj = self.pricelevel_set.exclude(
13             min_pages__gt=pages
14         ).order_by('-price').first()
15         if price_obj is None:
16             return None
17         return price_obj.price
18
19     def get_audio_price(self, minutes):
20         price_obj = self.audiopricelevel_set.exclude(
21             min_minutes__gt=minutes
22         ).order_by('-price').first()
23         if price_obj is None:
24             return None
25         return price_obj.price
26         
27
28 class PriceLevel(models.Model):
29     partner = models.ForeignKey(Partner, models.CASCADE)
30     min_pages = models.IntegerField(null=True, blank=True)
31     price = models.DecimalField(max_digits=10, decimal_places=2)
32
33     class Meta:
34         ordering = ('price',)
35
36
37 class AudioPriceLevel(models.Model):
38     partner = models.ForeignKey(Partner, models.CASCADE)
39     min_minutes = models.IntegerField(null=True, blank=True)
40     price = models.DecimalField(max_digits=10, decimal_places=2)
41
42     class Meta:
43         ordering = ('price',)