2015-05-02 15:00:15 +00:00
|
|
|
from django.db import models
|
2016-03-05 19:57:41 +00:00
|
|
|
from cms.models import CMSPlugin
|
|
|
|
from filer.fields.image import FilerImageField
|
2016-04-23 17:00:20 +00:00
|
|
|
from django.core.urlresolvers import reverse
|
2015-05-02 15:00:15 +00:00
|
|
|
|
|
|
|
|
2016-08-20 05:57:35 +00:00
|
|
|
class MembershipType(models.Model):
|
|
|
|
|
|
|
|
MEMBERSHIP_TYPES = (
|
|
|
|
('standard', 'Standard'),
|
|
|
|
|
|
|
|
)
|
|
|
|
name = models.CharField(choices=MEMBERSHIP_TYPES, max_length=20)
|
|
|
|
price = models.FloatField()
|
|
|
|
|
|
|
|
|
|
|
|
class Membership(models.Model):
|
|
|
|
type = models.ForeignKey(MembershipType)
|
|
|
|
|
|
|
|
@classmethod
|
|
|
|
def create(cls, data, user):
|
|
|
|
instance = cls.objects.create(**data)
|
|
|
|
instance.assign_permissions(user)
|
|
|
|
return instance
|
|
|
|
|
|
|
|
|
|
|
|
class MembershipOrder(models.Model):
|
|
|
|
membership = models.ForeignKey(Membership)
|
|
|
|
created_at = models.DateTimeField(auto_now_add=True)
|
|
|
|
approved = models.BooleanField(default=False)
|
|
|
|
last4 = models.CharField(max_length=4)
|
|
|
|
cc_brand = models.CharField(max_length=10)
|
|
|
|
stripe_charge_id = models.CharField(max_length=100, null=True)
|
|
|
|
|
|
|
|
|
2016-04-04 01:39:57 +00:00
|
|
|
class Supporter(models.Model):
|
|
|
|
name = models.CharField(max_length=200)
|
|
|
|
description = models.TextField(null=True, blank=True)
|
2016-04-10 21:12:43 +00:00
|
|
|
|
2016-04-04 01:39:57 +00:00
|
|
|
def __str__(self):
|
|
|
|
return "%s" % (self.name)
|
|
|
|
|
|
|
|
def get_absolute_url(self):
|
|
|
|
return reverse('dgSupporters_view', args=[self.pk])
|
2016-03-25 18:18:07 +00:00
|
|
|
|
2016-04-01 10:37:01 +00:00
|
|
|
|
|
|
|
|
2016-08-20 05:57:35 +00:00
|
|
|
|
|
|
|
|
2016-04-01 10:37:01 +00:00
|
|
|
class DGGallery(models.Model):
|
|
|
|
parent = models.ForeignKey('self', blank=True, null=True)
|
|
|
|
name = models.CharField(max_length=30)
|
|
|
|
|
|
|
|
def __str__(self):
|
|
|
|
return "%s" % (self.name)
|
|
|
|
|
|
|
|
def get_absolute_url(self):
|
|
|
|
return reverse('dgGallery_view', args=[self.pk])
|
|
|
|
|
|
|
|
class Meta:
|
|
|
|
verbose_name_plural = 'dgGallery'
|
2016-03-25 18:18:07 +00:00
|
|
|
#
|
2016-04-01 10:37:01 +00:00
|
|
|
class DGPicture(models.Model):
|
|
|
|
gallery = models.ForeignKey(DGGallery)
|
|
|
|
image = FilerImageField(related_name='dg_gallery')
|
|
|
|
description = models.CharField(max_length=60)
|
|
|
|
|
|
|
|
def __str__(self):
|
|
|
|
return "%s" % (self.image.name)
|
|
|
|
|
|
|
|
class DGGalleryPlugin(CMSPlugin):
|
|
|
|
dgGallery = models.ForeignKey(DGGallery)
|
|
|
|
|
|
|
|
class DGSupportersPlugin(CMSPlugin):
|
|
|
|
pass
|