Private
Public Access
1
0

needs some work on plan page

This commit is contained in:
Sander Roosendaal
2019-02-18 18:17:56 +01:00
parent 7814f1cdf9
commit 409f725caa
6 changed files with 46 additions and 28 deletions

View File

@@ -1023,6 +1023,17 @@ def checkworkoutuser(user,workout):
except Rower.DoesNotExist: except Rower.DoesNotExist:
return False return False
def checkviewworkouts(user,rower):
try:
r = user.rower
if rower == r:
return True
teams = Team.objects.filter(manager=user)
print Rower.objects.filter(team__in=teams)
if rower in Rower.objects.filter(team__in=teams):
return True
except Rower.DoesNotExist:
return False
# Check if user is coach or rower # Check if user is coach or rower
def checkaccessuser(user,rower): def checkaccessuser(user,rower):

View File

@@ -82,27 +82,26 @@
<p>&nbsp;</p> <p>&nbsp;</p>
{% if user.is_authenticated and user|is_manager %} {% if user.is_authenticated and user|is_manager %}
<p>&nbsp;</p> <p>&nbsp;</p>
{% if user|team_members %}
{% if user|coach_rowers %}
<ul class="cd-accordion-menu animated"> <ul class="cd-accordion-menu animated">
<li class="has-children" id="athletes"> <li class="has-children" id="athletes">
<input type="checkbox" name="athlete-selector" id="athlete-selector"> <input type="checkbox" name="athlete-selector" id="athlete-selector">
<label for="athlete-selector"><i class="fas fa-users fa-fw"></i>&nbsp;Athletes</label> <label for="athlete-selector"><i class="fas fa-users fa-fw"></i>&nbsp;Group Members</label>
<ul> <ul>
{% for member in user|coach_rowers %} {% for member in user|team_members %}
<a href={{ request.path|userurl:member.user }}?when={{ timeperiod }}> <li>
<i class="fas fa-user fa-fw"></i> <a href={{ request.path|userurl:member }}>
{% if member.user == rower.user %} <i class="fas fa-user fa-fw"></i>
&bull; {% if member == rower.user and not team %}
{% else %} &bull;
&nbsp; {% else %}
{% endif %} &nbsp;
{{ member.user.first_name }} {{ member.user.last_name }} {% endif %}
</a> {{ member.first_name }} {{ member.last_name }}
</a>
</li>
{% endfor %} {% endfor %}
</ul> </ul>
</li> </li>

View File

@@ -45,8 +45,11 @@
</li> </li>
</ul> <!-- cd-accordion-menu --> </ul> <!-- cd-accordion-menu -->
{% if user.is_authenticated and user|is_manager %} {% if user.is_authenticated and user|is_manager %}
<p>&nbsp;</p> <p>&nbsp;</p>
{% if user|coach_rowers %} {% if user|coach_rowers %}
<ul class="cd-accordion-menu animated"> <ul class="cd-accordion-menu animated">
<li class="has-children" id="athletes"> <li class="has-children" id="athletes">
@@ -54,17 +57,15 @@
<label for="athlete-selector"><i class="fas fa-users fa-fw"></i>&nbsp;Athletes</label> <label for="athlete-selector"><i class="fas fa-users fa-fw"></i>&nbsp;Athletes</label>
<ul> <ul>
{% for member in user|coach_rowers %} {% for member in user|coach_rowers %}
<li> <a href={{ request.path|userurl:member.user }}?when={{ timeperiod }}>
<a href={{ request.path|userurl:member.user }}> <i class="fas fa-user fa-fw"></i>
<i class="fas fa-user fa-fw"></i> {% if member == rower.user %}
{% if member.user == rower.user and not team %} &bull;
&bull; {% else %}
{% else %} &nbsp;
&nbsp; {% endif %}
{% endif %} {{ member.user.first_name }} {{ member.user.last_name }}
{{ member.user.first_name }} {{ member.user.last_name }} </a>
</a>
</li>
{% endfor %} {% endfor %}
</ul> </ul>
</li> </li>

View File

@@ -1414,3 +1414,10 @@ class PermissionsCoachingTests(TestCase):
## Basic and Pro users can create races ## Basic and Pro users can create races
## Basic users can subscribe to any race ## Basic users can subscribe to any race
# group related
## group members can see but not edit each other's workouts and charts
## group members can see but not edit each other's plans

View File

@@ -911,7 +911,7 @@ from rowers.utils import (
import rowers.datautils as datautils import rowers.datautils as datautils
from rowers.models import checkworkoutuser,checkaccessuser from rowers.models import checkworkoutuser,checkaccessuser,checkviewworkouts
# Check if a user is a Coach member # Check if a user is a Coach member
def iscoachmember(user): def iscoachmember(user):

View File

@@ -1157,7 +1157,7 @@ def workouts_view(request,message='',successmessage='',
r = getrequestrower(request,rowerid=rowerid,userid=userid) r = getrequestrower(request,rowerid=rowerid,userid=userid)
# check if access is allowed # check if access is allowed
if not checkaccessuser(request.user,r): if not checkviewworkouts(request.user,r):
raise PermissionDenied("Access denied") raise PermissionDenied("Access denied")
if startdatestring: if startdatestring: