@ -1,8 +1,8 @@
from django . shortcuts import render , get_object_or_404
import datetime
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 . contrib . auth . forms import AuthenticationForm , PasswordChangeForm
from django . http import HttpResponseRedirect
from django . contrib import messages
@ -11,12 +11,10 @@ from django.contrib.auth import login as auth_login
from django . core . paginator import Paginator , EmptyPage , PageNotAnInteger
from django . utils import timezone
import datetime
from . models import User , Contest , Frequency , Reference , QSO , ShadowCall
from . forms import UpdateRefForm , QSOForm , QSOFormWithTime , CustomUserCreationForm , ShadowCallAddForm , UpdateCategoryForm
from . forms import UpdateRefForm , QSOForm , QSOFormWithTime , CustomUserCreationForm , ShadowCallAddForm , \
UpdateCategoryForm
def index ( request ) :
if request . user . is_authenticated ( ) :
@ -24,6 +22,7 @@ def index(request):
return render ( request , " index.html " , { " loginForm " : AuthenticationForm ( ) } )
@login_required
def contestIndex ( request ) :
qsoform = QSOForm ( request . user )
@ -32,6 +31,7 @@ def contestIndex(request):
return render ( request , ' contest/index.html ' , { " qsoform " : qsoform , " contest " : contest , " qrgs " : qrgs } )
@login_required
def log ( request ) :
if not request . user . ref :
@ -68,9 +68,9 @@ def log(request):
form = QSOForm ( request . user , initial = data )
form . helper . form_tag = False
return render ( request , ' contest/log.html ' , { ' form ' : form , ' qsos ' : qsos } )
@login_required
def logEdit ( request , qsoid ) :
if not request . user . ref :
@ -91,6 +91,7 @@ def logEdit(request, qsoid):
return render ( request , ' contest/logEdit.html ' , { ' form ' : form , " qso " : qso } )
def logDelete ( request , qsoid ) :
if not request . user . ref :
return HttpResponseRedirect ( reverse ( " contest:index " ) )
@ -109,7 +110,6 @@ def logDelete(request, qsoid):
return render ( request , ' contest/logDelete.html ' , { " qso " : qso } )
@staff_member_required
def registerRefs ( request ) :
allUser = User . objects . all ( )
@ -127,7 +127,9 @@ def registerRefs(request):
else :
shadowForm = ShadowCallAddForm ( )
return render ( request , ' contest/registerRefs.html ' , { ' alluser ' : allUser , " qsos " : qsos , " shadowForm " : shadowForm , " shadows " : shadows } )
return render ( request , ' contest/registerRefs.html ' ,
{ ' alluser ' : allUser , " qsos " : qsos , " shadowForm " : shadowForm , " shadows " : shadows } )
def getPage ( paginator , pageNo ) :
try :
@ -153,6 +155,7 @@ def recheckAllQSOs(request):
return render ( request , " contest/checkAllQSOs.html " , { } )
@staff_member_required
def viewUserQSOs ( request , uid , page = 1 ) :
user = get_object_or_404 ( User , id = uid )
@ -162,7 +165,9 @@ def viewUserQSOs(request, uid, page=1):
userRefs = set ( map ( lambda _x : _x [ " refStr " ] , user . qso_set . filter ( ref__isnull = False ) . values ( " ref " , " refStr " ) ) )
return render ( request , " contest/viewUserQSOs.html " , { ' owner ' : user , ' qsos ' : qsos , ' qsoPage ' : qsoPage , ' userRefs ' : userRefs } )
return render ( request , " contest/viewUserQSOs.html " ,
{ ' owner ' : user , ' qsos ' : qsos , ' qsoPage ' : qsoPage , ' userRefs ' : userRefs } )
@staff_member_required
def updateRef ( request , shadow , uid ) :
@ -208,6 +213,7 @@ def updateRef(request, shadow, uid):
return render ( request , ' contest/updateRef.html ' , { ' userobj ' : user , ' form ' : form , " shadow " : shadow } )
@staff_member_required
def viewAllQSOs ( request , page = 1 ) :
qsos = QSO . objects . all ( ) . order_by ( " -time " )
@ -216,12 +222,14 @@ def viewAllQSOs(request, page=1):
return render ( request , ' contest/viewAllQSOs.html ' , { ' qsoPage ' : qsoPage } )
def overview ( request ) :
# FIXME: Hardcoded for cqtu... everywhere
c = Contest . objects . get ( id = 1 )
qrgs = Frequency . objects . filter ( band__contest = c ) . order_by ( " channel " )
return render ( request , ' contest/overview.html ' , { ' contest ' : c , ' qrgs ' : qrgs } )
def register ( request ) :
form = None
if request . method == ' POST ' :
@ -237,6 +245,7 @@ def register(request):
return render ( request , ' registration/register.html ' , { " form " : form } )
@login_required
def profile ( request ) :
pwForm = None