398 lines
25 KiB
HTML
398 lines
25 KiB
HTML
|
|
<div class="row justify-content-center ml-3 pr-0">
|
|
<div class="col-md-12 pr-0">
|
|
<div class="card">
|
|
<div class="card-body">
|
|
{% if planified_skill or skill_whith_help or skill_not_chained or skill_by_rank or skill_by_level or skill_by_age or unknown_skill %}
|
|
<ul class="nav nav-pills nav-pills-warning nav-pills-icons justify-content-center">
|
|
{% if planified_skill %}
|
|
<li class="nav-item">
|
|
<a class="nav-link {% if planified_skill %}active{% endif %}" data-toggle="tab" href="#planified_skill">
|
|
Objectifs ({{ planified_skill|length }})
|
|
</a>
|
|
</li>
|
|
{% endif %}
|
|
|
|
{% if skill_whith_help %}
|
|
<li class="nav-item">
|
|
<a class="nav-link {% if skill_whith_help and not planified_skill %}active{% endif %}" data-toggle="tab" href="#skill_whith_help">
|
|
With help ({{ skill_whith_help|length }})
|
|
</a>
|
|
</li>
|
|
{% endif %}
|
|
|
|
{% if skill_not_chained %}
|
|
<li class="nav-item">
|
|
<a class="nav-link {% if skill_not_chained and not skill_whith_help and not planified_skill %}active{% endif %}" data-toggle="tab" href="#skill_not_chained">
|
|
Not chained ({{ skill_not_chained|length }})
|
|
</a>
|
|
</li>
|
|
{% endif %}
|
|
|
|
{% if skill_by_rank %}
|
|
<li class="nav-item">
|
|
<a class="nav-link {% if skill_by_rank and not skill_not_chained and not skill_whith_help and not planified_skill %}active{% endif %}" data-toggle="tab" href="#skill_by_rank">
|
|
By rank ({{ skill_by_rank|length }})
|
|
</a>
|
|
</li>
|
|
{% endif %}
|
|
|
|
{% if skill_by_level %}
|
|
<li class="nav-item">
|
|
<a class="nav-link {% if skill_by_level and not skill_by_rank and not skill_not_chained and not skill_whith_help and not planified_skill %}active{% endif %}" data-toggle="tab" href="#skill_by_level">
|
|
By level ({{ skill_by_level|length }})
|
|
</a>
|
|
</li>
|
|
{% endif %}
|
|
|
|
{% if skill_by_age %}
|
|
<li class="nav-item">
|
|
<a class="nav-link {% if skill_by_age and not skill_by_level and not skill_by_rank and not skill_not_chained and not skill_whith_help and not planified_skill %}active{% endif %}" data-toggle="tab" href="#skill_by_age">
|
|
By Age ({{ skill_by_age|length }})
|
|
</a>
|
|
</li>
|
|
{% endif %}
|
|
|
|
{% if unknown_skill %}
|
|
<li class="nav-item">
|
|
<a class="nav-link {% if unknown_skill and not skill_by_age and not skill_by_level and not skill_by_rank and not skill_not_chained and not skill_whith_help and not planified_skill %}active{% endif %}" data-toggle="tab" href="#unknown_skill">
|
|
All skill
|
|
</a>
|
|
</li>
|
|
{% endif %}
|
|
</ul>
|
|
<div class="tab-content tab-space tab-subcategories pt-0 pb-0">
|
|
{% if planified_skill %}
|
|
<div class="tab-pane {% if planified_skill %}active{% endif %}" id="planified_skill">
|
|
<table class="table table-striped table-condensed tablesorter" id="table_planified_skill">
|
|
<thead>
|
|
<tr>
|
|
<th style="width: 10%"></th>
|
|
<th class="header text-left" style="width: 55%">Label</th>
|
|
<th class="header text-left" style="width: 10%">Deadline</th>
|
|
<th class="header" style="width: 7%">Diff.</th>
|
|
<th class="header" style="width: 7%">Level</th>
|
|
<th class="header" style="width: 7%">Rank</th>
|
|
<th style="width: 10%">Notation</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
{% for skill in planified_skill %}
|
|
<tr>
|
|
<td>
|
|
<button type="button" rel="tooltip" class="btn btn-success btn-link btn-sm btn-icon checkUnknownSkill" data-gymnastid="{{ gymnast.id }}" data-skillid="{{ skill.id }}" data-link="1">
|
|
<i class="far fa-check"></i>
|
|
</button>
|
|
<button type="button" rel="tooltip" class="btn btn-success btn-link btn-sm btn-icon checkUnknownSkill" data-gymnastid="{{ gymnast.id }}" data-skillid="{{ skill.id }}" data-link="2">
|
|
<i class="far fa-check-double"></i>
|
|
</button>
|
|
<button type="button" rel="tooltip" class="btn btn-success btn-link btn-sm btn-icon checkUnknownSkill" data-gymnastid="{{ gymnast.id }}" data-skillid="{{ skill.id }}" data-link="3">
|
|
<i class="far fa-link"></i>
|
|
</button>
|
|
</td>
|
|
<td class="text-left"><a href="{% url 'skill_details' skill.id %}">{{ skill.long_label }}</a></td>
|
|
<td>{{ skill.plan_date | date:"d-m-Y" }}</td>
|
|
<td>{{ skill.difficulty }}</td>
|
|
<td>{{ skill.level }}</td>
|
|
<td>{{ skill.rank }}</td>
|
|
<td>{{ skill.notation }}</td>
|
|
</tr>
|
|
{% endfor %}
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
{% endif %}
|
|
|
|
{% if skill_whith_help %}
|
|
<div class="tab-pane {% if skill_whith_help and not planified_skill %}active{% endif %}" id="skill_whith_help">
|
|
<table class="table table-striped table-condensed tablesorter" id="table-skill-with-help">
|
|
<thead>
|
|
<tr>
|
|
<th style="width: 10%"></th>
|
|
<th class="header text-left" style="width: 55%">Label</th>
|
|
<th class="header" style="width: 7%">Diff.</th>
|
|
<th class="header" style="width: 7%">Level</th>
|
|
<th class="header" style="width: 7%">Rank</th>
|
|
<th style="width: 10%">Notation</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
{% for skill in skill_whith_help %}
|
|
<tr>
|
|
<td>
|
|
<button type="button" rel="tooltip" class="btn btn-success btn-link btn-sm btn-icon checkUnknownSkill" data-gymnastid="{{ gymnast.id }}" data-skillid="{{ skill.id }}" data-link="2">
|
|
<i class="far fa-check-double"></i>
|
|
</button>
|
|
<button type="button" rel="tooltip" class="btn btn-success btn-link btn-sm btn-icon checkUnknownSkill" data-gymnastid="{{ gymnast.id }}" data-skillid="{{ skill.id }}" data-link="3">
|
|
<i class="far fa-link"></i>
|
|
</button>
|
|
</td>
|
|
<td class="text-left"><a href="{% url 'skill_details' skill.id %}">{{ skill.long_label }}</a></td>
|
|
<td>{{ skill.difficulty }}</td>
|
|
<td>{{ skill.level }}</td>
|
|
<td>{{ skill.rank }}</td>
|
|
<td>{{ skill.notation }}</td>
|
|
</tr>
|
|
{% endfor %}
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
{% endif %}
|
|
|
|
{% if skill_not_chained %}
|
|
<div class="tab-pane {% if skill_not_chained and not skill_whith_help and not planified_skill %}active{% endif %}" id="skill_not_chained">
|
|
<table class="table table-striped table-condensed tablesorter" id="table-skill-with-help">
|
|
<thead>
|
|
<tr>
|
|
<th style="width: 10%"></th>
|
|
<th class="header text-left" style="width: 55%">Label</th>
|
|
<th class="header" style="width: 7%">Diff.</th>
|
|
<th class="header" style="width: 7%">Level</th>
|
|
<th class="header" style="width: 7%">Rank</th>
|
|
<th style="width: 10%">Notation</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
{% for skill in skill_not_chained %}
|
|
<tr>
|
|
<td>
|
|
<button type="button" rel="tooltip" class="btn btn-success btn-link btn-sm btn-icon checkUnknownSkill" data-gymnastid="{{ gymnast.id }}" data-skillid="{{ skill.id }}" data-link="3">
|
|
<i class="far fa-link"></i>
|
|
</button>
|
|
</td>
|
|
<td class="text-left"><a href="{% url 'skill_details' skill.id %}">{{ skill.long_label }}</a></td>
|
|
<td>{{ skill.difficulty }}</td>
|
|
<td>{{ skill.level }}</td>
|
|
<td>{{ skill.rank }}</td>
|
|
<td>{{ skill.notation }}</td>
|
|
</tr>
|
|
{% endfor %}
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
{% endif %}
|
|
|
|
{% if skill_by_rank %}
|
|
<div class="tab-pane {% if skill_by_rank and not skill_not_chained and not skill_whith_help and not planified_skill %}active{% endif %}" id="skill_by_rank">
|
|
<table class="table table-striped table-condensed tablesorter" id="table-by-rank">
|
|
<thead>
|
|
<tr>
|
|
<th style="width: 12%">Actions</th>
|
|
<th class="header text-left" style="width: 50%">Label</th>
|
|
<th class="header" style="width: 7%">Diff.</th>
|
|
<th class="header" style="width: 7%">Level</th>
|
|
<th class="header" style="width: 7%">Rank</th>
|
|
<th style="width: 10%">Notation</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
{% for skill in skill_by_rank %}
|
|
<tr>
|
|
<td>
|
|
<a href="{% url 'add_skill_for_gymnast' gymnast.id skill.id %}">
|
|
<button type="button" rel="tooltip" class="btn btn-success btn-link btn-sm btn-icon planify_skill">
|
|
<i class="fal fa-share-all"></i>
|
|
</button>
|
|
</a>
|
|
<button type="button" rel="tooltip" class="btn btn-success btn-link btn-sm btn-icon checkUnknownSkill" data-gymnastid="{{ gymnast.id }}" data-skillid="{{ skill.id }}" data-link="1">
|
|
<i class="far fa-check"></i>
|
|
</button>
|
|
<button type="button" rel="tooltip" class="btn btn-success btn-link btn-sm btn-icon checkUnknownSkill" data-gymnastid="{{ gymnast.id }}" data-skillid="{{ skill.id }}" data-link="2">
|
|
<i class="far fa-check-double"></i>
|
|
</button>
|
|
<button type="button" rel="tooltip" class="btn btn-success btn-link btn-sm btn-icon checkUnknownSkill" data-gymnastid="{{ gymnast.id }}" data-skillid="{{ skill.id }}" data-link="3">
|
|
<i class="far fa-link"></i>
|
|
</button>
|
|
</td>
|
|
<td class="text-left"><a href="{% url 'skill_details' skill.id %}">{{ skill.long_label }}</a></td>
|
|
<td>{{ skill.difficulty }}</td>
|
|
<td>{{ skill.level }}</td>
|
|
<td>{{ skill.rank }}</td>
|
|
<td>{{ skill.notation }}</td>
|
|
</tr>
|
|
{% endfor %}
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
{% endif %}
|
|
|
|
{% if skill_by_level %}
|
|
<div class="tab-pane {% if skill_by_level and not skill_by_rank and not skill_not_chained and not skill_whith_help and not planified_skill %}active{% endif %}" id="skill_by_level">
|
|
<table class="table table-striped table-condensed tablesorter" id="table-by-level">
|
|
<thead>
|
|
<tr>
|
|
<th style="width: 12%">Actions</th>
|
|
<th class="header text-left" style="width: 50%">Label</th>
|
|
<th class="header" style="width: 7%">Diff.</th>
|
|
<th class="header" style="width: 7%">Level</th>
|
|
<th class="header" style="width: 7%">Rank</th>
|
|
<th style="width: 10%">Notation</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
{% for skill in skill_by_level %}
|
|
<tr>
|
|
<td>
|
|
<button type="button" rel="tooltip" class="btn btn-success btn-link btn-sm btn-icon planify_skill" data-gymnastid="{{ gymnast.id }}" data-skillid="{{ skill.id }}" data-link="1">
|
|
<i class="fal fa-share-all"></i>
|
|
</button>
|
|
<button type="button" rel="tooltip" class="btn btn-success btn-link btn-sm btn-icon checkUnknownSkill" data-gymnastid="{{ gymnast.id }}" data-skillid="{{ skill.id }}" data-link="1">
|
|
<i class="far fa-check"></i>
|
|
</button>
|
|
<button type="button" rel="tooltip" class="btn btn-success btn-link btn-sm btn-icon checkUnknownSkill" data-gymnastid="{{ gymnast.id }}" data-skillid="{{ skill.id }}" data-link="2">
|
|
<i class="far fa-check-double"></i>
|
|
</button>
|
|
<button type="button" rel="tooltip" class="btn btn-success btn-link btn-sm btn-icon checkUnknownSkill" data-gymnastid="{{ gymnast.id }}" data-skillid="{{ skill.id }}" data-link="3">
|
|
<i class="far fa-link"></i>
|
|
</button>
|
|
</td>
|
|
<td class="text-left"><a href="{% url 'skill_details' skill.id %}">{{ skill.long_label }}</a></td>
|
|
<td>{{ skill.difficulty }}</td>
|
|
<td>{{ skill.level }}</td>
|
|
<td>{{ skill.rank }}</td>
|
|
<td>{{ skill.notation }}</td>
|
|
</tr>
|
|
{% endfor %}
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
{% endif %}
|
|
|
|
{% if skill_by_age %}
|
|
<div class="tab-pane {% if skill_by_age and not skill_by_level and not skill_by_rank and not skill_not_chained and not skill_whith_help and not planified_skill %}active{% endif %}" id="skill_by_age">
|
|
<table class="table table-striped table-condensed tablesorter" id="table-by-age">
|
|
<thead>
|
|
<tr>
|
|
<th style="width: 12%">Actions</th>
|
|
<th class="header text-left" style="width: 50%">Label</th>
|
|
<th class="header" style="width: 7%">Diff.</th>
|
|
<th class="header" style="width: 7%">Level</th>
|
|
<th class="header" style="width: 7%">Rank</th>
|
|
<th style="width: 10%">Notation</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
{% for skill in skill_by_age %}
|
|
<tr>
|
|
<td>
|
|
<button type="button" rel="tooltip" class="btn btn-success btn-link btn-sm btn-icon planify_skill" data-gymnastid="{{ gymnast.id }}" data-skillid="{{ skill.id }}" data-link="1">
|
|
<i class="fal fa-share-all"></i>
|
|
</button>
|
|
<button type="button" rel="tooltip" class="btn btn-success btn-link btn-sm btn-icon checkUnknownSkill" data-gymnastid="{{ gymnast.id }}" data-skillid="{{ skill.id }}" data-link="1">
|
|
<i class="far fa-check"></i>
|
|
</button>
|
|
<button type="button" rel="tooltip" class="btn btn-success btn-link btn-sm btn-icon checkUnknownSkill" data-gymnastid="{{ gymnast.id }}" data-skillid="{{ skill.id }}" data-link="2">
|
|
<i class="far fa-check-double"></i>
|
|
</button>
|
|
<button type="button" rel="tooltip" class="btn btn-success btn-link btn-sm btn-icon checkUnknownSkill" data-gymnastid="{{ gymnast.id }}" data-skillid="{{ skill.id }}" data-link="3">
|
|
<i class="far fa-link"></i>
|
|
</button>
|
|
</td>
|
|
<td class="text-left"><a href="{% url 'skill_details' skill.id %}">{{ skill.long_label }}</a></td>
|
|
<td>{{ skill.difficulty }}</td>
|
|
<td>{{ skill.level }}</td>
|
|
<td>{{ skill.rank }}</td>
|
|
<td>{{ skill.notation }}</td>
|
|
</tr>
|
|
{% endfor %}
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
{% endif %}
|
|
|
|
{% if unknown_skill %}
|
|
<div class="tab-pane {% if unknown_skill and not skill_by_age and not skill_by_level and not skill_by_rank and not skill_not_chained and not skill_whith_help and not planified_skill %}active{% endif %}" id="unknown_skill">
|
|
<table class="table table-striped table-condensed tablesorter" id="table-other">
|
|
<thead>
|
|
<tr>
|
|
<th style="width: 12%">Actions</th>
|
|
<th class="header text-left" style="width: 50%">Label</th>
|
|
<th class="header" style="width: 7%">Diff.</th>
|
|
<th class="header" style="width: 7%">Level</th>
|
|
<th class="header" style="width: 7%">Rank</th>
|
|
<th style="width: 10%">Notation</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
{% for skill in unknown_skill %}
|
|
<tr>
|
|
<td>
|
|
<button type="button" rel="tooltip" class="btn btn-success btn-link btn-sm btn-icon planify_skill" data-gymnastid="{{ gymnast.id }}" data-skillid="{{ skill.id }}" data-link="1">
|
|
<i class="fal fa-share-all"></i>
|
|
</button>
|
|
<button type="button" rel="tooltip" class="btn btn-success btn-link btn-sm btn-icon checkUnknownSkill" data-gymnastid="{{ gymnast.id }}" data-skillid="{{ skill.id }}" data-link="1">
|
|
<i class="far fa-check"></i>
|
|
</button>
|
|
<button type="button" rel="tooltip" class="btn btn-success btn-link btn-sm btn-icon checkUnknownSkill" data-gymnastid="{{ gymnast.id }}" data-skillid="{{ skill.id }}" data-link="2">
|
|
<i class="far fa-check-double"></i>
|
|
</button>
|
|
<button type="button" rel="tooltip" class="btn btn-success btn-link btn-sm btn-icon checkUnknownSkill" data-gymnastid="{{ gymnast.id }}" data-skillid="{{ skill.id }}" data-link="3">
|
|
<i class="far fa-link"></i>
|
|
</button>
|
|
</td>
|
|
<td class="text-left"><a href="{% url 'skill_details' skill.id %}">{{ skill.long_label }}</a></td>
|
|
<td>{{ skill.difficulty }}</td>
|
|
<td>{{ skill.level }}</td>
|
|
<td>{{ skill.rank }}</td>
|
|
<td>{{ skill.notation }}</td>
|
|
</tr>
|
|
{% endfor %}
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
{% endif %}
|
|
|
|
{% else %}
|
|
<div class="tab-pane active" id="no_skill">
|
|
<p>No skill to display.</p>
|
|
</div>
|
|
{% endif %}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<script type="text/javascript">
|
|
$(function(){
|
|
$('.checkUnknownSkill').click(function(){
|
|
$.ajax({
|
|
url: '/learnedskill/new/',
|
|
data: {
|
|
gymnastid: $(this).data('gymnastid'),
|
|
skillid: $(this).data('skillid'),
|
|
cando: $(this).data('link'),
|
|
csrfmiddlewaretoken: '{{ csrf_token }}'
|
|
},
|
|
type: 'POST',
|
|
context: $(this),
|
|
success: function (response) {
|
|
// avec reload (data à jour)
|
|
// location.reload();
|
|
|
|
// sans relaod des datas (data pas totalement à jour)
|
|
$(this).closest('tr').fadeTo("slow", 0.0, function(){
|
|
$(this).remove();
|
|
});
|
|
// $(this).closest('tr').slideUp("slow");
|
|
},
|
|
error: function (jqXHR, textStatus, errorThrown) {
|
|
console.log(textStatus, errorThrown);
|
|
},
|
|
failure: function (jqXHR, textStatus, errorThrown) {
|
|
console.log(textStatus, errorThrown);
|
|
}
|
|
});
|
|
});
|
|
|
|
$('#table-by-rank, #table-by-level, #table-by-age, #table-other').tablesorter({
|
|
headers: {
|
|
0: { sorter: false }, // disable first column
|
|
5: { sorter: false },
|
|
},
|
|
// dateFormat: "uk",
|
|
sortList: [[4,0], [1,0]]
|
|
});
|
|
});
|
|
</script>
|