Merge branch 'develop' of https://bitbucket.org/sanderroosendaal/rowsandall into develop
This commit is contained in:
@@ -706,6 +706,7 @@ class Rower(models.Model):
|
|||||||
clubsize = models.IntegerField(default=0)
|
clubsize = models.IntegerField(default=0)
|
||||||
protrialexpires = models.DateField(default=datetime.date(1970,1,1))
|
protrialexpires = models.DateField(default=datetime.date(1970,1,1))
|
||||||
plantrialexpires = models.DateField(default=datetime.date(1970,1,1))
|
plantrialexpires = models.DateField(default=datetime.date(1970,1,1))
|
||||||
|
offercoaching = models.BooleanField(default=False, verbose_name='Offer Remote Coaching')
|
||||||
|
|
||||||
|
|
||||||
# Privacy Data
|
# Privacy Data
|
||||||
@@ -3186,7 +3187,8 @@ class AccountRowerForm(ModelForm):
|
|||||||
'getemailnotifications',
|
'getemailnotifications',
|
||||||
'getimportantemails',
|
'getimportantemails',
|
||||||
'defaulttimezone','showfavoritechartnotes',
|
'defaulttimezone','showfavoritechartnotes',
|
||||||
'defaultlandingpage']
|
'defaultlandingpage',
|
||||||
|
'offercoaching']
|
||||||
|
|
||||||
widgets = {
|
widgets = {
|
||||||
'birthdate': SelectDateWidget(
|
'birthdate': SelectDateWidget(
|
||||||
@@ -3194,24 +3196,11 @@ class AccountRowerForm(ModelForm):
|
|||||||
timezone.now().year-100,timezone.now().year-10)),
|
timezone.now().year-100,timezone.now().year-10)),
|
||||||
}
|
}
|
||||||
|
|
||||||
|
def __init__(self, *args, **kwargs):
|
||||||
|
super(AccountRowerForm, self).__init__(*args, **kwargs)
|
||||||
|
if self.instance.rowerplan != 'coach':
|
||||||
|
self.fields.pop('offercoaching')
|
||||||
|
|
||||||
def clean_email(self):
|
|
||||||
email = self.cleaned_data.get('email')
|
|
||||||
|
|
||||||
try:
|
|
||||||
validate_email(email)
|
|
||||||
except ValidationError:
|
|
||||||
raise forms.ValidationError(
|
|
||||||
'Please enter a valid email address')
|
|
||||||
|
|
||||||
try:
|
|
||||||
match = User.objects.get(email__iexact=email)
|
|
||||||
if self.instance.user == match:
|
|
||||||
return email
|
|
||||||
except User.DoesNotExist:
|
|
||||||
return email
|
|
||||||
|
|
||||||
raise forms.ValidationError('This email address is not allowed')
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
|
|
||||||
# All the Team related methods
|
# All the Team related methods
|
||||||
|
|
||||||
# Python
|
# Python
|
||||||
@@ -28,6 +29,10 @@ from rowers.tasks import (
|
|||||||
handle_sendemail_request_reject,handle_sendemail_invite_reject,
|
handle_sendemail_request_reject,handle_sendemail_invite_reject,
|
||||||
handle_sendemail_invite_accept,handle_sendemail_team_removed,
|
handle_sendemail_invite_accept,handle_sendemail_team_removed,
|
||||||
handle_sendemail_coachrequest,handle_sendemail_coacheerequest,
|
handle_sendemail_coachrequest,handle_sendemail_coacheerequest,
|
||||||
|
handle_sendemail_coachoffer_rejected,
|
||||||
|
handle_sendemail_coachoffer_accepted,
|
||||||
|
handle_sendemail_coachrequest_rejected,
|
||||||
|
handle_sendemail_coachrequest_accepted,
|
||||||
)
|
)
|
||||||
|
|
||||||
from rowers.models import ValidationError
|
from rowers.models import ValidationError
|
||||||
@@ -660,7 +665,7 @@ def send_coachoffer_rejected_email(rekwest):
|
|||||||
coachname = rekwest.coach.user.first_name + " " + rekwest.coach.user.last_name
|
coachname = rekwest.coach.user.first_name + " " + rekwest.coach.user.last_name
|
||||||
coachemail = rekwest.coach.user.email
|
coachemail = rekwest.coach.user.email
|
||||||
|
|
||||||
name = rekwest.user.first_name + " " + rekwst.user.last_name
|
name = rekwest.user.first_name + " " + rekwest.user.last_name
|
||||||
|
|
||||||
res = myqueue(queuehigh,
|
res = myqueue(queuehigh,
|
||||||
handle_sendemail_coachoffer_rejected,
|
handle_sendemail_coachoffer_rejected,
|
||||||
@@ -670,7 +675,7 @@ def send_coachrequest_rejected_email(rekwest):
|
|||||||
coachname = rekwest.coach.user.first_name + " " + rekwest.coach.user.last_name
|
coachname = rekwest.coach.user.first_name + " " + rekwest.coach.user.last_name
|
||||||
email = rekwest.user.email
|
email = rekwest.user.email
|
||||||
|
|
||||||
name = rekwest.user.first_name + " " + rekwst.user.last_name
|
name = rekwest.user.first_name + " " + rekwest.user.last_name
|
||||||
|
|
||||||
res = myqueue(queuehigh,
|
res = myqueue(queuehigh,
|
||||||
handle_sendemail_coachrequest_rejected,
|
handle_sendemail_coachrequest_rejected,
|
||||||
@@ -680,7 +685,7 @@ def send_coachrequest_accepted_email(rekwest):
|
|||||||
coachname = rekwest.coach.user.first_name + " " + rekwest.coach.user.last_name
|
coachname = rekwest.coach.user.first_name + " " + rekwest.coach.user.last_name
|
||||||
email = rekwest.user.email
|
email = rekwest.user.email
|
||||||
|
|
||||||
name = rekwest.user.first_name + " " + rekwst.user.last_name
|
name = rekwest.user.first_name + " " + rekwest.user.last_name
|
||||||
|
|
||||||
res = myqueue(queuehigh,
|
res = myqueue(queuehigh,
|
||||||
handle_sendemail_coachrequest_accepted,
|
handle_sendemail_coachrequest_accepted,
|
||||||
@@ -691,7 +696,7 @@ def send_coachoffer_accepted_email(rekwest):
|
|||||||
coachname = rekwest.coach.user.first_name + " " + rekwest.coach.user.last_name
|
coachname = rekwest.coach.user.first_name + " " + rekwest.coach.user.last_name
|
||||||
coachemail = rekwest.coach.user.email
|
coachemail = rekwest.coach.user.email
|
||||||
|
|
||||||
name = rekwest.user.first_name + " " + rekwst.user.last_name
|
name = rekwest.user.first_name + " " + rekwest.user.last_name
|
||||||
|
|
||||||
res = myqueue(queuehigh,
|
res = myqueue(queuehigh,
|
||||||
handle_sendemail_coachoffer_accepted,
|
handle_sendemail_coachoffer_accepted,
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
{% extends "emailbase.html" %}
|
{% extends "emailbase.html" %}
|
||||||
|
|
||||||
{% block body %}
|
{% block body %}
|
||||||
<p>Dear <strong>{{ coachname }}</strong>,</p>
|
<p>Dear <strong>{{ coach }}</strong>,</p>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
{{ name }} has accepted your coaching offer on
|
{{ name }} has accepted your coaching offer on
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
{% extends "emailbase.html" %}
|
{% extends "emailbase.html" %}
|
||||||
|
|
||||||
{% block body %}
|
{% block body %}
|
||||||
<p>Dear <strong>{{ coachname }}</strong>,</p>
|
<p>Dear <strong>{{ coach }}</strong>,</p>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
{{ name }} has rejected your offer to become his coach on
|
{{ name }} has rejected your offer to become his coach on
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
<p>Dear <strong>{{ name }}</strong>,</p>
|
<p>Dear <strong>{{ name }}</strong>,</p>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
{{ coachname }} has accepted your coaching request on
|
{{ coach }} has accepted your coaching request on
|
||||||
rowsandall.com
|
rowsandall.com
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
<p>Dear <strong>{{ name }}</strong>,</p>
|
<p>Dear <strong>{{ name }}</strong>,</p>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
{{ coachname }} has rejected your coaching request on
|
{{ coach }} has rejected your coaching request on
|
||||||
rowsandall.com
|
rowsandall.com
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
|
|||||||
BIN
rowers/tests/testdata/testdata.csv.gz
vendored
BIN
rowers/tests/testdata/testdata.csv.gz
vendored
Binary file not shown.
@@ -16,10 +16,16 @@ def team_view(request,id=0,userid=0):
|
|||||||
except Team.DoesNotExist:
|
except Team.DoesNotExist:
|
||||||
raise Http404("Team doesn't exist")
|
raise Http404("Team doesn't exist")
|
||||||
|
|
||||||
|
q = User.objects.filter(rower__isnull=False,rower__team__in=myteams).distinct().exclude(rower__team__name=t.name)
|
||||||
|
mygroups = [request.user.rower.mycoachgroup]
|
||||||
|
q2 = User.objects.filter(rower__isnull=False,rower__coachinggroups__in=mygroups).distinct().exclude(rower__team__name=t.name)
|
||||||
|
|
||||||
|
q = q | q2
|
||||||
|
|
||||||
if request.method == 'POST' and request.user == t.manager:
|
if request.method == 'POST' and request.user == t.manager:
|
||||||
inviteform = TeamInviteForm(request.POST)
|
inviteform = TeamInviteForm(request.POST)
|
||||||
inviteform.fields['user'].queryset = User.objects.filter(rower__isnull=False,rower__team__in=myteams).distinct().exclude(rower__team__name=t.name)
|
|
||||||
|
inviteform.fields['user'].queryset = q
|
||||||
if inviteform.is_valid():
|
if inviteform.is_valid():
|
||||||
cd = inviteform.cleaned_data
|
cd = inviteform.cleaned_data
|
||||||
newmember = cd['user']
|
newmember = cd['user']
|
||||||
@@ -37,7 +43,7 @@ def team_view(request,id=0,userid=0):
|
|||||||
|
|
||||||
elif request.user == t.manager:
|
elif request.user == t.manager:
|
||||||
inviteform = TeamInviteForm()
|
inviteform = TeamInviteForm()
|
||||||
inviteform.fields['user'].queryset = User.objects.filter(rower__isnull=False,rower__team__in=myteams).distinct().exclude(rower__team__name=t.name)
|
inviteform.fields['user'].queryset = q
|
||||||
else:
|
else:
|
||||||
inviteform = ''
|
inviteform = ''
|
||||||
|
|
||||||
@@ -186,9 +192,13 @@ def rower_teams_view(request,message='',successmessage=''):
|
|||||||
invitedcoaches = [rekwest.coach for rekwest in mycoachrequests]
|
invitedcoaches = [rekwest.coach for rekwest in mycoachrequests]
|
||||||
|
|
||||||
coaches = teams.rower_get_coaches(r)
|
coaches = teams.rower_get_coaches(r)
|
||||||
print coaches,'aap'
|
|
||||||
|
|
||||||
potentialcoaches = [t.manager for t in memberteams if t.manager not in coaches and t.manager.rower.rowerplan == 'coach']
|
potentialcoaches = [t.manager for t in memberteams if t.manager not in coaches and t.manager.rower.rowerplan == 'coach']
|
||||||
|
offercoaches = [
|
||||||
|
r.user for r in Rower.objects.filter(
|
||||||
|
offercoaching=True,rowerplan='coach').exclude(user=request.user)
|
||||||
|
]
|
||||||
|
potentialcoaches = list(set(potentialcoaches+offercoaches))
|
||||||
potentialcoaches = [c for c in potentialcoaches if c.rower not in invitedcoaches+coaches]
|
potentialcoaches = [c for c in potentialcoaches if c.rower not in invitedcoaches+coaches]
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -178,7 +178,7 @@ def rower_edit_view(request,rowerid=0,userid=0,message=""):
|
|||||||
|
|
||||||
|
|
||||||
if request.method == 'POST':
|
if request.method == 'POST':
|
||||||
accountform = AccountRowerForm(request.POST)
|
accountform = AccountRowerForm(request.POST, instance=r)
|
||||||
userform = UserForm(request.POST,instance=r.user)
|
userform = UserForm(request.POST,instance=r.user)
|
||||||
|
|
||||||
if accountform.is_valid() and userform.is_valid():
|
if accountform.is_valid() and userform.is_valid():
|
||||||
@@ -190,6 +190,10 @@ def rower_edit_view(request,rowerid=0,userid=0,message=""):
|
|||||||
last_name = ucd['last_name']
|
last_name = ucd['last_name']
|
||||||
email = ucd['email']
|
email = ucd['email']
|
||||||
sex = cd['sex']
|
sex = cd['sex']
|
||||||
|
try:
|
||||||
|
offercoaching = cd['offercoaching']
|
||||||
|
except KeyError:
|
||||||
|
offercoaching = False
|
||||||
adaptiveclass = cd['adaptiveclass']
|
adaptiveclass = cd['adaptiveclass']
|
||||||
defaultlandingpage = cd['defaultlandingpage']
|
defaultlandingpage = cd['defaultlandingpage']
|
||||||
weightcategory = cd['weightcategory']
|
weightcategory = cd['weightcategory']
|
||||||
@@ -217,6 +221,7 @@ def rower_edit_view(request,rowerid=0,userid=0,message=""):
|
|||||||
r.adaptiveclass = adaptiveclass
|
r.adaptiveclass = adaptiveclass
|
||||||
r.getemailnotifications = getemailnotifications
|
r.getemailnotifications = getemailnotifications
|
||||||
r.getimportantemails = getimportantemails
|
r.getimportantemails = getimportantemails
|
||||||
|
r.offercoaching = offercoaching
|
||||||
r.defaultlandingpage = defaultlandingpage
|
r.defaultlandingpage = defaultlandingpage
|
||||||
r.showfavoritechartnotes = showfavoritechartnotes
|
r.showfavoritechartnotes = showfavoritechartnotes
|
||||||
r.sex = sex
|
r.sex = sex
|
||||||
|
|||||||
Reference in New Issue
Block a user