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)
|
||||
protrialexpires = 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
|
||||
@@ -3186,7 +3187,8 @@ class AccountRowerForm(ModelForm):
|
||||
'getemailnotifications',
|
||||
'getimportantemails',
|
||||
'defaulttimezone','showfavoritechartnotes',
|
||||
'defaultlandingpage']
|
||||
'defaultlandingpage',
|
||||
'offercoaching']
|
||||
|
||||
widgets = {
|
||||
'birthdate': SelectDateWidget(
|
||||
@@ -3194,24 +3196,11 @@ class AccountRowerForm(ModelForm):
|
||||
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
|
||||
|
||||
# Python
|
||||
@@ -28,6 +29,10 @@ from rowers.tasks import (
|
||||
handle_sendemail_request_reject,handle_sendemail_invite_reject,
|
||||
handle_sendemail_invite_accept,handle_sendemail_team_removed,
|
||||
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
|
||||
@@ -660,7 +665,7 @@ def send_coachoffer_rejected_email(rekwest):
|
||||
coachname = rekwest.coach.user.first_name + " " + rekwest.coach.user.last_name
|
||||
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,
|
||||
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
|
||||
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,
|
||||
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
|
||||
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,
|
||||
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
|
||||
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,
|
||||
handle_sendemail_coachoffer_accepted,
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{% extends "emailbase.html" %}
|
||||
|
||||
{% block body %}
|
||||
<p>Dear <strong>{{ coachname }}</strong>,</p>
|
||||
<p>Dear <strong>{{ coach }}</strong>,</p>
|
||||
|
||||
<p>
|
||||
{{ name }} has accepted your coaching offer on
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{% extends "emailbase.html" %}
|
||||
|
||||
{% block body %}
|
||||
<p>Dear <strong>{{ coachname }}</strong>,</p>
|
||||
<p>Dear <strong>{{ coach }}</strong>,</p>
|
||||
|
||||
<p>
|
||||
{{ name }} has rejected your offer to become his coach on
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<p>Dear <strong>{{ name }}</strong>,</p>
|
||||
|
||||
<p>
|
||||
{{ coachname }} has accepted your coaching request on
|
||||
{{ coach }} has accepted your coaching request on
|
||||
rowsandall.com
|
||||
</p>
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<p>Dear <strong>{{ name }}</strong>,</p>
|
||||
|
||||
<p>
|
||||
{{ coachname }} has rejected your coaching request on
|
||||
{{ coach }} has rejected your coaching request on
|
||||
rowsandall.com
|
||||
</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:
|
||||
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:
|
||||
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():
|
||||
cd = inviteform.cleaned_data
|
||||
newmember = cd['user']
|
||||
@@ -37,7 +43,7 @@ def team_view(request,id=0,userid=0):
|
||||
|
||||
elif request.user == t.manager:
|
||||
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:
|
||||
inviteform = ''
|
||||
|
||||
@@ -186,9 +192,13 @@ def rower_teams_view(request,message='',successmessage=''):
|
||||
invitedcoaches = [rekwest.coach for rekwest in mycoachrequests]
|
||||
|
||||
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']
|
||||
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]
|
||||
|
||||
|
||||
|
||||
@@ -178,7 +178,7 @@ def rower_edit_view(request,rowerid=0,userid=0,message=""):
|
||||
|
||||
|
||||
if request.method == 'POST':
|
||||
accountform = AccountRowerForm(request.POST)
|
||||
accountform = AccountRowerForm(request.POST, instance=r)
|
||||
userform = UserForm(request.POST,instance=r.user)
|
||||
|
||||
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']
|
||||
email = ucd['email']
|
||||
sex = cd['sex']
|
||||
try:
|
||||
offercoaching = cd['offercoaching']
|
||||
except KeyError:
|
||||
offercoaching = False
|
||||
adaptiveclass = cd['adaptiveclass']
|
||||
defaultlandingpage = cd['defaultlandingpage']
|
||||
weightcategory = cd['weightcategory']
|
||||
@@ -217,6 +221,7 @@ def rower_edit_view(request,rowerid=0,userid=0,message=""):
|
||||
r.adaptiveclass = adaptiveclass
|
||||
r.getemailnotifications = getemailnotifications
|
||||
r.getimportantemails = getimportantemails
|
||||
r.offercoaching = offercoaching
|
||||
r.defaultlandingpage = defaultlandingpage
|
||||
r.showfavoritechartnotes = showfavoritechartnotes
|
||||
r.sex = sex
|
||||
|
||||
Reference in New Issue
Block a user