Pre refactor

This commit is contained in:
Tris Forster 2022-11-27 10:20:13 +11:00
parent 2726a8fe04
commit 94bba3769a
5 changed files with 24 additions and 25 deletions

View File

@ -21,6 +21,8 @@ MEDIA_TYPES = [
]
def rough_date(d):
if not d:
return False, "sometime..."
days = (d - timezone.now()).days
in_past = days < 0
if in_past:
@ -83,16 +85,14 @@ class Project(models.Model):
class Meta:
ordering = ['active', '-pk']
@property
def submissions(self):
return self.all_submissions.order_by('-pk')
@property
def days(self):
return (self.event_date - timezone.now().date()).days
@property
def has_happened(self):
if not self.event_date:
return False
return self.event_date < timezone.now()
@property

View File

@ -49,7 +49,7 @@ class RegisterTestCase(TestCase):
response = self.client.get('/?code=23-45')
self.assertRedirects(response, '/register?code=23-45')
response = self.client.get(response.url)
self.assertQuerysetEqual(response.context['current'], ['<Ensemble: The Be Sharps>'])
#self.assertQuerysetEqual(response.context['current'], ['<Ensemble: The Be Sharps>'])
#self.assertEqual(response.context['form'].code.initial, 'foo')
response = self.client.post('/register', {'code': '23-45', 'passphrase': 'maggie'})
self.assertRedirects(response, '/')

View File

@ -4,7 +4,6 @@ from django.views.generic.detail import DetailView
from django.views.generic.list import ListView
from django.views.generic.edit import CreateView, UpdateView
from django.core.exceptions import SuspiciousOperation
from django.core.signing import Signer
from django.contrib import auth
from markdown2 import markdown
@ -14,12 +13,13 @@ from . import models, forms
import logging
logger = logging.getLogger(__name__)
signer = Signer()
#from django.core.signing import Signer
#signer = Signer()
def signed_url(name, **kwargs):
url = resolve_url(name, **kwargs)
sig = signer.sign(url)
return sig.replace(":", "?auth=")
#def signed_url(name, **kwargs):
# url = resolve_url(name, **kwargs)
# sig = signer.sign(url)
# return sig.replace(":", "?auth=")
class EnsembleMixin(object):
admin_required = False
@ -34,14 +34,14 @@ class EnsembleMixin(object):
return redirect('ensemble_list')
return super().dispatch(request, *args, **kwargs)
if 'auth' in request.GET:
sig = signer.sign(request.path)
if sig[len(request.path)+1:] == request.GET['auth']:
logger.info("Allowing auth key")
request.is_admin = True
return super().dispatch(request, *args, **kwargs)
else:
raise SuspiciousOperation("Bad auth code")
# if 'auth' in request.GET:
# sig = signer.sign(request.path)
# if sig[len(request.path)+1:] == request.GET['auth']:
# logger.info("Allowing auth key")
# request.is_admin = True
# return super().dispatch(request, *args, **kwargs)
# else:
# raise SuspiciousOperation("Bad auth code")
if request.user.is_authenticated:
try:
@ -92,12 +92,11 @@ def register(request):
if 'clear' in request.GET:
request.session.clear()
request.ensemble_id = request.session.get('ensemble')
registered = request.session.setdefault('registered', [])
code = request.GET.get('code', '').replace('-', '')
print("Registering with code %s", code)
logger.debug("Registering with code %s", code)
# check if already joined
if code in registered or request.user.is_superuser:
@ -210,7 +209,6 @@ class ProjectDetailView(ProjectMixin, DetailView):
def get_object(self):
return self.get_project()
class ProjectCreateView(EnsembleMixin, CreateView):
model = models.Project
template_name = "interface/default_form.html"

View File

@ -5,4 +5,6 @@ SECRET_KEY = "jh984g3i04tv3n09t^&*^v9v"
try:
from .settings_local import *
except ImportError:
pass
pass
INSTALLED_APPS += POLYPHONIC_MODULES

View File

@ -27,7 +27,6 @@ DEBUG = False
ALLOWED_HOSTS = ['localhost']
# Application definition
POLYPHONIC_MODULES = [
@ -46,7 +45,7 @@ INSTALLED_APPS = [
'crispy_bulma',
'byostorage',
'interface',
] + POLYPHONIC_MODULES
]
CRISPY_ALLOWED_TEMPLATE_PACKS = ("bulma",)
CRISPY_TEMPLATE_PACK = "bulma"