needs some work on plan page
This commit is contained in:
@@ -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):
|
||||||
|
|||||||
@@ -82,27 +82,26 @@
|
|||||||
|
|
||||||
<p> </p>
|
<p> </p>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
{% if user.is_authenticated and user|is_manager %}
|
{% if user.is_authenticated and user|is_manager %}
|
||||||
<p> </p>
|
<p> </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> Athletes</label>
|
<label for="athlete-selector"><i class="fas fa-users fa-fw"></i> 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>
|
||||||
•
|
{% if member == rower.user and not team %}
|
||||||
{% else %}
|
•
|
||||||
|
{% else %}
|
||||||
{% endif %}
|
|
||||||
{{ member.user.first_name }} {{ member.user.last_name }}
|
{% endif %}
|
||||||
</a>
|
{{ member.first_name }} {{ member.last_name }}
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
|
|||||||
@@ -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> </p>
|
<p> </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> Athletes</label>
|
<label for="athlete-selector"><i class="fas fa-users fa-fw"></i> 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 %}
|
•
|
||||||
•
|
{% else %}
|
||||||
{% else %}
|
|
||||||
|
{% 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>
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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):
|
||||||
|
|||||||
@@ -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:
|
||||||
|
|||||||
Reference in New Issue
Block a user