acceptable version of list_workouts
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
{% extends "newbase.html" %}
|
||||
{% load staticfiles %}
|
||||
{% load rowerfilters %}
|
||||
|
||||
xo
|
||||
{% block title %}Rowsandall Workouts List{% endblock %}
|
||||
|
||||
{% block scripts %}
|
||||
@@ -73,7 +73,7 @@
|
||||
</form>
|
||||
</p>
|
||||
</li>
|
||||
<li>
|
||||
<li class="grid_2">
|
||||
<script type="text/javascript" src="/static/js/bokeh-0.12.3.min.js"></script>
|
||||
<script async="true" type="text/javascript">
|
||||
Bokeh.set_log_level("info");
|
||||
@@ -83,12 +83,74 @@
|
||||
|
||||
{{ the_div |safe }}
|
||||
</li>
|
||||
<li class="grid_4">
|
||||
{% if team %}
|
||||
<h3>{{ team.name }} Team Workouts</h3>
|
||||
{% else %}
|
||||
<h3>Workouts of {{ rower.user.first_name }} {{ rower.user.last_name }}</h3>
|
||||
<li>
|
||||
{% if team %}
|
||||
<h3>{{ team.name }} Team Workouts</h3>
|
||||
{% else %}
|
||||
<h3>
|
||||
Workouts of {{ rower.user.first_name }} {{ rower.user.last_name }}
|
||||
</h3>
|
||||
{% endif %}
|
||||
</li>
|
||||
<li>
|
||||
<p>
|
||||
<span>
|
||||
{% if workouts.has_previous %}
|
||||
{% if request.GET.q %}
|
||||
<a class="wh" href="?page=1&q={{ request.GET.q }}">
|
||||
<i class="fas fa-arrow-alt-to-left"></i>
|
||||
</a>
|
||||
<a class="wh" href="?page={{ workouts.previous_page_number }}&q={{ request.GET.q }}">
|
||||
<i class="fas fa-arrow-alt-left"></i>
|
||||
</a>
|
||||
{% else %}
|
||||
<a class="wh" href="?page=1">
|
||||
<i class="fas fa-arrow-alt-to-left"></i>
|
||||
</a>
|
||||
<a class="wh" href="?page={{ workouts.previous_page_number }}">
|
||||
<i class="fas fa-arrow-alt-left"></i>
|
||||
</a>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
|
||||
<span>
|
||||
Page {{ workouts.number }} of {{ workouts.paginator.num_pages }}.
|
||||
</span>
|
||||
|
||||
{% if workouts.has_next %}
|
||||
{% if request.GET.q %}
|
||||
<a class="wh" href="/rowers/list-workouts/{{ startdate|date:"Y-m-d" }}/{{ enddate|date:"Y-m-d" }}?page={{ workouts.next_page_number }}&q={{ request.GET.q }}">
|
||||
<i class="fas fa-arrow-alt-right"></i>
|
||||
</a>
|
||||
<a class="wh" href="?page={{ workouts.paginator.num_pages }}&q={{ request.GET.q }}">
|
||||
<i class="fas fa-arrow-alt-to-right">
|
||||
</a>
|
||||
{% else %}
|
||||
<a class="wh" href="/rowers/list-workouts/{{ startdate|date:"Y-m-d" }}/{{ enddate|date:"Y-m-d" }}?page={{ workouts.next_page_number }}">
|
||||
<i class="fas fa-arrow-alt-right"></i>
|
||||
</a>
|
||||
<a class="wh" href="?page={{ workouts.paginator.num_pages }}">
|
||||
<i class="fas fa-arrow-alt-to-right"></i>
|
||||
</a>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
</span>
|
||||
</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>
|
||||
{% if rankingonly and not team %}
|
||||
<a href="/rowers/list-workouts">
|
||||
<i class="far fa-star"></i>Show All Workouts
|
||||
</a>
|
||||
{% elif not team %}
|
||||
<a href="/rowers/list-workouts/ranking">
|
||||
<i class="fas fa-star"></i>Show Only Ranking Pieces
|
||||
</a>
|
||||
{% endif %}
|
||||
</p>
|
||||
</li>
|
||||
<li class="grid_4">
|
||||
|
||||
{% if workouts %}
|
||||
<table width="100%" class="listtable shortpadded">
|
||||
@@ -182,70 +244,19 @@
|
||||
</li>
|
||||
{% if announcements %}
|
||||
<li class="grid_4">
|
||||
<h2>What's New?</h2>
|
||||
<h3>What's New?</h3>
|
||||
</li>
|
||||
{% for a in announcements %}
|
||||
<li>
|
||||
<div class="site-announcement-box">
|
||||
<div class="site-announcement">
|
||||
<i>{{ a.created }}:</i>
|
||||
<em>{{ a.created }}:</em>
|
||||
{{ a.announcement|urlize }}
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
<li class="grid_2">
|
||||
{% if rankingonly and not team %}
|
||||
<a href="/rowers/list-workouts">All Workouts</a>
|
||||
{% elif not team %}
|
||||
<a href="/rowers/list-workouts/ranking">Ranking Pieces Only</a>
|
||||
{% endif %}
|
||||
</li>
|
||||
<li class="grid_2">
|
||||
{% if user|is_promember %}
|
||||
<a href="/rowers/workouts-join-select">Glue Workouts</a>
|
||||
{% else %}
|
||||
<a href="/rowers/promembership">Glue</a>
|
||||
{% endif %}
|
||||
</li>
|
||||
<li class="grid_4">
|
||||
<span>
|
||||
{% if workouts.has_previous %}
|
||||
{% if request.GET.q %}
|
||||
<a class="wh" href="?page={{ workouts.previous_page_number }}&q={{ request.GET.q }}"><</a>
|
||||
{% else %}
|
||||
<a class="wh" href="?page={{ workouts.previous_page_number }}"><</a>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
|
||||
<span>
|
||||
Page {{ workouts.number }} of {{ workouts.paginator.num_pages }}.
|
||||
</span>
|
||||
|
||||
{% if workouts.has_next %}
|
||||
{% if request.GET.q %}
|
||||
<a class="wh" href="/rowers/list-workouts/{{ startdate|date:"Y-m-d" }}/{{ enddate|date:"Y-m-d" }}?page={{ workouts.next_page_number }}&q={{ request.GET.q }}">></a>
|
||||
{% else %}
|
||||
<a class="wh" href="/rowers/list-workouts/{{ startdate|date:"Y-m-d" }}/{{ enddate|date:"Y-m-d" }}?page={{ workouts.next_page_number }}">></a>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
</span>
|
||||
</li>
|
||||
<li>
|
||||
{% if user.is_authenticated and user|is_manager %}
|
||||
<button class="dropbtn">
|
||||
{{ rower.user.first_name }} {{ rower.user.last_name }}
|
||||
</button>
|
||||
<div class="dropdown-content">
|
||||
{% for member in user|team_members %}
|
||||
<a href="/rowers/u/{{ member.id }}/list-workouts/{{ startdate|date:"Y-m-d" }}/{{ enddate|date:"Y-m-d" }}">{{ member.first_name }} {{ member.last_name }}</a>
|
||||
{% endfor %}
|
||||
{% else %}
|
||||
|
||||
{% endif %}
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
{% endblock %}
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
{% load staticfiles %}
|
||||
{% load rowerfilters %}
|
||||
<h1>Workouts</h1>
|
||||
<ul class="cd-accordion-menu animated">
|
||||
<li id="workouts-list">
|
||||
@@ -12,6 +14,15 @@
|
||||
<li>
|
||||
<a href="#0"><i class="fas fa-file-upload fa-fw"></i> Upload</a>
|
||||
</li>
|
||||
<li>
|
||||
{% if user|is_promember %}
|
||||
<a href="/rowers/workouts-join-select">
|
||||
{% else %}
|
||||
<a href="/rowers/promembership">Glue Workouts</a>
|
||||
{% endif %}
|
||||
<i class="fas fa-layer-plus fa-fw"></i> Glue Workouts
|
||||
</a>
|
||||
</li>
|
||||
<li class="has-children" id="imports">
|
||||
<input type="checkbox" name ="group-1" id="group-1">
|
||||
<label for="group-1"><i class="fas fa-cloud-download fa-fw"></i> Import</label>
|
||||
@@ -26,3 +37,21 @@
|
||||
</ul>
|
||||
</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="/rowers/u/{{ member.id }}/list-workouts/{{ startdate|date:"Y-m-d" }}/{{ enddate|date:"Y-m-d" }}">
|
||||
<i class="fas fa-user fa-fw"></i> {{ member.first_name }} {{ member.last_name }}
|
||||
</a>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
{% endif %}
|
||||
|
||||
@@ -231,7 +231,7 @@ th.rotate > div > span {
|
||||
}
|
||||
|
||||
.site-announcement {
|
||||
font: 1.1em/1.5em sans-serif;
|
||||
font: 1.0em/1.2em sans-serif;
|
||||
text-decoration: none;
|
||||
display: block;
|
||||
padding: .2em .5em .2em .5em;
|
||||
|
||||
@@ -1,125 +0,0 @@
|
||||
* {box-sizing: border-box;}
|
||||
|
||||
.wrapper {
|
||||
max-width: 1400px;
|
||||
margin: 0 auto;
|
||||
font: 1.2em Helvetica, arial, sans-serif;
|
||||
}
|
||||
|
||||
.wrapper > * {
|
||||
border: 2px solid #f08c00;
|
||||
padding: 5px;
|
||||
}
|
||||
|
||||
nav ul {
|
||||
list-style: none;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
}
|
||||
|
||||
header ul {
|
||||
list-style: none;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
aside ul {
|
||||
list-style: none;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
user ul {
|
||||
list-style: none;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
display: flex;
|
||||
justify-content: flex-end;
|
||||
}
|
||||
|
||||
.main-head {
|
||||
grid-area: header;
|
||||
}
|
||||
.main-user {
|
||||
grid-area: user;
|
||||
}
|
||||
|
||||
.content {
|
||||
grid-area: content;
|
||||
}
|
||||
.main-nav {
|
||||
grid-area: nav;
|
||||
}
|
||||
.side {
|
||||
grid-area: sidebar;
|
||||
}
|
||||
.ad {
|
||||
grid-area: ad;
|
||||
}
|
||||
.main-footer {
|
||||
grid-area: footer;
|
||||
}
|
||||
.wrapper {
|
||||
display: grid;
|
||||
grid-gap: 2px;
|
||||
grid-template-areas:
|
||||
"header"
|
||||
"user"
|
||||
"nav"
|
||||
"content"
|
||||
"sidebar"
|
||||
"ad"
|
||||
"footer";
|
||||
}
|
||||
|
||||
@media (max-width: 449px) {
|
||||
nav a {
|
||||
font-size: 0px;
|
||||
}
|
||||
|
||||
nav a i {
|
||||
font-size: 20px;
|
||||
}
|
||||
}
|
||||
|
||||
@media (min-width: 450px) {
|
||||
.wrapper {
|
||||
grid-template-columns: 1fr 3fr;
|
||||
grid-template-areas:
|
||||
"header header"
|
||||
"user user"
|
||||
"nav nav"
|
||||
"sidebar content"
|
||||
"ad footer";
|
||||
}
|
||||
nav ul {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
}
|
||||
header ul {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@media (min-width: 768px) {
|
||||
.wrapper {
|
||||
grid-template-columns: 1fr 5fr 1fr;
|
||||
grid-template-areas:
|
||||
"header header header user"
|
||||
"nav nav nav nav"
|
||||
"sidebar content content content"
|
||||
"sidebar content content content"
|
||||
"ad footer footer footer"
|
||||
}
|
||||
nav ul {
|
||||
flex-direction: row;
|
||||
}
|
||||
header ul {
|
||||
flex-direction: row;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -287,7 +287,28 @@
|
||||
.content {
|
||||
grid-area: content;
|
||||
padding: 1.2em 1.2em 1.2em 1.2em;
|
||||
font-size: 1.0em;
|
||||
}
|
||||
|
||||
.content h1 {
|
||||
font-size 1.3em;
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
.content h2 {
|
||||
font-size 1.2em;
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
.content h3 {
|
||||
font-size 1.1em;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.content em {
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
.main-nav {
|
||||
grid-area: nav;
|
||||
background: #1c75bc;
|
||||
|
||||
@@ -217,8 +217,46 @@
|
||||
</nav>
|
||||
|
||||
<main class="content">
|
||||
<ul class="main-content">
|
||||
{% if user.rower.protrialexpires and user.rower.protrialexpires|is_future_date %}
|
||||
{% if user.rower.plantrialexpires %}
|
||||
<li class="grid_4">
|
||||
<p class="successmessage">
|
||||
{{ user.rower.protrialexpires|date_dif|ddays }} days left of your Self-Coach trial - Would you like to <a href="/rowers/planmembership">upgrade now?</a>
|
||||
</p>
|
||||
</li>
|
||||
{% else %}
|
||||
<li class="grid_4">
|
||||
<p class="successmessage">
|
||||
{{ user.rower.protrialexpires|date_dif|ddays }} days left of your Pro trial - Would you like to <a href="/rowers/promembership">upgrade now?</a>
|
||||
</p>
|
||||
</li>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{% if user.rower.emailbounced %}
|
||||
<li class="grid_4">
|
||||
<p class="message">
|
||||
Your email bounced. Please update your email address in the <a href="/rowers/me/edit/">user settings</a>
|
||||
</p>
|
||||
</li>
|
||||
{% endif %}
|
||||
{% if messages %}
|
||||
{% for message in messages %}
|
||||
<li class="grid_4">
|
||||
{% if message.level == DEFAULT_MESSAGE_LEVELS.ERROR %}
|
||||
<p class="message">
|
||||
{% else %}
|
||||
<p class="successmessage">
|
||||
{% endif %}
|
||||
{{ message|safe }}
|
||||
</p>
|
||||
</li>
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
</ul>
|
||||
|
||||
{% block main %}
|
||||
{% endblock %}
|
||||
{% endblock %}
|
||||
</main>
|
||||
|
||||
<aside class="side">
|
||||
|
||||
Reference in New Issue
Block a user