team delete - line 349 urls.py
This commit is contained in:
@@ -1,81 +1,56 @@
|
||||
{% extends "base.html" %}
|
||||
{% extends "newbase.html" %}
|
||||
|
||||
{% block title %}Team {% endblock %}
|
||||
|
||||
{% block content %}
|
||||
<div class="grid_12 alpha">
|
||||
{% include "teambuttons.html" with teamid=team.id %}
|
||||
</div>
|
||||
<div class="grid_12">
|
||||
<div class="grid_8 alpha">
|
||||
<h1>{{ team.name }}</h1>
|
||||
{% block main %}
|
||||
<h1>{{ team.name }}</h1>
|
||||
|
||||
<div class="grid_4 omega">
|
||||
<ul class="main-content">
|
||||
<li>
|
||||
<p>{{ team.notes }}</p>
|
||||
<p><b>Manager:</b> {{ team.manager.first_name }} {{ team.manager.last_name }}</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="grid_12 alpha">
|
||||
{% if ismember %}
|
||||
<div class="grid_2 alpha">
|
||||
<a class="button red small" href="/rowers/team/{{ team.id }}/leaveconfirm">Leave this team</a>
|
||||
</div>
|
||||
{% if team.manager == user %}
|
||||
<div class="grid_2 suffix_8 omega">
|
||||
<a class="button blue small" href="/rowers/team/{{ team.id }}/edit">Edit Team</a>
|
||||
</div>
|
||||
{% else %}
|
||||
<div class="grid_2 suffix_8 omega">
|
||||
<p>
|
||||
</div>
|
||||
{% endif %}
|
||||
{% elif hasrequested %}
|
||||
<p>You have requested access to this team</p>
|
||||
{% else %}
|
||||
<p>You can request access to this team. By requesting access, you
|
||||
agree to the <a href="/rowers/legal">Privacy Policy</a> regarding
|
||||
team functionality. You agree to share your workout data (except
|
||||
workouts marked as "private") to all team members and the team manager.
|
||||
You also grant the team manager access to your heart rate and power
|
||||
zone settings, as well as your functional threshold information. You
|
||||
are granting the team manager permission to edit your workouts.</p>
|
||||
<div class="grid_2 suffix_10 alpha tooltip">
|
||||
</li>
|
||||
<li>
|
||||
|
||||
{% if hasrequested %}
|
||||
<p>You have requested access to this team</p>
|
||||
{% elif team not in myteams %}
|
||||
<p>You can request access to this team. By requesting access, you
|
||||
agree to the <a href="/rowers/legal">Privacy Policy</a> regarding
|
||||
team functionality. You agree to share your workout data (except
|
||||
workouts marked as "private") to all team members and the team manager.
|
||||
You also grant the team manager access to your heart rate and power
|
||||
zone settings, as well as your functional threshold information. You
|
||||
are granting the team manager permission to edit your workouts.</p>
|
||||
<a class="button green small" href="/rowers/team/{{ team.id }}/requestmembership/{{ user.id }}">Join</a>
|
||||
<span class="tooltiptext">A request will be sent to the team manager</span>
|
||||
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
|
||||
<div class="grid_12 alpha">
|
||||
<div class="grid_6 alpha">
|
||||
<p>
|
||||
<h2>Members</h2>
|
||||
<table width="70%" class="listtable">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Name</th>
|
||||
<th> </th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% for member in members %}
|
||||
<tr>
|
||||
<td><a href="/rowers/rower/edit/{{ member.id }}"> {{ member.user.first_name }} {{ member.user.last_name }}</a></td>
|
||||
{% if team.manager == user %}
|
||||
<td><a class="button red small" href="/rowers/me/team/{{ team.id }}/drop/{{ member.user.id }}">Drop</a></td>
|
||||
{% else %}
|
||||
<td> </td>
|
||||
{% endif %}
|
||||
</tr>
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
</li>
|
||||
<li class="grid_2">
|
||||
<h2>Members</h2>
|
||||
<table width="100%" class="listtable">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Name</th>
|
||||
<th> </th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% for member in members %}
|
||||
<tr>
|
||||
<td><a href="/rowers/rower/edit/{{ member.id }}"> {{ member.user.first_name }} {{ member.user.last_name }}</a></td>
|
||||
{% if team.manager == user %}
|
||||
<td><a class="button red small" href="/rowers/me/team/{{ team.id }}/drop/{{ member.user.id }}">Drop</a></td>
|
||||
{% else %}
|
||||
<td> </td>
|
||||
{% endif %}
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
</p>
|
||||
</table>
|
||||
</li>
|
||||
<li class="grid_2">
|
||||
|
||||
|
||||
</div>
|
||||
<div class="grid_6 omega">
|
||||
{% if team.manager == user %}
|
||||
<p>Use the form to add a new user. You can either select a user from the list of your existing club members who are not on this team yet, or you can type the user's email address, which also works for users who have not registered to the site yet.</p>
|
||||
{% if inviteform.errors %}
|
||||
@@ -88,19 +63,19 @@
|
||||
{{ inviteform.as_table }}
|
||||
</table>
|
||||
{% csrf_token %}
|
||||
<div id="formbutton" class="grid_1 prefix_4 suffix_1">
|
||||
<input class="button green" type="submit" value="Submit">
|
||||
</div>
|
||||
<input class="button green" type="submit" value="Submit">
|
||||
</form>
|
||||
{% else %}
|
||||
<p>
|
||||
|
||||
</p>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
{% endblock %}
|
||||
|
||||
{% block sidebar %}
|
||||
{% include 'menu_teams.html' %}
|
||||
{% endblock %}
|
||||
|
||||
@@ -1,43 +1,38 @@
|
||||
{% extends "base.html" %}
|
||||
{% extends "newbase.html" %}
|
||||
{% load staticfiles %}
|
||||
{% load rowerfilters %}
|
||||
|
||||
{% block title %}Leave Team {% endblock %}
|
||||
{% block title %}Delete Team {% endblock %}
|
||||
|
||||
{% block content %}
|
||||
<div id="workouts" class="grid_6 alpha">
|
||||
{% block main %}
|
||||
<h1>Confirm Deleting the team {{ team.name }}</h1>
|
||||
|
||||
<ul class="main-content">
|
||||
<li class="grid_2">
|
||||
{% if form.errors %}
|
||||
<p style="color: red;">
|
||||
Please correct the error{{ form.errors|pluralize }} below.
|
||||
</p>
|
||||
<p style="color: red;">
|
||||
Please correct the error{{ form.errors|pluralize }} below.
|
||||
</p>
|
||||
{% endif %}
|
||||
|
||||
<h1>Confirm Deleting the team {{ team.name }}</h1>
|
||||
|
||||
<p>This will remove the team. Your team members and their workouts
|
||||
will not be deleted.
|
||||
</p>
|
||||
|
||||
|
||||
<p>
|
||||
<a class="button green small" href="/rowers/team/{{ team.id }}">Cancel</a>
|
||||
</p>
|
||||
|
||||
|
||||
<div class="grid_2 alpha">
|
||||
<p>
|
||||
<a class="button green small" href="/rowers/team/{{ team.id }}">Cancel</a>
|
||||
</div>
|
||||
|
||||
<div class="grid_2">
|
||||
<p>
|
||||
<a class="button red small" href="/rowers/team/{{ team.id }}/delete">Delete</a>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div id="images" class="grid_6 omega">
|
||||
<p>
|
||||
|
||||
</p>
|
||||
|
||||
</div>
|
||||
<p>
|
||||
<a class="button red small" href="/rowers/team/{{ team.id }}/delete">Delete</a>
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
{% endblock %}
|
||||
|
||||
{% block sidebar %}
|
||||
{% include 'menu_teams.html' %}
|
||||
{% endblock %}
|
||||
|
||||
@@ -1,37 +1,42 @@
|
||||
{% extends "base.html" %}
|
||||
{% extends "newbase.html" %}
|
||||
{% load staticfiles %}
|
||||
|
||||
{% block title %}New Team{% endblock %}
|
||||
{% block title %}Edit Team{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
<div class="grid_12 alpha">
|
||||
<h1>Edit Team {{ team.name }}</h1>
|
||||
</div>
|
||||
<div id="left" class="grid_6 alpha">
|
||||
<form enctype="multipart/form-data" action="{{ formloc }}" method="post">
|
||||
{% if form.errors %}
|
||||
<p style="color: red;">
|
||||
Please correct the error{{ form.errors|pluralize }} below.
|
||||
</p>
|
||||
{% endif %}
|
||||
{% block main %}
|
||||
|
||||
<table>
|
||||
{{ form.as_table }}
|
||||
</table>
|
||||
{% csrf_token %}
|
||||
<div id="formbutton" class="grid_1 prefix_4 suffix_1">
|
||||
<input class="button green" type="submit" value="Submit">
|
||||
</div>
|
||||
</div>
|
||||
<div id="right" class="grid_6 omega">
|
||||
<ul>
|
||||
<li>Team Type: A private team is invisible on the Teams Management page, except for its members. The only way to add members is for the manager to send an invitation. An open team is visible for all rowsandall.com users. In addition to the invitation mechanism, any user can request to be added to this team. The team manager will always have to approve membership.</li>
|
||||
<li>Sharing Behavior: When set to "All Members", all members of a team will see each other's workouts. This is the recommended setting. If te sharing bhavior is set to "Coach Only", team members only see their own workouts. The coach sees all team members' workouts.</li>
|
||||
<li>These settings can be changed at any point in time through the Team Edit page</li>
|
||||
</ul>
|
||||
</div>
|
||||
<h1>Edit Team {{ team.name }}</h1>
|
||||
|
||||
<ul class="main-content">
|
||||
<li class="grid_2">
|
||||
<form enctype="multipart/form-data" action="{{ formloc }}" method="post">
|
||||
{% if form.errors %}
|
||||
<p style="color: red;">
|
||||
Please correct the error{{ form.errors|pluralize }} below.
|
||||
</p>
|
||||
{% endif %}
|
||||
|
||||
<table>
|
||||
{{ form.as_table }}
|
||||
</table>
|
||||
{% csrf_token %}
|
||||
<input class="button green" type="submit" value="Submit">
|
||||
</form>
|
||||
</li>
|
||||
<li class="grid_2">
|
||||
<ul>
|
||||
<li>Team Type: A private team is invisible on the Teams Management page, except for its members. The only way to add members is for the manager to send an invitation. An open team is visible for all rowsandall.com users. In addition to the invitation mechanism, any user can request to be added to this team. The team manager will always have to approve membership.</li>
|
||||
<li>Sharing Behavior: When set to "All Members", all members of a team will see each other's workouts. This is the recommended setting. If te sharing bhavior is set to "Coach Only", team members only see their own workouts. The coach sees all team members' workouts.</li>
|
||||
<li>These settings can be changed at any point in time through the Team Edit page
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
|
||||
</form>
|
||||
{% endblock %}
|
||||
|
||||
{% block sidebar %}
|
||||
{% include 'menu_teams.html' %}
|
||||
{% endblock %}
|
||||
|
||||
@@ -1,45 +1,41 @@
|
||||
{% extends "base.html" %}
|
||||
{% extends "newbase.html" %}
|
||||
{% load staticfiles %}
|
||||
{% load rowerfilters %}
|
||||
|
||||
{% block title %}Leave Team {% endblock %}
|
||||
|
||||
{% block content %}
|
||||
<div id="workouts" class="grid_6 alpha">
|
||||
{% block main %}
|
||||
<h1>Confirm Leaving the team {{ team.name }}</h1>
|
||||
|
||||
<ul class="main-content">
|
||||
<li class="grid_2">
|
||||
{% if form.errors %}
|
||||
<p style="color: red;">
|
||||
Please correct the error{{ form.errors|pluralize }} below.
|
||||
</p>
|
||||
<p style="color: red;">
|
||||
Please correct the error{{ form.errors|pluralize }} below.
|
||||
</p>
|
||||
{% endif %}
|
||||
|
||||
<h1>Confirm Leaving the team {{ team.name }}</h1>
|
||||
|
||||
<p>This will remove you and all your workouts from the team. If this
|
||||
is a closed team, you can only return when the team manager
|
||||
reinvites you.
|
||||
If this is an open team, you can return by applying for team membership.
|
||||
</p>
|
||||
|
||||
|
||||
<p>
|
||||
<a class="button green small" href="/rowers/team/{{ team.id }}">Cancel</a>
|
||||
</p>
|
||||
<p>
|
||||
<a class="button red small" href="/rowers/team/{{ team.id }}/leave">Leave</a>
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
<div class="grid_2 alpha">
|
||||
<p>
|
||||
<a class="button green small" href="/rowers/team/{{ team.id }}">Cancel</a>
|
||||
</div>
|
||||
|
||||
<div class="grid_2">
|
||||
<p>
|
||||
<a class="button red small" href="/rowers/team/{{ team.id }}/leave">Leave</a>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div id="images" class="grid_6 omega">
|
||||
<p>
|
||||
|
||||
</p>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
{% endblock %}
|
||||
|
||||
{% block sidebar %}
|
||||
{% include 'menu_teams.html' %}
|
||||
{% endblock %}
|
||||
|
||||
@@ -1,35 +1,32 @@
|
||||
{% extends "base.html" %}
|
||||
{% extends "newbase.html" %}
|
||||
|
||||
{% block title %}Team {% endblock %}
|
||||
|
||||
{% block content %}
|
||||
<div class="grid_12 alpha">
|
||||
{% include "teambuttons.html" with teamid=team.id team=team %}
|
||||
</div>
|
||||
<div class="grid_12 alpha">
|
||||
<h1>{{ team.name }} Stats</h1>
|
||||
<p>
|
||||
Links to the cumulative statistics pages for your team's members
|
||||
</p>
|
||||
<table width="90%" class="listtable shortpadded">
|
||||
<tbody>
|
||||
{% for u in theusers %}
|
||||
<tr>
|
||||
<td>{{ u.first_name }} {{ u.last_name }}</td>
|
||||
<td><a href="/rowers/{{ u.id }}/ote-bests">Ranking Pieces</a></td>
|
||||
<td><a href="/rowers/flexall/u/{{ u.id }}">Stroke Analysis</a></td>
|
||||
<td><a href="/rowers/histo/u/{{ u.id }}">Power Histogram</a></td>
|
||||
<td><a href="/rowers/cumstats/u/{{ u.id }}">Stats</a></td>
|
||||
<td><a href="/rowers/user-boxplot-select/user/{{ u.id }}/">Box Chart</a></td>
|
||||
<td><a href="/rowers/{{ u.id }}/otw-bests">OTW Ranking Pieces</a></td>
|
||||
<td><a href="/rowers/user-multiflex-select/user/{{ u.id }}/">Trend Flex</a></td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
|
||||
{% block main %}
|
||||
<h1>{{ team.name }} Stats</h1>
|
||||
<p>
|
||||
Links to the cumulative statistics pages for your team's members
|
||||
</p>
|
||||
<table width="90%" class="listtable shortpadded">
|
||||
<tbody>
|
||||
{% for u in theusers %}
|
||||
<tr>
|
||||
<td>{{ u.first_name }} {{ u.last_name }}</td>
|
||||
<td><a href="/rowers/{{ u.id }}/ote-bests">Ranking Pieces</a></td>
|
||||
<td><a href="/rowers/flexall/u/{{ u.id }}">Stroke Analysis</a></td>
|
||||
<td><a href="/rowers/histo/u/{{ u.id }}">Power Histogram</a></td>
|
||||
<td><a href="/rowers/cumstats/u/{{ u.id }}">Stats</a></td>
|
||||
<td><a href="/rowers/user-boxplot-select/user/{{ u.id }}/">Box Chart</a></td>
|
||||
<td><a href="/rowers/{{ u.id }}/otw-bests">OTW Ranking Pieces</a></td>
|
||||
<td><a href="/rowers/user-multiflex-select/user/{{ u.id }}/">Trend Flex</a></td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
{% endblock %}
|
||||
|
||||
{% block sidebar %}
|
||||
{% include 'menu_teams.html' %}
|
||||
{% endblock %}
|
||||
|
||||
128
rowers/views.py
128
rowers/views.py
@@ -12423,11 +12423,14 @@ def strokedatajson(request,id):
|
||||
import teams
|
||||
|
||||
@login_required()
|
||||
def team_view(request,id=0):
|
||||
def team_view(request,id=0,userid=0):
|
||||
ismember = 0
|
||||
hasrequested = 0
|
||||
r = getrower(request.user)
|
||||
myteams = Team.objects.filter(manager=request.user)
|
||||
r = getrequestrower(request,userid=userid)
|
||||
|
||||
myteams, memberteams, otherteams = get_teams(request)
|
||||
teams.remove_expired_invites()
|
||||
|
||||
|
||||
try:
|
||||
t = Team.objects.get(id=id)
|
||||
@@ -12467,13 +12470,27 @@ def team_view(request,id=0):
|
||||
if r in members:
|
||||
ismember = 1
|
||||
|
||||
breadcrumbs = [
|
||||
{
|
||||
'url':reverse(rower_teams_view),
|
||||
'name': 'Teams'
|
||||
},
|
||||
{
|
||||
'url':reverse(team_view,kwargs={'id':id}),
|
||||
'name': t.name
|
||||
}
|
||||
]
|
||||
|
||||
|
||||
return render(request, 'team.html',
|
||||
{
|
||||
'team':t,
|
||||
'teams':get_my_teams(request.user),
|
||||
'myteams':myteams,
|
||||
'memberteams':memberteams,
|
||||
'members':members,
|
||||
'breadcrumbs':breadcrumbs,
|
||||
'active':'nav-teams',
|
||||
'inviteform':inviteform,
|
||||
'ismember':ismember,
|
||||
'hasrequested':hasrequested,
|
||||
@@ -12486,10 +12503,31 @@ def team_leaveconfirm_view(request,id=0):
|
||||
except Team.DoesNotExist:
|
||||
raise Http404("Team doesn't exist")
|
||||
|
||||
myteams, memberteams, otherteams = get_teams(request)
|
||||
|
||||
breadcrumbs = [
|
||||
{
|
||||
'url':reverse(rower_teams_view),
|
||||
'name': 'Teams'
|
||||
},
|
||||
{
|
||||
'url':reverse(team_view,kwargs={'id':id}),
|
||||
'name': t.name
|
||||
},
|
||||
{
|
||||
'url':reverse(team_leaveconfirm_view,kwargs={'id':id}),
|
||||
'name': 'Leave'
|
||||
}
|
||||
]
|
||||
return render(request,'teamleaveconfirm.html',
|
||||
{
|
||||
'team':t,
|
||||
'teams':get_my_teams(request.user),
|
||||
'myteams':myteams,
|
||||
'memberteams':memberteams,
|
||||
'otherteams':otherteams,
|
||||
'active':'nav-teams',
|
||||
'breadcrumbs':breadcrumbs,
|
||||
})
|
||||
|
||||
@login_required()
|
||||
@@ -12624,6 +12662,19 @@ def team_leave_view(request,id=0):
|
||||
|
||||
from rowers.forms import TeamInviteCodeForm
|
||||
|
||||
def get_teams(request):
|
||||
r = Rower.objects.get(user=request.user)
|
||||
|
||||
myteams = Team.objects.filter(
|
||||
manager=request.user).order_by('name')
|
||||
memberteams = Team.objects.filter(
|
||||
rower=r).exclude(manager=request.user).order_by('name')
|
||||
otherteams = Team.objects.filter(
|
||||
private='open').exclude(
|
||||
rower=r).exclude(manager=request.user).order_by('name')
|
||||
|
||||
return myteams, memberteams, otherteams
|
||||
|
||||
@login_required()
|
||||
def rower_teams_view(request,message='',successmessage=''):
|
||||
if request.method == 'POST':
|
||||
@@ -12640,10 +12691,11 @@ def rower_teams_view(request,message='',successmessage=''):
|
||||
|
||||
r = getrower(request.user)
|
||||
ts = Team.objects.filter(rower=r)
|
||||
myteams = Team.objects.filter(manager=request.user)
|
||||
memberteams = Team.objects.filter(rower=r).exclude(manager=request.user).order_by('name')
|
||||
otherteams = Team.objects.filter(private='open').exclude(rower=r).exclude(manager=request.user).order_by('name')
|
||||
|
||||
|
||||
myteams, memberteams, otherteams = get_teams(request)
|
||||
teams.remove_expired_invites()
|
||||
|
||||
|
||||
invites = TeamInvite.objects.filter(user=request.user)
|
||||
requests = TeamRequest.objects.filter(user=request.user)
|
||||
@@ -12843,10 +12895,32 @@ def team_edit_view(request,id=0):
|
||||
else:
|
||||
teamcreateform = TeamForm(instance=t)
|
||||
|
||||
myteams, memberteams, otherteams = get_teams(request)
|
||||
|
||||
breadcrumbs = [
|
||||
{
|
||||
'url':reverse(rower_teams_view),
|
||||
'name': 'Teams'
|
||||
},
|
||||
{
|
||||
'url':reverse(team_view,kwargs={'id':id}),
|
||||
'name': t.name
|
||||
},
|
||||
{
|
||||
'url':reverse(team_edit_view,kwargs={'id':id}),
|
||||
'name': 'Edit'
|
||||
}
|
||||
]
|
||||
|
||||
return render(request,'teamedit.html',
|
||||
{
|
||||
'form':teamcreateform,
|
||||
'teams':get_my_teams(request.user),
|
||||
'myteams':myteams,
|
||||
'memberteams':memberteams,
|
||||
'otherteams':otherteams,
|
||||
'active':'nav-teams',
|
||||
'breadcrumbs':breadcrumbs,
|
||||
'team':t,
|
||||
})
|
||||
|
||||
@@ -12886,10 +12960,30 @@ def team_deleteconfirm_view(request,id):
|
||||
if t.manager != request.user:
|
||||
raise PermissionDenied("You are not allowed to delete this team")
|
||||
|
||||
myteams, memberteams, otherteams = get_teams(request)
|
||||
|
||||
breadcrumbs = [
|
||||
{
|
||||
'url':reverse(rower_teams_view),
|
||||
'name': 'Teams'
|
||||
},
|
||||
{
|
||||
'url':reverse(team_view,kwargs={'id':id}),
|
||||
'name': t.name
|
||||
},
|
||||
{
|
||||
'url':reverse(team_deleteconfirm_view,kwargs={'id':id}),
|
||||
'name': 'Leave'
|
||||
}
|
||||
]
|
||||
return render(request,'teamdeleteconfirm.html',
|
||||
{
|
||||
'teams':get_my_teams(request.user),
|
||||
'team':t
|
||||
'team':t,
|
||||
'myteams':myteams,
|
||||
'memberteams':memberteams,
|
||||
'otherteams':otherteams,
|
||||
'active':'nav-teams',
|
||||
})
|
||||
|
||||
@user_passes_test(iscoachmember,login_url="/",redirect_field_name=None)
|
||||
@@ -12922,11 +13016,31 @@ def team_members_stats_view(request,id):
|
||||
|
||||
theusers = [member.user for member in members]
|
||||
|
||||
myteams, memberteams, otherteams = get_teams(request)
|
||||
|
||||
breadcrumbs = [
|
||||
{
|
||||
'url':reverse(rower_teams_view),
|
||||
'name': 'Teams'
|
||||
},
|
||||
{
|
||||
'url':reverse(team_view,kwargs={'id':id}),
|
||||
'name': t.name
|
||||
},
|
||||
{
|
||||
'url':reverse(team_members_stats_view,kwargs={'id':id}),
|
||||
'name': 'Members Stats'
|
||||
}
|
||||
]
|
||||
|
||||
response = render(request,'teamstats.html',
|
||||
{
|
||||
'teams':get_my_teams(request.user),
|
||||
'myteams':myteams,
|
||||
'memberteams':memberteams,
|
||||
'otherteams':otherteams,
|
||||
'active':'nav-teams',
|
||||
'breadcrumbs':breadcrumbs,
|
||||
'team':t,
|
||||
'theusers':theusers,
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user