profile menu and export settings
This commit is contained in:
@@ -1,3 +1,5 @@
|
||||
{% load staticfiles %}
|
||||
{% load rowerfilters %}
|
||||
<h1>Profile</h1>
|
||||
<ul class="cd-accordion-menu animated">
|
||||
<li id="manage-account">
|
||||
@@ -17,3 +19,26 @@
|
||||
</li>
|
||||
</ul><!-- cd-accordion-menu -->
|
||||
|
||||
{% if user.is_authenticated and user|is_manager %}
|
||||
<p> </p>
|
||||
|
||||
<ul class="cd-accordion-menu animated">
|
||||
<li class="has-children" id="athletes">
|
||||
<input type="checkbox" name="athlete-selector" id="athlete-selector">
|
||||
<label for="athlete-selector"><i class="fas fa-users fa-fw"></i> Athletes</label>
|
||||
<ul>
|
||||
{% for member in user|team_members %}
|
||||
<a href={{ request.path|userurl:member }}>
|
||||
<i class="fas fa-user fa-fw"></i>
|
||||
{% if member == rower.user %}
|
||||
•
|
||||
{% else %}
|
||||
|
||||
{% endif %}
|
||||
{{ member.first_name }} {{ member.last_name }}
|
||||
</a>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
{% endif %}
|
||||
|
||||
@@ -1,24 +1,101 @@
|
||||
{% load staticfiles %}
|
||||
{% load rowerfilters %}
|
||||
<h1>Teams</h1>
|
||||
|
||||
<ul class="cd-accordion-menu animated">
|
||||
<li id="manage">
|
||||
<a href="">
|
||||
<i class="fas fa-cog fa-fw"></i> Manage
|
||||
<a href="/rowers/me/teams">
|
||||
<i class="fas fa-cog fa-fw"></i> Overview
|
||||
</a>
|
||||
</li>
|
||||
{% if teams %}
|
||||
<li class="has-children" id="teams">
|
||||
<input type="checkbox" name="group-teams" id="group-teams">
|
||||
<label for="group-teams">Teams</label>
|
||||
<ul>
|
||||
{% for team in teams %}
|
||||
<li id="team-{{ team.id }}">
|
||||
<a href="">
|
||||
<i class="fas fa-user-friends fa-fw"></i> {{ team.name }}
|
||||
{% if user|is_manager %}
|
||||
<li id="create">
|
||||
<a href="/rowers/team/create">
|
||||
<i class="fas fa-plus fa-fw"></i> New Team
|
||||
</a>
|
||||
</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
</li>
|
||||
{% endif %}
|
||||
</ul><!-- cd-accordion-menu -->
|
||||
|
||||
<p> </p>
|
||||
|
||||
{% if teams %}
|
||||
<h2>Managing</h2>
|
||||
<ul class="cd-accordion-menu animated">
|
||||
{% for team in myteams %}
|
||||
<li class="has-children" id="team-{{ team.id }}">
|
||||
<input type="checkbox" name="group-team-{{ team.id }}" id="group-team-{{ team.id }}">
|
||||
<label for="group-team-{{ team.id }}">{{ team.name }}</label>
|
||||
<ul>
|
||||
<li id="team-{{ team.id }}-view">
|
||||
<a href="/rowers/team/{{ team.id }}">
|
||||
<i class="fas fa-user-friends fa-fw"></i> View
|
||||
</a>
|
||||
</li>
|
||||
<li id="team-{{ team.id }}-edit">
|
||||
<a href="/rowers/team/{{ team.id }}/edit">
|
||||
<i class="fas fa-user-friends fa-fw"></i> Edit
|
||||
</a>
|
||||
</li>
|
||||
<li id="team-{{ team.id }}-stats">
|
||||
<a href="/rowers/team/{{ team.id }}/memberstats">
|
||||
<i class="fas fa-pencil-alt fa-fw"></i> Member Stats
|
||||
</a>
|
||||
</li>
|
||||
<li id="team-{{ team.id }}-workouts">
|
||||
<a href="/rowers/list-workouts/team/{{ team.id }}/">
|
||||
<i class="fas fa-clipboard-list fa-fw"></i> Member Workouts
|
||||
</a>
|
||||
</li>
|
||||
<li id="team-{{ team.id }}-leave">
|
||||
<a href="/rowers/team/{{ team.id }}/leaveconfirm">
|
||||
<i class="fas fa-sign-out fa-fw"></i> Leave
|
||||
</a>
|
||||
</li>
|
||||
<li id="team-{{ team.id }}-delete">
|
||||
<a href="/rowers/team/{{ team.id }}/deleteconfirm">
|
||||
<i class="fas fa-trash fa-fw"></i> Delete
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
{% endif %}
|
||||
|
||||
<p> </p>
|
||||
|
||||
{% if memberteams %}
|
||||
<h2>Member</h2>
|
||||
<ul class="cd-accordion-menu animated">
|
||||
{% for team in memberteams %}
|
||||
<li class="has-children" id="team-{{ team.id }}">
|
||||
<input type="checkbox" name="group-team-{{ team.id }}" id="group-team-{{ team.id }}">
|
||||
<label for="group-team-{{ team.id }}">{{ team.name }}</label>
|
||||
<ul>
|
||||
<li id="team-{{ team.id }}-view">
|
||||
<a href="/rowers/team/{{ team.id }}">
|
||||
<i class="fas fa-user-friends fa-fw"></i> View
|
||||
</a>
|
||||
</li>
|
||||
<li id="team-{{ team.id }}-stats">
|
||||
<a href="/rowers/team/{{ team.id }}/memberstats">
|
||||
<i class="fas fa-pencil-alt fa-fw"></i> Member Stats
|
||||
</a>
|
||||
</li>
|
||||
<li id="team-{{ team.id }}-workouts">
|
||||
<a href="/rowers/list-workouts/team/{{ team.id }}/">
|
||||
<i class="fas fa-clipboard-list fa-fw"></i> Member Workouts
|
||||
</a>
|
||||
</li>
|
||||
<li id="team-{{ team.id }}-leave">
|
||||
<a href="/rowers/team/{{ team.id }}/leaveconfirm">
|
||||
<i class="fas fa-sign-out fa-fw"></i> Leave
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
{% endif %}
|
||||
|
||||
|
||||
@@ -1,12 +1,9 @@
|
||||
{% extends "base.html" %}
|
||||
{% extends "newbase.html" %}
|
||||
|
||||
{% block title %}Change Rower Export Settings{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
<div class="grid_12 alpha">
|
||||
<div class="grid_6 suffix_6 alpha">
|
||||
<p>
|
||||
<h2>Export Settings</h2>
|
||||
{% block main %}
|
||||
<h1>Import and Export Settings for {{ rower.user.first_name }} {{ rower.user.last_name }}</h1>
|
||||
{% if form.errors %}
|
||||
<p style="color: red;">
|
||||
Please correct the error{{ form.errors|pluralize }} below.
|
||||
@@ -18,14 +15,14 @@
|
||||
{{ form.as_table }}
|
||||
</table>
|
||||
{% csrf_token %}
|
||||
<div class="grid_2 prefix_2 suffix_2">
|
||||
<input class="button green" type="submit" value="Save">
|
||||
</form>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
{% endblock %}
|
||||
|
||||
{% block sidebar %}
|
||||
{% include 'menu_profile.html' %}
|
||||
{% endblock %}
|
||||
|
||||
@@ -1,14 +1,13 @@
|
||||
{% extends "base.html" %}
|
||||
{% extends "newbase.html" %}
|
||||
|
||||
{% block title %}Teams {% endblock %}
|
||||
|
||||
{% block content %}
|
||||
<div class="grid_12 alpha">
|
||||
<div class="grid_6 alpha">
|
||||
<p>
|
||||
<h2>My Teams</h2>
|
||||
{% block main %}
|
||||
<ul class="main-content">
|
||||
{% if teams %}
|
||||
<table width="70%" class="listtable">
|
||||
<li >
|
||||
<h2>My Teams</h2>
|
||||
<table width="100%" class="listtable">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Name</th>
|
||||
@@ -22,25 +21,19 @@
|
||||
<a href="/rowers/team/{{ team.id }}/">{{ team.name }}</a>
|
||||
</td>
|
||||
<td>
|
||||
<div class="grid_1">
|
||||
<a class="button small red" href="/rowers/team/{{ team.id }}/leaveconfirm">Leave</a>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
{% else %}
|
||||
<p>You are not a member of any team.</p>
|
||||
</li>
|
||||
{% endif %}
|
||||
</p>
|
||||
|
||||
|
||||
</div>
|
||||
<div class="grid_6 omega">
|
||||
{% if otherteams %}
|
||||
<li >
|
||||
<h2>Other Teams</h2>
|
||||
<table width="70%" class="listtable">
|
||||
<table width="100%" class="listtable">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Name</th>
|
||||
@@ -60,21 +53,16 @@
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
{% else %}
|
||||
<p> </p>
|
||||
</li>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="grid_12 alpha">
|
||||
<div class="grid_6 alpha">
|
||||
{% if user.rower.rowerplan == 'coach' %}
|
||||
<li >
|
||||
<h2>Teams I manage</h2>
|
||||
<p>Number of members: {{ clubsize }}</p>
|
||||
<p>Maximum club size: {{ max_clubsize }}</p>
|
||||
{% if myteams %}
|
||||
<table width="70%" class="listtable">
|
||||
<table width="100%" class="listtable">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Name</th>
|
||||
@@ -88,24 +76,18 @@
|
||||
<a href="/rowers/team/{{ team.id }}/">{{ team.name }}</a>
|
||||
</td>
|
||||
<td>
|
||||
<div class="grid_1">
|
||||
<a class="button small red" href="/rowers/team/{{ team.id }}/deleteconfirm">Delete</a>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
{% endif %}
|
||||
<div class="grid_2 suffix_4 alpha">
|
||||
<a class="button green" href="/rowers/team/create">New Team</a>
|
||||
</div>
|
||||
{% else %}
|
||||
<p> </p>
|
||||
</li>
|
||||
{% endif %}
|
||||
</div>
|
||||
<div class="grid_6 omega">
|
||||
{% if invites or requests or myrequests or myinvites %}
|
||||
<li >
|
||||
<h2>Invitations and Requests</h2>
|
||||
<p>This section lists open invites to join a team. By accepting
|
||||
a team invite, you are agreeing with the sharing
|
||||
@@ -178,7 +160,6 @@
|
||||
</tbody>
|
||||
</table>
|
||||
<h3>Manual code redeem</h3>
|
||||
<div class="grid_4 alpha">
|
||||
<form enctype="multipart/form-data" action="{{ formloc }}" method="post">
|
||||
{% if form.errors %}
|
||||
<p style\"color: red;">
|
||||
@@ -189,18 +170,15 @@
|
||||
<table>
|
||||
{{ form.as_table }}
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div id="formbutton" class="grid_1 suffix_1 omega">
|
||||
<input class="button green" type="submit" value="Submit">
|
||||
</div>
|
||||
</form>
|
||||
</p>
|
||||
{% else %}
|
||||
<p> </p>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
{% endblock %}
|
||||
|
||||
{% block sidebar %}
|
||||
{% include 'menu_teams.html' %}
|
||||
{% endblock %}
|
||||
|
||||
@@ -339,6 +339,7 @@ urlpatterns = [
|
||||
url(r'^me/teams/$',views.rower_teams_view),
|
||||
url(r'^me/calcdps/$',views.rower_calcdps_view),
|
||||
url(r'^me/exportsettings/$',views.rower_exportsettings_view),
|
||||
url(r'^me/exportsettings/user/(?P<userid>\d+)$',views.rower_exportsettings_view),
|
||||
url(r'^team/(?P<id>\d+)/$',views.team_view),
|
||||
url(r'^team/(?P<id>\d+)/memberstats$',views.team_members_stats_view),
|
||||
url(r'^team/(?P<id>\d+)/edit$',views.team_edit_view),
|
||||
@@ -359,7 +360,7 @@ urlpatterns = [
|
||||
url(r'^me/request/(\w+.*)/$',views.manager_requests_view),
|
||||
url(r'^me/request/$',views.manager_requests_view),
|
||||
url(r'^me/edit/$',views.rower_edit_view),
|
||||
url(r'^rower/edit/(?P<rowerid>\d+)$',views.rower_edit_view),
|
||||
url(r'^me/edit/user/(?P<userid>\d+)$',views.rower_edit_view),
|
||||
url(r'^me/edit/(.+.*)/$',views.rower_edit_view),
|
||||
url(r'^me/c2authorize/$',views.rower_c2_authorize),
|
||||
url(r'^me/polarauthorize/$',views.rower_polar_authorize),
|
||||
|
||||
@@ -11887,8 +11887,8 @@ def rower_favoritecharts_view(request):
|
||||
|
||||
# page where user sets his export settings
|
||||
@login_required()
|
||||
def rower_exportsettings_view(request):
|
||||
r = getrower(request.user)
|
||||
def rower_exportsettings_view(request,userid=0):
|
||||
r = getrequestrower(request,userid=userid)
|
||||
if request.method == 'POST':
|
||||
form = RowerExportForm(request.POST)
|
||||
if form.is_valid():
|
||||
@@ -11901,17 +11901,30 @@ def rower_exportsettings_view(request):
|
||||
messages.info(request,'Settings saved')
|
||||
else:
|
||||
form = RowerExportForm(instance=r)
|
||||
|
||||
breadcrumbs = [
|
||||
{
|
||||
'url':'/rowers/me',
|
||||
'name': 'Profile'
|
||||
},
|
||||
{
|
||||
'url': reverse(rower_exportsettings_view),
|
||||
'name': 'Export Settings'
|
||||
}
|
||||
]
|
||||
|
||||
return render(request, 'rower_exportsettings.html',
|
||||
{'form':form,
|
||||
'rower':r,
|
||||
'breadcrumbs': breadcrumbs,
|
||||
})
|
||||
|
||||
|
||||
# Page where user can set his details
|
||||
# Add email address to form so user can change his email address
|
||||
@login_required()
|
||||
def rower_edit_view(request,rowerid=0,message=""):
|
||||
r = getrequestrower(request,rowerid=rowerid,notpermanent=True)
|
||||
def rower_edit_view(request,rowerid=0,userid=0,message=""):
|
||||
r = getrequestrower(request,rowerid=rowerid,userid=userid,notpermanent=True)
|
||||
|
||||
rowerid = r.id
|
||||
|
||||
@@ -12628,6 +12641,7 @@ 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')
|
||||
teams.remove_expired_invites()
|
||||
|
||||
@@ -12640,12 +12654,23 @@ def rower_teams_view(request,message='',successmessage=''):
|
||||
|
||||
messages.info(request,successmessage)
|
||||
messages.error(request,message)
|
||||
|
||||
breadcrumbs = [
|
||||
{
|
||||
'url':reverse(rower_teams_view),
|
||||
'name': 'Teams'
|
||||
}
|
||||
]
|
||||
|
||||
return render(request, 'teams.html',
|
||||
{
|
||||
'teams':ts,
|
||||
'active':'nav-teams',
|
||||
'breadcrumbs':breadcrumbs,
|
||||
'clubsize':clubsize,
|
||||
'max_clubsize':max_clubsize,
|
||||
'myteams':myteams,
|
||||
'memberteams':memberteams,
|
||||
'invites':invites,
|
||||
'otherteams':otherteams,
|
||||
'requests':requests,
|
||||
|
||||
@@ -328,10 +328,22 @@
|
||||
|
||||
.sideheader {
|
||||
grid-area: side-header;
|
||||
color: #dddddd;
|
||||
background: #35383d;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.side h2 {
|
||||
color: #dddddd;
|
||||
font-weight: bold;
|
||||
text-align: left;
|
||||
font-size: 1.0em;
|
||||
padding: 5px;
|
||||
margin: 0;
|
||||
margin-left: 30px;
|
||||
padding-bottom: 0;
|
||||
}
|
||||
|
||||
.sideheader h1 {
|
||||
font-weight: bold;
|
||||
text-align: left;
|
||||
|
||||
@@ -209,7 +209,7 @@
|
||||
</a>
|
||||
</li>
|
||||
<li id="nav-teams">
|
||||
<a href="/rowers/analysis">
|
||||
<a href="/rowers/me/teams">
|
||||
<i class="fas fa-bullhorn"></i> Teams
|
||||
</a>
|
||||
</li>
|
||||
|
||||
Reference in New Issue
Block a user