Some refactoring and misc improvements

This commit is contained in:
Skia
2016-02-05 16:59:42 +01:00
parent ed080b76a2
commit a14d940db2
16 changed files with 199 additions and 74 deletions

View File

@ -20,8 +20,12 @@ class Subscriber(User):
class Meta:
proxy = True
def __init__(self, *args, **kwargs):
super(Subscriber, self).__init__(*args, **kwargs)
def is_subscribed(self):
return self.subscriptions.last().is_valid_now()
s = self.subscriptions.last()
return s.is_valid_now() if s is not None else False
class Subscription(models.Model):
member = models.ForeignKey(Subscriber, related_name='subscriptions')

View File

@ -1,11 +1,22 @@
from django.shortcuts import render
from django.views.generic.edit import UpdateView, CreateView
from django.views.generic.base import View
from django.core.exceptions import PermissionDenied
from django import forms
from django.forms import Select
from django.conf import settings
from subscription.models import Subscriber, Subscription
from core.views import CanEditMixin, CanEditPropMixin, CanViewMixin
from core.models import User
class SubscriberMixin(View):
def dispatch(self, request, *arg, **kwargs):
res = super(SubscriberMixin, self).dispatch(request, *arg, **kwargs)
subscriber = Subscriber.objects.filter(pk=request.user.pk).first()
if subscriber is not None and subscriber.is_subscribed():
return ret
raise PermissionDenied
class SubscriptionForm(forms.ModelForm):
class Meta: