|
|
@@ -6,7 +6,13 @@ try:
|
|
6
|
6
|
BANNER_FOLDER = settings.OSCAR_BANNER_FOLDER
|
|
7
|
7
|
except AttributeError:
|
|
8
|
8
|
BANNER_FOLDER = 'images/banners/'
|
|
|
9
|
+
|
|
|
10
|
+try:
|
|
|
11
|
+ POD_FOLDER = settings.OSCAR_POD_FOLDER
|
|
|
12
|
+except AttributeError:
|
|
|
13
|
+ POD_FOLDER = 'images/pods/'
|
|
9
|
14
|
|
|
|
15
|
+LEFT, RIGHT = ('Left', 'Right')
|
|
10
|
16
|
|
|
11
|
17
|
class AbstractBanner(models.Model):
|
|
12
|
18
|
u"""
|
|
|
@@ -14,6 +20,7 @@ class AbstractBanner(models.Model):
|
|
14
|
20
|
"""
|
|
15
|
21
|
name = models.CharField(_("Name"), max_length=128)
|
|
16
|
22
|
page_url = models.CharField(_('URL'), max_length=128, db_index=True)
|
|
|
23
|
+ display_order = models.PositiveIntegerField(default=0)
|
|
17
|
24
|
link_url = models.URLField(blank=True, null=True, help_text="""This is
|
|
18
|
25
|
where the banner links to""")
|
|
19
|
26
|
image = models.ImageField(upload_to=BANNER_FOLDER)
|
|
|
@@ -21,6 +28,8 @@ class AbstractBanner(models.Model):
|
|
21
|
28
|
|
|
22
|
29
|
class Meta:
|
|
23
|
30
|
abstract = True
|
|
|
31
|
+ ordering = ['page_url', 'display_order']
|
|
|
32
|
+ get_latest_by = "date_created"
|
|
24
|
33
|
|
|
25
|
34
|
def __unicode__(self):
|
|
26
|
35
|
return "%s (%s)" % (self.name, self.page_url)
|
|
|
@@ -31,6 +40,40 @@ class AbstractBanner(models.Model):
|
|
31
|
40
|
@property
|
|
32
|
41
|
def has_link(self):
|
|
33
|
42
|
return self.link_url != None
|
|
|
43
|
+
|
|
|
44
|
+
|
|
|
45
|
+class AbstractPod(models.Model):
|
|
|
46
|
+ u"""
|
|
|
47
|
+ A pod image linked to a particular page.
|
|
|
48
|
+ """
|
|
|
49
|
+ POSITION_CHOICES = (
|
|
|
50
|
+ (LEFT, _("Left of page")),
|
|
|
51
|
+ (RIGHT, _("Right of page")),
|
|
|
52
|
+ )
|
|
|
53
|
+
|
|
|
54
|
+ name = models.CharField(_("Name"), max_length=128)
|
|
|
55
|
+ page_url = models.CharField(_('URL'), max_length=128, db_index=True)
|
|
|
56
|
+ page_position = models.CharField(_("Position"), max_length=128, choices=POSITION_CHOICES)
|
|
|
57
|
+ display_order = models.PositiveIntegerField(default=0)
|
|
|
58
|
+ link_url = models.URLField(blank=True, null=True, help_text="""This is
|
|
|
59
|
+ where the pod links to""")
|
|
|
60
|
+ image = models.ImageField(upload_to=POD_FOLDER)
|
|
|
61
|
+ date_created = models.DateTimeField(auto_now_add=True)
|
|
|
62
|
+
|
|
|
63
|
+ class Meta:
|
|
|
64
|
+ abstract = True
|
|
|
65
|
+ ordering = ["page_url", "page_position", 'display_order']
|
|
|
66
|
+ get_latest_by = "date_created"
|
|
|
67
|
+
|
|
|
68
|
+ def __unicode__(self):
|
|
|
69
|
+ return "%s (%s)" % (self.name, self.page_url)
|
|
|
70
|
+
|
|
|
71
|
+ def save(self, *args, **kwargs):
|
|
|
72
|
+ super(AbstractPod, self).save(*args, **kwargs)
|
|
|
73
|
+
|
|
|
74
|
+ @property
|
|
|
75
|
+ def has_link(self):
|
|
|
76
|
+ return self.link_url != None
|
|
34
|
77
|
|
|
35
|
78
|
|
|
36
|
79
|
|