|
|
|
@ -1,8 +1,8 @@
|
|
|
|
|
from django.shortcuts import render
|
|
|
|
|
from django.shortcuts import render, get_object_or_404
|
|
|
|
|
|
|
|
|
|
from django.contrib.auth.decorators import login_required
|
|
|
|
|
from django.contrib.admin.views.decorators import staff_member_required
|
|
|
|
|
from django.db.models import Q
|
|
|
|
|
#from django.db.models import Q
|
|
|
|
|
from django.contrib.auth.forms import AuthenticationForm, PasswordChangeForm
|
|
|
|
|
from django.http import HttpResponseRedirect
|
|
|
|
|
from django.contrib import messages
|
|
|
|
@ -11,8 +11,8 @@ from django.contrib.auth import login as auth_login
|
|
|
|
|
|
|
|
|
|
import datetime
|
|
|
|
|
|
|
|
|
|
from .models import User, Contest, Frequency, Reference, QSO
|
|
|
|
|
from .forms import UpdateRefForm, QSOForm, QSOFormWithTime, CustomUserCreationForm
|
|
|
|
|
from .models import User, Contest, Frequency, Reference, QSO, ShadowCall
|
|
|
|
|
from .forms import UpdateRefForm, QSOForm, QSOFormWithTime, CustomUserCreationForm, ShadowCallAddForm
|
|
|
|
|
|
|
|
|
|
def index(request):
|
|
|
|
|
if request.user.is_authenticated():
|
|
|
|
@ -106,24 +106,37 @@ def logDelete(request, qsoid):
|
|
|
|
|
@staff_member_required
|
|
|
|
|
def registerRefs(request):
|
|
|
|
|
allUser = User.objects.all()
|
|
|
|
|
refsMissingUser = User.objects.filter(ref=None).order_by("username")
|
|
|
|
|
refsNotMissingUser = User.objects.filter(~Q(ref=None)).order_by("username")
|
|
|
|
|
shadows = ShadowCall.objects.all()
|
|
|
|
|
|
|
|
|
|
qsos = QSO.objects.all().order_by("-time")
|
|
|
|
|
|
|
|
|
|
return render(request, 'contest/registerRefs.html', {'alluser': allUser, 'refsMissingUser': refsMissingUser, "refsNotMissinguser": refsNotMissingUser, "qsos": qsos})
|
|
|
|
|
shadowForm = None
|
|
|
|
|
if request.method == 'POST':
|
|
|
|
|
shadowForm = ShadowCallAddForm(data=request.POST)
|
|
|
|
|
if shadowForm.is_valid():
|
|
|
|
|
shadowForm.instance.save()
|
|
|
|
|
messages.success(request, "Successfully added shadow user %s" % (shadowForm.instance.username,))
|
|
|
|
|
return HttpResponseRedirect(reverse("contest:registerRefs"))
|
|
|
|
|
else:
|
|
|
|
|
shadowForm = ShadowCallAddForm()
|
|
|
|
|
|
|
|
|
|
return render(request, 'contest/registerRefs.html', {'alluser': allUser, "qsos": qsos, "shadowForm": shadowForm, "shadows": shadows})
|
|
|
|
|
|
|
|
|
|
@staff_member_required
|
|
|
|
|
def updateRef(request, uid):
|
|
|
|
|
user = User.objects.get(id=uid)
|
|
|
|
|
def updateRef(request, shadow, uid):
|
|
|
|
|
user = None
|
|
|
|
|
form = None
|
|
|
|
|
|
|
|
|
|
if shadow:
|
|
|
|
|
user = get_object_or_404(ShadowCall, id=uid)
|
|
|
|
|
else:
|
|
|
|
|
user = get_object_or_404(User, id=uid)
|
|
|
|
|
|
|
|
|
|
if request.method == 'POST':
|
|
|
|
|
form = UpdateRefForm(data=request.POST)
|
|
|
|
|
if form.is_valid():
|
|
|
|
|
ref = None
|
|
|
|
|
if form.cleaned_data["existingRef"]:
|
|
|
|
|
print("Got an existing Ref")
|
|
|
|
|
ref = form.cleaned_data["existingRef"]
|
|
|
|
|
else:
|
|
|
|
|
ref = Reference(name=form.cleaned_data["newRefName"])
|
|
|
|
@ -132,12 +145,12 @@ def updateRef(request, uid):
|
|
|
|
|
|
|
|
|
|
user.ref = ref
|
|
|
|
|
user.save()
|
|
|
|
|
messages.success(request, "%s ref set to %s" % (user, ref))
|
|
|
|
|
messages.success(request, "%s%s ref set to %s" % ("(shadow) " if shadow else "", user, ref))
|
|
|
|
|
return HttpResponseRedirect(reverse("contest:registerRefs"))
|
|
|
|
|
else:
|
|
|
|
|
form = UpdateRefForm()
|
|
|
|
|
|
|
|
|
|
return render(request, 'contest/updateRef.html', {'user': user, 'form': form})
|
|
|
|
|
return render(request, 'contest/updateRef.html', {'userobj': user, 'form': form, "shadow": shadow})
|
|
|
|
|
|
|
|
|
|
def overview(request):
|
|
|
|
|
# FIXME: Hardcoded for cqtu... everywhere
|
|
|
|
|