Add gymnast trainer management.
This commit is contained in:
parent
0f2fcda740
commit
9a127cfb87
|
@ -202,8 +202,6 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
<script src="{% static "js/plugins/perfect-scrollbar.jquery_1.4.0.min.js" %}"></script>
|
|
||||||
<!-- Plugin for Sorting Tables -->
|
<!-- Plugin for Sorting Tables -->
|
||||||
<script src="{% static "js/plugins/jquery.tablesorter_2.0.5b.js" %}"></script>
|
<script src="{% static "js/plugins/jquery.tablesorter_2.0.5b.js" %}"></script>
|
||||||
<!-- Forms Validations Plugin -->
|
<!-- Forms Validations Plugin -->
|
||||||
|
@ -250,79 +248,6 @@
|
||||||
$full_page.attr('filter-color', color);
|
$full_page.attr('filter-color', color);
|
||||||
$sidebar_responsive.attr('data', color);
|
$sidebar_responsive.attr('data', color);
|
||||||
|
|
||||||
// $('.fixed-plugin a').click(function(event) {
|
|
||||||
// if ($(this).hasClass('switch-trigger')) {
|
|
||||||
// if (event.stopPropagation) {
|
|
||||||
// event.stopPropagation();
|
|
||||||
// } else if (window.event) {
|
|
||||||
// window.event.cancelBubble = true;
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// });
|
|
||||||
|
|
||||||
// $('.fixed-plugin .background-color span').click(function() {
|
|
||||||
// $(this).siblings().removeClass('active');
|
|
||||||
// $(this).addClass('active');
|
|
||||||
|
|
||||||
// var new_color = $(this).data('color');
|
|
||||||
|
|
||||||
// if ($sidebar.length != 0)
|
|
||||||
// $sidebar.attr('data', new_color);
|
|
||||||
|
|
||||||
// if ($main_panel.length != 0)
|
|
||||||
// $main_panel.attr('data', new_color);
|
|
||||||
|
|
||||||
// if ($full_page.length != 0)
|
|
||||||
// $full_page.attr('filter-color', new_color);
|
|
||||||
|
|
||||||
// if ($sidebar_responsive.length != 0)
|
|
||||||
// $sidebar_responsive.attr('data', new_color);
|
|
||||||
// });
|
|
||||||
|
|
||||||
// $('.switch-sidebar-mini input').on("switchChange.bootstrapSwitch", function() {
|
|
||||||
// var $btn = $(this);
|
|
||||||
|
|
||||||
// if (sidebar_mini_active == true) {
|
|
||||||
// $('body').removeClass('sidebar-mini');
|
|
||||||
// sidebar_mini_active = false;
|
|
||||||
// blackDashboard.showSidebarMessage('Sidebar mini deactivated...');
|
|
||||||
// } else {
|
|
||||||
// $('body').addClass('sidebar-mini');
|
|
||||||
// sidebar_mini_active = true;
|
|
||||||
// blackDashboard.showSidebarMessage('Sidebar mini activated...');
|
|
||||||
// }
|
|
||||||
|
|
||||||
// // we simulate the window Resize so the charts will get updated in realtime.
|
|
||||||
// var simulateWindowResize = setInterval(function() {
|
|
||||||
// window.dispatchEvent(new Event('resize'));
|
|
||||||
// }, 180);
|
|
||||||
|
|
||||||
// // we stop the simulation of Window Resize after the animations are completed
|
|
||||||
// setTimeout(function() {
|
|
||||||
// clearInterval(simulateWindowResize);
|
|
||||||
// }, 1000);
|
|
||||||
// });
|
|
||||||
|
|
||||||
// $('.switch-change-color input').on("switchChange.bootstrapSwitch", function() {
|
|
||||||
// var $btn = $(this);
|
|
||||||
|
|
||||||
// if (white_color == true) {
|
|
||||||
// $('body').addClass('change-background');
|
|
||||||
// setTimeout(function() {
|
|
||||||
// $('body').removeClass('change-background');
|
|
||||||
// $('body').removeClass('white-content');
|
|
||||||
// }, 900);
|
|
||||||
// white_color = true; // false
|
|
||||||
// } else {
|
|
||||||
// $('body').addClass('change-background');
|
|
||||||
// setTimeout(function() {
|
|
||||||
// $('body').removeClass('change-background');
|
|
||||||
// $('body').addClass('white-content');
|
|
||||||
// }, 900);
|
|
||||||
// white_color = true;
|
|
||||||
// }
|
|
||||||
// });
|
|
||||||
|
|
||||||
$('.light-badge').click(function() {
|
$('.light-badge').click(function() {
|
||||||
$('body').addClass('white-content');
|
$('body').addClass('white-content');
|
||||||
});
|
});
|
||||||
|
@ -330,10 +255,6 @@
|
||||||
$('.dark-badge').click(function() {
|
$('.dark-badge').click(function() {
|
||||||
$('body').removeClass('white-content');
|
$('body').removeClass('white-content');
|
||||||
});
|
});
|
||||||
|
|
||||||
// $('#searchModal').on('shown.bs.modal', function() {
|
|
||||||
// $('#inlineFormInputGroup').trigger('focus')
|
|
||||||
// });
|
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
|
|
|
@ -883,6 +883,11 @@
|
||||||
<p>Toutes ces données permettent aux coaches de pouvoir planifier la saison et d'avoir une vision du passé de l'élève.</p>
|
<p>Toutes ces données permettent aux coaches de pouvoir planifier la saison et d'avoir une vision du passé de l'élève.</p>
|
||||||
<br />
|
<br />
|
||||||
|
|
||||||
|
<p><b>Entraîneurs</b></p>
|
||||||
|
<p>L'application demande à chaque gymnaste d'encoder beaucoup d'informations, parfois très personnelles (taille, poids, …). L'elève à donc le choix de <b>QUI</b> peut voir ses informations.</p>
|
||||||
|
<p class="text-danger">Attention : en supprimant à un entraîneur le droit d'accès à vos informations, vous supprimez également la possibilité à ces entraîneurs d'encoder des informations pour vous (vous lier à un évènement, vous laisser une note, …).</p>
|
||||||
|
<br />
|
||||||
|
|
||||||
<h4 class="mt-2 mb-0" id="gym_report_title">Rapports</h4>
|
<h4 class="mt-2 mb-0" id="gym_report_title">Rapports</h4>
|
||||||
<p>Pour l’instant la fonctionnalité est limitée : elle ne permet de générer un rapport que pour la dernière semaine et ne prend en compte que certaines données. Elle fera l’objet d’améliorations futures.</p>
|
<p>Pour l’instant la fonctionnalité est limitée : elle ne permet de générer un rapport que pour la dernière semaine et ne prend en compte que certaines données. Elle fera l’objet d’améliorations futures.</p>
|
||||||
|
|
||||||
|
|
|
@ -89,33 +89,21 @@
|
||||||
<script src="{% static "js/core/bootstrap.min.js" %}"></script>
|
<script src="{% static "js/core/bootstrap.min.js" %}"></script>
|
||||||
<script src="{% static "js/plugins/perfect-scrollbar.jquery_1.4.0.min.js" %}"></script>
|
<script src="{% static "js/plugins/perfect-scrollbar.jquery_1.4.0.min.js" %}"></script>
|
||||||
<script src="{% static "js/plugins/momentjs/moment_2.29.1.min.js" %}"></script>
|
<script src="{% static "js/plugins/momentjs/moment_2.29.1.min.js" %}"></script>
|
||||||
<!-- Plugin for Switches, full documentation here: http://www.jque.re/plugins/version3/bootstrap.switch/ -->
|
|
||||||
<script src="{% static "js/plugins/bootstrap-switch_3.3.4.js" %}"></script>
|
|
||||||
<!-- Plugin for Sweet Alert -->
|
|
||||||
<script src="{% static "js/plugins/sweetalert2.min.js" %}"></script>
|
|
||||||
<!-- Plugin for Sorting Tables -->
|
<!-- Plugin for Sorting Tables -->
|
||||||
<script src="{% static "js/plugins/jquery.tablesorter_2.0.5b.js" %}"></script>
|
<script src="{% static "js/plugins/jquery.tablesorter_2.0.5b.js" %}"></script>
|
||||||
<!-- Forms Validations Plugin -->
|
<!-- Forms Validations Plugin -->
|
||||||
<script src="{% static "js/plugins/jquery.validate_1.17.0.min.js" %}"></script>
|
<script src="{% static "js/plugins/jquery.validate_1.17.0.min.js" %}"></script>
|
||||||
<!-- Plugin for the Wizard, full documentation here: https://github.com/VinceG/twitter-bootstrap-wizard -->
|
|
||||||
<script src="{% static "js/plugins/jquery.bootstrap-wizard_1.4.2.js" %}"></script>
|
|
||||||
<!-- Plugin for Select, full documentation here: http://silviomoreto.github.io/bootstrap-select -->
|
<!-- Plugin for Select, full documentation here: http://silviomoreto.github.io/bootstrap-select -->
|
||||||
<script src="{% static "js/plugins/bootstrap-selectpicker_1.12.4.js" %}"></script>
|
<script src="{% static "js/plugins/bootstrap-selectpicker_1.12.4.js" %}"></script>
|
||||||
<!-- Plugin for the DateTimePicker, full documentation here: https://eonasdan.github.io/bootstrap-datetimepicker/ -->
|
<!-- Plugin for the DateTimePicker, full documentation here: https://eonasdan.github.io/bootstrap-datetimepicker/ -->
|
||||||
<script src="{% static "js/plugins/bootstrap-datetimepicker_4.17.47.js" %}"></script>
|
<script src="{% static "js/plugins/bootstrap-datetimepicker_4.17.47.js" %}"></script>
|
||||||
<!-- DataTables.net Plugin, full documentation here: https://datatables.net/ -->
|
<!-- DataTables.net Plugin, full documentation here: https://datatables.net/ -->
|
||||||
<script src="{% static "js/plugins/datatables/datatables_1.12.1.min.js" %}"></script>
|
<script src="{% static "js/plugins/datatables/datatables_2.0.5.js" %}"></script>
|
||||||
<!-- Plugin for Tags, full documentation here: https://github.com/bootstrap-tagsinput/bootstrap-tagsinputs -->
|
|
||||||
<script src="{% static "js/plugins/bootstrap-tagsinput_0.8.0.js" %}"></script>
|
|
||||||
<!-- Plugin for Fileupload, full documentation here: http://www.jasny.net/bootstrap/javascript/#fileinput -->
|
|
||||||
<script src="{% static "js/plugins/jasny-bootstrap_3.1.3.min.js" %}"></script>
|
|
||||||
<!-- Full Calendar Plugin, full documentation here: https://github.com/fullcalendar/fullcalendar -->
|
|
||||||
<script src="{% static "js/plugins/fullcalendar/main.js" %}"></script>
|
|
||||||
|
|
||||||
<!-- Notifications Plugin -->
|
|
||||||
<script src="{% static "js/plugins/bootstrap-notify_3.1.5.js" %}"></script>
|
|
||||||
<!-- Control Center for Black Dashboard: parallax effects, scripts for the example pages etc -->
|
<!-- Control Center for Black Dashboard: parallax effects, scripts for the example pages etc -->
|
||||||
<script src="{% static "js/black-dashboard.min.js" %}"></script>
|
<script src="{% static "js/black-dashboard.js" %}"></script>
|
||||||
|
<!-- Jquery UI for autocomplete, etc. -->
|
||||||
|
<script src="{% static "js/plugins/jqueryui/jquery-ui.min.js" %}"></script>
|
||||||
|
|
||||||
<script type="text/javascript" >
|
<script type="text/javascript" >
|
||||||
$(function(){
|
$(function(){
|
||||||
|
|
|
@ -1,5 +1,9 @@
|
||||||
from datetime import timedelta
|
from datetime import timedelta
|
||||||
|
from weasyprint import HTML, CSS
|
||||||
|
import pendulum
|
||||||
|
|
||||||
|
from django.db.models import Max
|
||||||
|
from django.conf import settings
|
||||||
from django.db.models import Q, F, OuterRef, Subquery
|
from django.db.models import Q, F, OuterRef, Subquery
|
||||||
from django.shortcuts import render
|
from django.shortcuts import render
|
||||||
from django.utils import timezone
|
from django.utils import timezone
|
||||||
|
@ -17,16 +21,11 @@ from jarvis.location.models import Place, Club
|
||||||
from jarvis.people.models import Gymnast
|
from jarvis.people.models import Gymnast
|
||||||
from jarvis.people.views import gymnast_details
|
from jarvis.people.views import gymnast_details
|
||||||
from jarvis.planning.models import Event
|
from jarvis.planning.models import Event
|
||||||
from django.db.models import Max
|
|
||||||
from django.conf import settings
|
|
||||||
from .models import Citation
|
|
||||||
from jarvis.tools.models import from_date_to_week_number
|
from jarvis.tools.models import from_date_to_week_number
|
||||||
from jarvis.tools.clean_name import clean_name
|
from jarvis.tools.clean_name import clean_name
|
||||||
|
|
||||||
from jarvis.tools.models import Season
|
from jarvis.tools.models import Season
|
||||||
|
|
||||||
from weasyprint import HTML, CSS
|
from .models import Citation
|
||||||
import pendulum
|
|
||||||
|
|
||||||
|
|
||||||
def login(request):
|
def login(request):
|
||||||
|
@ -53,7 +52,9 @@ def login(request):
|
||||||
|
|
||||||
available_gymnast = []
|
available_gymnast = []
|
||||||
gymnast_list = user.gymnasts.all()
|
gymnast_list = user.gymnasts.all()
|
||||||
|
print(gymnast_list)
|
||||||
for gymnast in gymnast_list:
|
for gymnast in gymnast_list:
|
||||||
|
print(gymnast.id)
|
||||||
available_gymnast.append(gymnast.id)
|
available_gymnast.append(gymnast.id)
|
||||||
|
|
||||||
try:
|
try:
|
||||||
|
|
|
@ -19,7 +19,7 @@ from jarvis.core.global_vars import (
|
||||||
)
|
)
|
||||||
|
|
||||||
from jarvis.tools.models import Markdownizable, Seasonisable
|
from jarvis.tools.models import Markdownizable, Seasonisable
|
||||||
from jarvis.people.models import Gymnast, GENDER_CHOICES
|
from jarvis.people.models import Gymnast
|
||||||
from jarvis.planning.models import Event
|
from jarvis.planning.models import Event
|
||||||
from jarvis.objective.models import Educative, Skill, Routine
|
from jarvis.objective.models import Educative, Skill, Routine
|
||||||
from jarvis.location.models import Club
|
from jarvis.location.models import Club
|
||||||
|
|
|
@ -18,7 +18,7 @@
|
||||||
{% if request.user|has_group:"trainer" %}
|
{% if request.user|has_group:"trainer" %}
|
||||||
{{ form.gymnast }}
|
{{ form.gymnast }}
|
||||||
{{ form.gymnast_related }}
|
{{ form.gymnast_related }}
|
||||||
{% if form.gymnast.errors %} <span class="btn btn-sm btn-danger-outline">{% for error in form.gymnast.errors %}{{ error }}{% endfor %}</span>{% endif %}
|
{% if form.gymnast.errors %} <span class="btn btn-sm">{% for error in form.gymnast.errors %}{{ error }}{% endfor %}</span>{% endif %}
|
||||||
{% else %}
|
{% else %}
|
||||||
<input type="text" class="form-control" value="{{ request.user.first_name }} {{ request.user.last_name }}" readonly="readonly" />
|
<input type="text" class="form-control" value="{{ request.user.first_name }} {{ request.user.last_name }}" readonly="readonly" />
|
||||||
<input type="hidden" name="gymnast" id="gymnast" value="{{ request.user.gymnast.id }}" />
|
<input type="hidden" name="gymnast" id="gymnast" value="{{ request.user.gymnast.id }}" />
|
||||||
|
@ -29,28 +29,28 @@
|
||||||
<label for="id_gymnast" class="col-4 col-sm-3 col-form-label">Date <span class="text-danger"><b>*</b></span></label>
|
<label for="id_gymnast" class="col-4 col-sm-3 col-form-label">Date <span class="text-danger"><b>*</b></span></label>
|
||||||
<div class="col-6 col-sm-3 col-md-4 col-lg-4 col-xl-4 {% if form.date.errors %}has-danger{% endif %}">
|
<div class="col-6 col-sm-3 col-md-4 col-lg-4 col-xl-4 {% if form.date.errors %}has-danger{% endif %}">
|
||||||
{{ form.date }}
|
{{ form.date }}
|
||||||
{% if form.date.errors %}<span class="btn btn-sm btn-danger-outline">{% for error in form.date.errors %}{{ error }}{% endfor %}</span>{% endif %}
|
{% if form.date.errors %}<span class="btn btn-sm">{% for error in form.date.errors %}{{ error }}{% endfor %}</span>{% endif %}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group row">
|
<div class="form-group row">
|
||||||
<label for="id_chrono_type" class="col-4 col-sm-3 col-form-label">Chrono Type <span class="text-danger"><b>*</b></span></label>
|
<label for="id_chrono_type" class="col-4 col-sm-3 col-form-label">Chrono Type <span class="text-danger"><b>*</b></span></label>
|
||||||
<div class="col-4 col-sm-3 col-md-4 col-lg-4 col-xl-4 {% if form.chrono_type.errors %}has-danger{% endif %}">
|
<div class="col-4 col-sm-3 col-md-4 col-lg-4 col-xl-4 {% if form.chrono_type.errors %}has-danger{% endif %}">
|
||||||
{{ form.chrono_type }}
|
{{ form.chrono_type }}
|
||||||
{% if form.chrono_type.errors %} <span class="btn btn-sm btn-danger-outline">{% for error in form.chrono_type.errors %}{{ error }}{% endfor %}</span>{% endif %}
|
{% if form.chrono_type.errors %} <span class="btn btn-sm">{% for error in form.chrono_type.errors %}{{ error }}{% endfor %}</span>{% endif %}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group row">
|
<div class="form-group row">
|
||||||
<label for="id_score_type" class="col-4 col-sm-3 col-form-label">Score Type <span class="text-danger"><b>*</b></span></label>
|
<label for="id_score_type" class="col-4 col-sm-3 col-form-label">Score Type <span class="text-danger"><b>*</b></span></label>
|
||||||
<div class="col-4 col-sm-3 col-md-4 col-lg-4 col-xl-4 {% if form.score_type.errors %}has-danger{% endif %}">
|
<div class="col-4 col-sm-3 col-md-4 col-lg-4 col-xl-4 {% if form.score_type.errors %}has-danger{% endif %}">
|
||||||
{{ form.score_type }}
|
{{ form.score_type }}
|
||||||
{% if form.score_type.errors %} <span class="btn btn-sm btn-danger-outline">{% for error in form.score_type.errors %}{{ error }}{% endfor %}</span>{% endif %}
|
{% if form.score_type.errors %} <span class="btn btn-sm">{% for error in form.score_type.errors %}{{ error }}{% endfor %}</span>{% endif %}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group row">
|
<div class="form-group row">
|
||||||
<label for="id_score" class="col-4 col-sm-3 col-form-label">Score <span class="text-danger"><b>*</b></span></label>
|
<label for="id_score" class="col-4 col-sm-3 col-form-label">Score <span class="text-danger"><b>*</b></span></label>
|
||||||
<div class="col-3 col-sm-3 col-md-4 col-lg-3 {% if form.score.errors %}has-danger{% endif %}">
|
<div class="col-3 col-sm-3 col-md-4 col-lg-3 {% if form.score.errors %}has-danger{% endif %}">
|
||||||
{{ form.score }}
|
{{ form.score }}
|
||||||
{% if form.score.errors %} <span class="btn btn-sm btn-danger-outline">{% for error in form.score.errors %}{{ error }}{% endfor %}</span>{% endif %}
|
{% if form.score.errors %} <span class="btn btn-sm">{% for error in form.score.errors %}{{ error }}{% endfor %}</span>{% endif %}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
{{ form.tof }}
|
{{ form.tof }}
|
||||||
|
|
|
@ -27,7 +27,7 @@
|
||||||
{% if request.user|has_group:"trainer" %}
|
{% if request.user|has_group:"trainer" %}
|
||||||
{{ form.gymnast }}
|
{{ form.gymnast }}
|
||||||
{{ form.gymnast_related }}
|
{{ form.gymnast_related }}
|
||||||
{% if form.gymnast.errors %} <span class="btn btn-sm btn-danger-outline">{% for error in form.gymnast.errors %}{{ error }}{% endfor %}</span>{% endif %}
|
{% if form.gymnast.errors %} <span class="btn btn-sm">{% for error in form.gymnast.errors %}{{ error }}{% endfor %}</span>{% endif %}
|
||||||
{% else %}
|
{% else %}
|
||||||
<input type="text" class="form-control" value="{{ request.user.first_name }} {{ request.user.last_name }}" readonly="readonly" />
|
<input type="text" class="form-control" value="{{ request.user.first_name }} {{ request.user.last_name }}" readonly="readonly" />
|
||||||
<input type="hidden" name="gymnast" id="gymnast" value="{{ request.user.gymnast.id }}" />
|
<input type="hidden" name="gymnast" id="gymnast" value="{{ request.user.gymnast.id }}" />
|
||||||
|
@ -40,7 +40,7 @@
|
||||||
class="text-danger"><b>*</b></span></label>
|
class="text-danger"><b>*</b></span></label>
|
||||||
<div class="col-6 col-sm-3 col-md-4 col-lg-4 col-xl-3 {% if form.date.errors %}has-danger{% endif %}">
|
<div class="col-6 col-sm-3 col-md-4 col-lg-4 col-xl-3 {% if form.date.errors %}has-danger{% endif %}">
|
||||||
{{ form.date }}
|
{{ form.date }}
|
||||||
{% if form.date.errors %}<span class="btn btn-sm btn-danger-outline">{% for error in form.date.errors %}{{ error }}{% endfor %}</span>{% endif %}
|
{% if form.date.errors %}<span class="btn btn-sm">{% for error in form.date.errors %}{{ error }}{% endfor %}</span>{% endif %}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
@ -49,7 +49,7 @@
|
||||||
class="text-danger"><b>*</b></span></label>
|
class="text-danger"><b>*</b></span></label>
|
||||||
<div class="col-4 col-sm-3 col-md-3 col-lg-3 {% if form.height.errors %}has-danger{% endif %}">
|
<div class="col-4 col-sm-3 col-md-3 col-lg-3 {% if form.height.errors %}has-danger{% endif %}">
|
||||||
{{ form.height }}
|
{{ form.height }}
|
||||||
{% if form.height.errors %} <span class="btn btn-sm btn-danger-outline">{% for error in form.height.errors %}{{ error }}{% endfor %}</span>{% endif %}
|
{% if form.height.errors %} <span class="btn btn-sm">{% for error in form.height.errors %}{{ error }}{% endfor %}</span>{% endif %}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group row ">
|
<div class="form-group row ">
|
||||||
|
@ -57,7 +57,7 @@
|
||||||
<div
|
<div
|
||||||
class="col-4 col-sm-3 col-md-3 col-lg-3 {% if form.hips_height.errors %}has-danger{% endif %}">
|
class="col-4 col-sm-3 col-md-3 col-lg-3 {% if form.hips_height.errors %}has-danger{% endif %}">
|
||||||
{{ form.hips_height }}
|
{{ form.hips_height }}
|
||||||
{% if form.hips_height.errors %} <span class="btn btn-sm btn-danger-outline">{% for error in form.hips_height.errors %}{{ error }}{% endfor %}</span>{% endif %}
|
{% if form.hips_height.errors %} <span class="btn btn-sm">{% for error in form.hips_height.errors %}{{ error }}{% endfor %}</span>{% endif %}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group row ">
|
<div class="form-group row ">
|
||||||
|
@ -65,7 +65,7 @@
|
||||||
class="text-danger"><b>*</b></span></label>
|
class="text-danger"><b>*</b></span></label>
|
||||||
<div class="col-4 col-sm-3 col-md-3 col-lg-3 {% if form.weight.errors %}has-danger{% endif %}">
|
<div class="col-4 col-sm-3 col-md-3 col-lg-3 {% if form.weight.errors %}has-danger{% endif %}">
|
||||||
{{ form.weight }}
|
{{ form.weight }}
|
||||||
{% if form.weight.errors %} <span class="btn btn-sm btn-danger-outline">{% for error in form.weight.errors %}{{ error }}{% endfor %}</span>{% endif %}
|
{% if form.weight.errors %} <span class="btn btn-sm">{% for error in form.weight.errors %}{{ error }}{% endfor %}</span>{% endif %}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group text-center">
|
<div class="form-group text-center">
|
||||||
|
|
|
@ -18,7 +18,7 @@
|
||||||
{% if request.user|has_group:"trainer" %}
|
{% if request.user|has_group:"trainer" %}
|
||||||
{{ form.gymnast }}
|
{{ form.gymnast }}
|
||||||
{{ form.gymnast_related }}
|
{{ form.gymnast_related }}
|
||||||
{% if form.gymnast.errors %} <span class="btn btn-sm btn-danger-outline">{% for error in form.gymnast.errors %}{{ error }}{% endfor %}</span>{% endif %}
|
{% if form.gymnast.errors %} <span class="btn btn-sm">{% for error in form.gymnast.errors %}{{ error }}{% endfor %}</span>{% endif %}
|
||||||
{% else %}
|
{% else %}
|
||||||
<input type="text" class="form-control" value="{{ request.user.first_name }} {{ request.user.last_name }}" readonly="readonly" />
|
<input type="text" class="form-control" value="{{ request.user.first_name }} {{ request.user.last_name }}" readonly="readonly" />
|
||||||
<input type="hidden" name="gymnast" id="gymnast" value="{{ request.user.gymnast.id }}" />
|
<input type="hidden" name="gymnast" id="gymnast" value="{{ request.user.gymnast.id }}" />
|
||||||
|
@ -29,7 +29,7 @@
|
||||||
<label for="id_date" class="col-4 col-sm-3 col-form-label">{{ form.date.label }} <span class="text-danger"><b>*</b></span></label>
|
<label for="id_date" class="col-4 col-sm-3 col-form-label">{{ form.date.label }} <span class="text-danger"><b>*</b></span></label>
|
||||||
<div class="col-4 col-sm-3 col-md-4 col-lg-4 col-xl-4 {% if form.date.errors %}has-danger{% endif %}">
|
<div class="col-4 col-sm-3 col-md-4 col-lg-4 col-xl-4 {% if form.date.errors %}has-danger{% endif %}">
|
||||||
{{ form.date }}
|
{{ form.date }}
|
||||||
{% if form.date.errors %}<span class="btn btn-sm btn-danger-outline">{% for error in form.date.errors %}{{ error }}{% endfor %}</span>{% endif %}
|
{% if form.date.errors %}<span class="btn btn-sm">{% for error in form.date.errors %}{{ error }}{% endfor %}</span>{% endif %}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group row ">
|
<div class="form-group row ">
|
||||||
|
@ -37,42 +37,42 @@
|
||||||
<div class="col-8 col-sm-8 col-md-6 col-lg-6 col-xl-6 {% if form.skill.errors %}has-danger{% endif %}">
|
<div class="col-8 col-sm-8 col-md-6 col-lg-6 col-xl-6 {% if form.skill.errors %}has-danger{% endif %}">
|
||||||
{{ form.skill }}
|
{{ form.skill }}
|
||||||
{{ form.skill_related }}
|
{{ form.skill_related }}
|
||||||
{% if form.skill.errors %} <span class="btn btn-sm btn-danger-outline">{% for error in form.skill.errors %}{{ error }}{% endfor %}</span>{% endif %}
|
{% if form.skill.errors %} <span class="btn btn-sm">{% for error in form.skill.errors %}{{ error }}{% endfor %}</span>{% endif %}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group row ">
|
<div class="form-group row ">
|
||||||
<label for="id_mechanism" class="col-4 col-sm-3 col-form-label">{{ form.mechanism.label }} <span class="text-danger"><b>*</b></span></label>
|
<label for="id_mechanism" class="col-4 col-sm-3 col-form-label">{{ form.mechanism.label }} <span class="text-danger"><b>*</b></span></label>
|
||||||
<div class="col-4 col-sm-3 col-md-4 col-lg-4 col-xl-4 {% if form.mechanism.errors %}has-danger{% endif %}">
|
<div class="col-4 col-sm-3 col-md-4 col-lg-4 col-xl-4 {% if form.mechanism.errors %}has-danger{% endif %}">
|
||||||
{{ form.mechanism }}
|
{{ form.mechanism }}
|
||||||
{% if form.mechanism.errors %} <span class="btn btn-sm btn-danger-outline">{% for error in form.mechanism.errors %}{{ error }}{% endfor %}</span>{% endif %}
|
{% if form.mechanism.errors %} <span class="btn btn-sm">{% for error in form.mechanism.errors %}{{ error }}{% endfor %}</span>{% endif %}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group row ">
|
<div class="form-group row ">
|
||||||
<label for="id_injury_type" class="col-4 col-sm-3 col-form-label">{{ form.injury_type.label }}<span class="text-danger"><b>*</b></span></label>
|
<label for="id_injury_type" class="col-4 col-sm-3 col-form-label">{{ form.injury_type.label }}<span class="text-danger"><b>*</b></span></label>
|
||||||
<div class="col-8 col-sm-6 col-md-8 col-lg-6 col-xl-8 {% if form.injury_type.errors %}has-danger{% endif %}">
|
<div class="col-8 col-sm-6 col-md-8 col-lg-6 col-xl-8 {% if form.injury_type.errors %}has-danger{% endif %}">
|
||||||
{{ form.injury_type }}
|
{{ form.injury_type }}
|
||||||
{% if form.injury_type.errors %} <span class="btn btn-sm btn-danger-outline">{% for error in form.injury_type.errors %}{{ error }}{% endfor %}</span>{% endif %}
|
{% if form.injury_type.errors %} <span class="btn btn-sm">{% for error in form.injury_type.errors %}{{ error }}{% endfor %}</span>{% endif %}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group row ">
|
<div class="form-group row ">
|
||||||
<label for="id_location" class="col-4 col-sm-3 col-form-label">{{ form.location.label }}<span class="text-danger"><b>*</b></span></label>
|
<label for="id_location" class="col-4 col-sm-3 col-form-label">{{ form.location.label }}<span class="text-danger"><b>*</b></span></label>
|
||||||
<div class="col-8 col-sm-5 col-md-6 col-lg-6 col-xl-6 {% if form.location.errors %}has-danger{% endif %}">
|
<div class="col-8 col-sm-5 col-md-6 col-lg-6 col-xl-6 {% if form.location.errors %}has-danger{% endif %}">
|
||||||
{{ form.location }}
|
{{ form.location }}
|
||||||
{% if form.location.errors %} <span class="btn btn-sm btn-danger-outline">{% for error in form.location.errors %}{{ error }}{% endfor %}</span>{% endif %}
|
{% if form.location.errors %} <span class="btn btn-sm">{% for error in form.location.errors %}{{ error }}{% endfor %}</span>{% endif %}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group row ">
|
<div class="form-group row ">
|
||||||
<label for="id_body_side" class="col-4 col-sm-3 col-form-label">{{ form.body_side.label }}<span class="text-danger"><b>*</b></span></label>
|
<label for="id_body_side" class="col-4 col-sm-3 col-form-label">{{ form.body_side.label }}<span class="text-danger"><b>*</b></span></label>
|
||||||
<div class="col-5 col-sm-3 col-md-4 col-lg-4 col-xl-4 {% if form.body_side.errors %}has-danger{% endif %}">
|
<div class="col-5 col-sm-3 col-md-4 col-lg-4 col-xl-4 {% if form.body_side.errors %}has-danger{% endif %}">
|
||||||
{{ form.body_side }}
|
{{ form.body_side }}
|
||||||
{% if form.body_side.errors %} <span class="btn btn-sm btn-danger-outline">{% for error in form.body_side.errors %}{{ error }}{% endfor %}</span>{% endif %}
|
{% if form.body_side.errors %} <span class="btn btn-sm">{% for error in form.body_side.errors %}{{ error }}{% endfor %}</span>{% endif %}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group row ">
|
<div class="form-group row ">
|
||||||
<label for="id_nb_week_off" class="col-4 col-sm-3 col-form-label"># Week off</label>
|
<label for="id_nb_week_off" class="col-4 col-sm-3 col-form-label"># Week off</label>
|
||||||
<div class="col-3 col-sm-2 col-md-4 col-lg-2 col-xl-3 {% if form.nb_week_off.errors %}has-danger{% endif %}">
|
<div class="col-3 col-sm-2 col-md-4 col-lg-2 col-xl-3 {% if form.nb_week_off.errors %}has-danger{% endif %}">
|
||||||
{{ form.nb_week_off }}
|
{{ form.nb_week_off }}
|
||||||
{% if form.nb_week_off.errors %} <span class="btn btn-sm btn-danger-outline">{% for error in form.nb_week_off.errors %}{{ error }}{% endfor %}</span>{% endif %}
|
{% if form.nb_week_off.errors %} <span class="btn btn-sm">{% for error in form.nb_week_off.errors %}{{ error }}{% endfor %}</span>{% endif %}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group row ">
|
<div class="form-group row ">
|
||||||
|
|
|
@ -39,8 +39,8 @@
|
||||||
{% endif %}
|
{% endif %}
|
||||||
<th class="header text-left" style="width: 9%">Mechanism</th>
|
<th class="header text-left" style="width: 9%">Mechanism</th>
|
||||||
<th class="header text-left" style="width: 20%">Location</th>
|
<th class="header text-left" style="width: 20%">Location</th>
|
||||||
<th class="header text-left" style="width: 8%">Side</th>
|
<th class="header text-left" style="width: 16%">Side</th>
|
||||||
<th style="width: 20%">Skill</th>
|
<th style="width: 12%">Skill</th>
|
||||||
<th style="width: 8%"># Week off</th>
|
<th style="width: 8%"># Week off</th>
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
|
@ -69,7 +69,7 @@
|
||||||
<td class="text-left">{{ injury.get_body_side_display }}</td>
|
<td class="text-left">{{ injury.get_body_side_display }}</td>
|
||||||
<td class="text-left">
|
<td class="text-left">
|
||||||
{% if injury.skill %}
|
{% if injury.skill %}
|
||||||
<a href="{% url 'skill_details' injury.skill.id %}">{{ injury.skill }}</a>
|
<a href="{% url 'skill_details' injury.skill.id %}">{{ injury.skill.notation }}</a>
|
||||||
{% else %}
|
{% else %}
|
||||||
-
|
-
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
|
@ -19,14 +19,14 @@
|
||||||
<div class="col-8 col-sm-9 col-md-9 col-lg-9 col-lg-8 col-xl-8 {% if form.gymnast.errors %}has-danger{% endif %}">
|
<div class="col-8 col-sm-9 col-md-9 col-lg-9 col-lg-8 col-xl-8 {% if form.gymnast.errors %}has-danger{% endif %}">
|
||||||
{{ form.gymnast }}
|
{{ form.gymnast }}
|
||||||
{{ form.gymnast_related }}
|
{{ form.gymnast_related }}
|
||||||
{% if form.gymnast.errors %} <span class="btn btn-sm btn-danger-outline">{% for error in form.gymnast.errors %}{{ error }}{% endfor %}</span>{% endif %}
|
{% if form.gymnast.errors %} <span class="btn btn-sm">{% for error in form.gymnast.errors %}{{ error }}{% endfor %}</span>{% endif %}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group row ">
|
<div class="form-group row ">
|
||||||
<label for="id_date" class="col-4 col-sm-2 col-md-3 col-lg-3 col-xl-2 col-form-label pr-0">Date <span class="text-danger"><b>*</b></span></label>
|
<label for="id_date" class="col-4 col-sm-2 col-md-3 col-lg-3 col-xl-2 col-form-label pr-0">Date <span class="text-danger"><b>*</b></span></label>
|
||||||
<div class="col-5 col-sm-3 col-md-4 col-lg-4 col-xl-3 {% if form.date.errors %}has-danger{% endif %}">
|
<div class="col-5 col-sm-3 col-md-4 col-lg-4 col-xl-3 {% if form.date.errors %}has-danger{% endif %}">
|
||||||
{{ form.date }}
|
{{ form.date }}
|
||||||
{% if form.date.errors %}<span class="btn btn-sm btn-danger-outline">{% for error in form.date.errors %}{{ error }}{% endfor %}</span>{% endif %}
|
{% if form.date.errors %}<span class="btn btn-sm">{% for error in form.date.errors %}{{ error }}{% endfor %}</span>{% endif %}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
@ -34,12 +34,12 @@
|
||||||
<label for="id_time" class="col-4 col-sm-2 col-md-3 col-lg-3 col-xl-2 col-form-label pr-0">Time <span class="text-danger"><b>*</b></span></label>
|
<label for="id_time" class="col-4 col-sm-2 col-md-3 col-lg-3 col-xl-2 col-form-label pr-0">Time <span class="text-danger"><b>*</b></span></label>
|
||||||
<div class="col-5 col-sm-2 col-md-3 col-lg-3 {% if form.time.errors %}has-danger{% endif %}">
|
<div class="col-5 col-sm-2 col-md-3 col-lg-3 {% if form.time.errors %}has-danger{% endif %}">
|
||||||
{{ form.time }}
|
{{ form.time }}
|
||||||
{% if form.time.errors %} <span class="btn btn-sm btn-danger-outline">{% for error in form.time.errors %}{{ error }}{% endfor %}</span>{% endif %}
|
{% if form.time.errors %} <span class="btn btn-sm">{% for error in form.time.errors %}{{ error }}{% endfor %}</span>{% endif %}
|
||||||
</div>
|
</div>
|
||||||
<label for="id_theorical_time" class="col-4 col-sm-3 col-md-3 col-lg-3 col-xl-3 col-form-label pl-0 pr-0">Theorical time <span class="text-danger"><b>*</b></span></label>
|
<label for="id_theorical_time" class="col-4 col-sm-3 col-md-3 col-lg-3 col-xl-3 col-form-label pl-0 pr-0">Theorical time <span class="text-danger"><b>*</b></span></label>
|
||||||
<div class="col-5 col-sm-2 col-md-3 col-lg-3 {% if form.theorical_time.errors %}has-danger{% endif %}">
|
<div class="col-5 col-sm-2 col-md-3 col-lg-3 {% if form.theorical_time.errors %}has-danger{% endif %}">
|
||||||
{{ form.theorical_time }}
|
{{ form.theorical_time }}
|
||||||
{% if form.theorical_time.errors %} <span class="btn btn-sm btn-danger-outline">{% for error in form.theorical_time.errors %}{{ error }}{% endfor %}</span>{% endif %}
|
{% if form.theorical_time.errors %} <span class="btn btn-sm">{% for error in form.theorical_time.errors %}{{ error }}{% endfor %}</span>{% endif %}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
@ -47,12 +47,12 @@
|
||||||
<label for="id_difficulty" class="col-4 col-sm-2 col-md-3 col-lg-3 col-xl-2 col-form-label pr-0">Difficulty <span class="text-danger"><b>*</b></span></label>
|
<label for="id_difficulty" class="col-4 col-sm-2 col-md-3 col-lg-3 col-xl-2 col-form-label pr-0">Difficulty <span class="text-danger"><b>*</b></span></label>
|
||||||
<div class="col-5 col-sm-2 col-md-3 col-lg-3 {% if form.difficulty.errors %}has-danger{% endif %}">
|
<div class="col-5 col-sm-2 col-md-3 col-lg-3 {% if form.difficulty.errors %}has-danger{% endif %}">
|
||||||
{{ form.difficulty }}
|
{{ form.difficulty }}
|
||||||
{% if form.difficulty.errors %} <span class="btn btn-sm btn-danger-outline">{% for error in form.difficulty.errors %}{{ error }}{% endfor %}</span>{% endif %}
|
{% if form.difficulty.errors %} <span class="btn btn-sm">{% for error in form.difficulty.errors %}{{ error }}{% endfor %}</span>{% endif %}
|
||||||
</div>
|
</div>
|
||||||
<label for="id_difficulty_asked" class="col-4 col-sm-3 col-md-3 col-lg-3 col-xl-3 col-form-label pl-0 pr-0">Difficulty asked <span class="text-danger"><b>*</b></span></label>
|
<label for="id_difficulty_asked" class="col-4 col-sm-3 col-md-3 col-lg-3 col-xl-3 col-form-label pl-0 pr-0">Difficulty asked <span class="text-danger"><b>*</b></span></label>
|
||||||
<div class="col-5 col-sm-2 col-md-3 col-lg-3 {% if form.difficulty_asked.errors %}has-danger{% endif %}">
|
<div class="col-5 col-sm-2 col-md-3 col-lg-3 {% if form.difficulty_asked.errors %}has-danger{% endif %}">
|
||||||
{{ form.difficulty_asked }}
|
{{ form.difficulty_asked }}
|
||||||
{% if form.difficulty_asked.errors %} <span class="btn btn-sm btn-danger-outline">{% for error in form.difficulty_asked.errors %}{{ error }}{% endfor %}</span>{% endif %}
|
{% if form.difficulty_asked.errors %} <span class="btn btn-sm">{% for error in form.difficulty_asked.errors %}{{ error }}{% endfor %}</span>{% endif %}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
@ -60,13 +60,13 @@
|
||||||
<label for="id_quantity_of_skill" class="col-4 col-sm-2 col-md-3 col-lg-3 col-xl-2 col-form-label pr-0"># skill <span class="text-danger"><b>*</b></span></label>
|
<label for="id_quantity_of_skill" class="col-4 col-sm-2 col-md-3 col-lg-3 col-xl-2 col-form-label pr-0"># skill <span class="text-danger"><b>*</b></span></label>
|
||||||
<div class="col-5 col-sm-2 col-md-3 col-lg-3 {% if form.quantity_of_skill.errors %}has-danger{% endif %}">
|
<div class="col-5 col-sm-2 col-md-3 col-lg-3 {% if form.quantity_of_skill.errors %}has-danger{% endif %}">
|
||||||
{{ form.quantity_of_skill }}
|
{{ form.quantity_of_skill }}
|
||||||
{% if form.quantity_of_skill.errors %} <span class="btn btn-sm btn-danger-outline">{% for error in form.quantity_of_skill.errors %}{{ error }}{% endfor %}</span>{% endif %}
|
{% if form.quantity_of_skill.errors %} <span class="btn btn-sm">{% for error in form.quantity_of_skill.errors %}{{ error }}{% endfor %}</span>{% endif %}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<label for="id_quantity_of_skill_asked" class="col-4 col-sm-3 col-md-3 col-lg-3 col-xl-3 col-form-label pl-0 pr-0"># skill asked <span class="text-danger"><b>*</b></span></label>
|
<label for="id_quantity_of_skill_asked" class="col-4 col-sm-3 col-md-3 col-lg-3 col-xl-3 col-form-label pl-0 pr-0"># skill asked <span class="text-danger"><b>*</b></span></label>
|
||||||
<div class="col-5 col-sm-2 col-md-3 col-lg-3 {% if form.quantity_of_skill_asked.errors %}has-danger{% endif %}">
|
<div class="col-5 col-sm-2 col-md-3 col-lg-3 {% if form.quantity_of_skill_asked.errors %}has-danger{% endif %}">
|
||||||
{{ form.quantity_of_skill_asked }}
|
{{ form.quantity_of_skill_asked }}
|
||||||
{% if form.quantity_of_skill_asked.errors %} <span class="btn btn-sm btn-danger-outline">{% for error in form.quantity_of_skill_asked.errors %}{{ error }}{% endfor %}</span>{% endif %}
|
{% if form.quantity_of_skill_asked.errors %} <span class="btn btn-sm">{% for error in form.quantity_of_skill_asked.errors %}{{ error }}{% endfor %}</span>{% endif %}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
@ -74,13 +74,13 @@
|
||||||
<label for="id_number_of_passes" class="col-4 col-sm-2 col-md-3 col-lg-3 col-xl-2 col-form-label pr-0"># passes <span class="text-danger"><b>*</b></span></label>
|
<label for="id_number_of_passes" class="col-4 col-sm-2 col-md-3 col-lg-3 col-xl-2 col-form-label pr-0"># passes <span class="text-danger"><b>*</b></span></label>
|
||||||
<div class="col-5 col-sm-2 col-md-3 col-lg-3 {% if form.number_of_passes.errors %}has-danger{% endif %}">
|
<div class="col-5 col-sm-2 col-md-3 col-lg-3 {% if form.number_of_passes.errors %}has-danger{% endif %}">
|
||||||
{{ form.number_of_passes }}
|
{{ form.number_of_passes }}
|
||||||
{% if form.number_of_passes.errors %} <span class="btn btn-sm btn-danger-outline">{% for error in form.number_of_passes.errors %}{{ error }}{% endfor %}</span>{% endif %}
|
{% if form.number_of_passes.errors %} <span class="btn btn-sm">{% for error in form.number_of_passes.errors %}{{ error }}{% endfor %}</span>{% endif %}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<label for="id_number_of_passes_asked" class="col-4 col-sm-3 col-md-3 col-lg-3 col-xl-3 col-form-label pl-0 pr-0"># passes asked <span class="text-danger"><b>*</b></span></label>
|
<label for="id_number_of_passes_asked" class="col-4 col-sm-3 col-md-3 col-lg-3 col-xl-3 col-form-label pl-0 pr-0"># passes asked <span class="text-danger"><b>*</b></span></label>
|
||||||
<div class="col-5 col-sm-2 col-md-3 col-lg-3 {% if form.number_of_passes_asked.errors %}has-danger{% endif %}">
|
<div class="col-5 col-sm-2 col-md-3 col-lg-3 {% if form.number_of_passes_asked.errors %}has-danger{% endif %}">
|
||||||
{{ form.number_of_passes_asked }}
|
{{ form.number_of_passes_asked }}
|
||||||
{% if form.number_of_passes_asked.errors %} <span class="btn btn-sm btn-danger-outline">{% for error in form.number_of_passes_asked.errors %}{{ error }}{% endfor %}</span>{% endif %}
|
{% if form.number_of_passes_asked.errors %} <span class="btn btn-sm">{% for error in form.number_of_passes_asked.errors %}{{ error }}{% endfor %}</span>{% endif %}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
@ -88,7 +88,7 @@
|
||||||
<label for="id_number_of_gymnast" class="col-4 col-sm-2 col-md-3 col-lg-3 col-xl-2 col-form-label pr-0"># gymnast <span class="text-danger"><b>*</b></span></label>
|
<label for="id_number_of_gymnast" class="col-4 col-sm-2 col-md-3 col-lg-3 col-xl-2 col-form-label pr-0"># gymnast <span class="text-danger"><b>*</b></span></label>
|
||||||
<div class="col-5 col-sm-2 col-md-3 col-lg-3 {% if form.number_of_gymnast.errors %}has-danger{% endif %}">
|
<div class="col-5 col-sm-2 col-md-3 col-lg-3 {% if form.number_of_gymnast.errors %}has-danger{% endif %}">
|
||||||
{{ form.number_of_gymnast }}
|
{{ form.number_of_gymnast }}
|
||||||
{% if form.number_of_gymnast.errors %} <span class="btn btn-sm btn-danger-outline">{% for error in form.number_of_gymnast.errors %}{{ error }}{% endfor %}</span>{% endif %}
|
{% if form.number_of_gymnast.errors %} <span class="btn btn-sm">{% for error in form.number_of_gymnast.errors %}{{ error }}{% endfor %}</span>{% endif %}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
|
@ -16,7 +16,7 @@
|
||||||
<label for="id_date" class="col-4 col-sm-3 col-form-label">Date</label>
|
<label for="id_date" class="col-4 col-sm-3 col-form-label">Date</label>
|
||||||
<div class="col-sm-6 col-md-5 col-lg-4 col-xl-3 {% if form.date.errors %}has-danger{% endif %}">
|
<div class="col-sm-6 col-md-5 col-lg-4 col-xl-3 {% if form.date.errors %}has-danger{% endif %}">
|
||||||
{{ form.date }}
|
{{ form.date }}
|
||||||
{% if form.date.errors %}<span class="btn btn-sm btn-danger-outline">{% for error in form.date.errors %}{{ error }}{% endfor %}</span>{% endif %}
|
{% if form.date.errors %}<span class="btn btn-sm">{% for error in form.date.errors %}{{ error }}{% endfor %}</span>{% endif %}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group row ">
|
<div class="form-group row ">
|
||||||
|
@ -25,7 +25,7 @@
|
||||||
{% if request.user|has_group:"trainer" %}
|
{% if request.user|has_group:"trainer" %}
|
||||||
{{ form.gymnast }}
|
{{ form.gymnast }}
|
||||||
{{ form.gymnast_related }}
|
{{ form.gymnast_related }}
|
||||||
{% if form.gymnast.errors %} <span class="btn btn-sm btn-danger-outline">{% for error in form.gymnast.errors %}{{ error }}{% endfor %}</span>{% endif %}
|
{% if form.gymnast.errors %} <span class="btn btn-sm">{% for error in form.gymnast.errors %}{{ error }}{% endfor %}</span>{% endif %}
|
||||||
{% else %}
|
{% else %}
|
||||||
<input type="text" class="form-control" value="{{ request.user.first_name }} {{ request.user.last_name }}" readonly="readonly" />
|
<input type="text" class="form-control" value="{{ request.user.first_name }} {{ request.user.last_name }}" readonly="readonly" />
|
||||||
<input type="hidden" name="gymnast" id="gymnast" value="{{ request.user.gymnast.id }}" />
|
<input type="hidden" name="gymnast" id="gymnast" value="{{ request.user.gymnast.id }}" />
|
||||||
|
@ -38,14 +38,14 @@
|
||||||
<div class="col-8 col-md-9 col-lg-6 {% if form.skill.errors %}has-danger{% endif %}">
|
<div class="col-8 col-md-9 col-lg-6 {% if form.skill.errors %}has-danger{% endif %}">
|
||||||
{{ form.skill }}
|
{{ form.skill }}
|
||||||
{{ form.skill_related }}
|
{{ form.skill_related }}
|
||||||
{% if form.skill.errors %} <skilln class="btn btn-sm btn-danger-outline">{% for error in form.skill.errors %}{{ error }}{% endfor %}</span>{% endif %}
|
{% if form.skill.errors %} <skilln class="btn btn-sm">{% for error in form.skill.errors %}{{ error }}{% endfor %}</span>{% endif %}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group row ">
|
<div class="form-group row ">
|
||||||
<label for="id_learning_step" class="col-4 col-sm-3 col-form-label">Learning step</label>
|
<label for="id_learning_step" class="col-4 col-sm-3 col-form-label">Learning step</label>
|
||||||
<div class="col-8 col-sm-4 col-md-3 {% if form.learning_step.errors %}has-danger{% endif %}">
|
<div class="col-8 col-sm-4 col-md-3 {% if form.learning_step.errors %}has-danger{% endif %}">
|
||||||
{{ form.learning_step }}
|
{{ form.learning_step }}
|
||||||
{% if form.learning_step.errors %} <span class="btn btn-sm btn-danger-outline">{% for error in form.learning_step.errors %}{{ error }}{% endfor %}</span>{% endif %}
|
{% if form.learning_step.errors %} <span class="btn btn-sm">{% for error in form.learning_step.errors %}{{ error }}{% endfor %}</span>{% endif %}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
{% if plan_id %}
|
{% if plan_id %}
|
||||||
|
@ -53,7 +53,7 @@
|
||||||
<label for="id_is_done" class="col-4 col-sm-2 col-md-3 col-lg-3 col-xl-3 col-form-label">Is Done</label>
|
<label for="id_is_done" class="col-4 col-sm-2 col-md-3 col-lg-3 col-xl-3 col-form-label">Is Done</label>
|
||||||
<div class="col-8 col-sm-2 col-md-2 col-lg-2 col-xl-2">
|
<div class="col-8 col-sm-2 col-md-2 col-lg-2 col-xl-2">
|
||||||
{{ form.is_done }}
|
{{ form.is_done }}
|
||||||
{% if form.is_done.errors %} <span class="btn btn-sm btn-danger-outline">{% for error in form.is_done.errors %}{{ error }}{% endfor %}</span>{% endif %}
|
{% if form.is_done.errors %} <span class="btn btn-sm">{% for error in form.is_done.errors %}{{ error }}{% endfor %}</span>{% endif %}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
|
@ -22,7 +22,7 @@
|
||||||
class="col-8 col-md-9 col-lg-6 col-lg-4 col-xl-4 {% if form.gymnast.errors %}has-danger{% endif %}">
|
class="col-8 col-md-9 col-lg-6 col-lg-4 col-xl-4 {% if form.gymnast.errors %}has-danger{% endif %}">
|
||||||
{{ form.gymnast }}
|
{{ form.gymnast }}
|
||||||
{{ form.gymnast_related }}
|
{{ form.gymnast_related }}
|
||||||
{% if form.gymnast.errors %} <span class="btn btn-sm btn-danger-outline">{% for error in form.gymnast.errors %}{{ error }}{% endfor %}</span>{% endif %}
|
{% if form.gymnast.errors %} <span class="btn btn-sm">{% for error in form.gymnast.errors %}{{ error }}{% endfor %}</span>{% endif %}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group row {% if form.title.errors %}has-error has-feedback{% endif %}">
|
<div class="form-group row {% if form.title.errors %}has-error has-feedback{% endif %}">
|
||||||
|
@ -30,7 +30,7 @@
|
||||||
class="text-danger"><b>*</b></label>
|
class="text-danger"><b>*</b></label>
|
||||||
<div class="col-8 col-md-9 col-lg-6 col-lg-4 col-xl-4">
|
<div class="col-8 col-md-9 col-lg-6 col-lg-4 col-xl-4">
|
||||||
{{ form.title }}
|
{{ form.title }}
|
||||||
{% if form.title.errors %} <span class="btn btn-sm btn-danger-outline">{% for error in form.title.errors %}{{ error }}{% endfor %}</span>{% endif %}
|
{% if form.title.errors %} <span class="btn btn-sm">{% for error in form.title.errors %}{{ error }}{% endfor %}</span>{% endif %}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group row ">
|
<div class="form-group row ">
|
||||||
|
@ -39,7 +39,7 @@
|
||||||
<div
|
<div
|
||||||
class="col-8 col-sm-6 col-md-4 col-lg-4 col-xl-3 {% if form.date.errors %}has-danger{% endif %}">
|
class="col-8 col-sm-6 col-md-4 col-lg-4 col-xl-3 {% if form.date.errors %}has-danger{% endif %}">
|
||||||
{{ form.date }}
|
{{ form.date }}
|
||||||
{% if form.date.errors %}<span class="btn btn-sm btn-danger-outline">{% for error in form.date.errors %}{{ error }}{% endfor %}</span>{% endif %}
|
{% if form.date.errors %}<span class="btn btn-sm">{% for error in form.date.errors %}{{ error }}{% endfor %}</span>{% endif %}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group row ">
|
<div class="form-group row ">
|
||||||
|
@ -57,7 +57,7 @@
|
||||||
<div
|
<div
|
||||||
class="col-8 col-sm-5 col-md-4 col-lg-4 col-xl-4 {% if form.status.errors %}has-danger{% endif %}">
|
class="col-8 col-sm-5 col-md-4 col-lg-4 col-xl-4 {% if form.status.errors %}has-danger{% endif %}">
|
||||||
{{ form.status }}
|
{{ form.status }}
|
||||||
{% if form.status.errors %} <span class="btn btn-sm btn-danger-outline">{% for error in form.status.errors %}{{ error }}{% endfor %}</span>{% endif %}
|
{% if form.status.errors %} <span class="btn btn-sm">{% for error in form.status.errors %}{{ error }}{% endfor %}</span>{% endif %}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group text-center">
|
<div class="form-group text-center">
|
||||||
|
|
|
@ -16,7 +16,7 @@
|
||||||
<label for="id_date" class="col-4 col-sm-3 col-form-label">Date <span class="text-danger"><b>*</b></span></label>
|
<label for="id_date" class="col-4 col-sm-3 col-form-label">Date <span class="text-danger"><b>*</b></span></label>
|
||||||
<div class="col-sm-6 col-md-5 col-lg-4 col-xl-2 {% if form.date.errors %}has-danger{% endif %}">
|
<div class="col-sm-6 col-md-5 col-lg-4 col-xl-2 {% if form.date.errors %}has-danger{% endif %}">
|
||||||
{{ form.date }}
|
{{ form.date }}
|
||||||
{% if form.date.errors %}<span class="btn btn-sm btn-danger-outline">{% for error in form.date.errors %}{{ error }}{% endfor %}</span>{% endif %}
|
{% if form.date.errors %}<span class="btn btn-sm">{% for error in form.date.errors %}{{ error }}{% endfor %}</span>{% endif %}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group row ">
|
<div class="form-group row ">
|
||||||
|
@ -25,7 +25,7 @@
|
||||||
{% if request.user|has_group:"trainer" %}
|
{% if request.user|has_group:"trainer" %}
|
||||||
{{ form.gymnast }}
|
{{ form.gymnast }}
|
||||||
{{ form.gymnast_related }}
|
{{ form.gymnast_related }}
|
||||||
{% if form.gymnast.errors %} <span class="btn btn-sm btn-danger-outline">{% for error in form.gymnast.errors %}{{ error }}{% endfor %}</span>{% endif %}
|
{% if form.gymnast.errors %} <span class="btn btn-sm">{% for error in form.gymnast.errors %}{{ error }}{% endfor %}</span>{% endif %}
|
||||||
{% else %}
|
{% else %}
|
||||||
<input type="text" class="form-control" value="{{ request.user.first_name }} {{ request.user.last_name }}" readonly="readonly" />
|
<input type="text" class="form-control" value="{{ request.user.first_name }} {{ request.user.last_name }}" readonly="readonly" />
|
||||||
<input type="hidden" name="gymnast" id="gymnast" value="{{ request.user.gymnast.id }}" />
|
<input type="hidden" name="gymnast" id="gymnast" value="{{ request.user.gymnast.id }}" />
|
||||||
|
@ -37,14 +37,14 @@
|
||||||
<div class="col-8 col-sm-8 col-md-6 col-lg-6 col-xl-6 {% if form.educative.errors %}has-danger{% endif %}">
|
<div class="col-8 col-sm-8 col-md-6 col-lg-6 col-xl-6 {% if form.educative.errors %}has-danger{% endif %}">
|
||||||
{{ form.educative }}
|
{{ form.educative }}
|
||||||
{{ form.educative_related }}
|
{{ form.educative_related }}
|
||||||
{% if form.educative.errors %} <span class="btn btn-sm btn-danger-outline">{% for error in form.educative.errors %}{{ error }}{% endfor %}</span>{% endif %}
|
{% if form.educative.errors %} <span class="btn btn-sm">{% for error in form.educative.errors %}{{ error }}{% endfor %}</span>{% endif %}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group row ">
|
<div class="form-group row ">
|
||||||
<label for="id_learning_step" class="col-4 col-sm-3 col-form-label">Learning step</label>
|
<label for="id_learning_step" class="col-4 col-sm-3 col-form-label">Learning step</label>
|
||||||
<div class="col-8 col-sm-4 col-md-3 {% if form.learning_step.errors %}has-danger{% endif %}">
|
<div class="col-8 col-sm-4 col-md-3 {% if form.learning_step.errors %}has-danger{% endif %}">
|
||||||
{{ form.learning_step }}
|
{{ form.learning_step }}
|
||||||
{% if form.learning_step.errors %} <span class="btn btn-sm btn-danger-outline">{% for error in form.learning_step.errors %}{{ error }}{% endfor %}</span>{% endif %}
|
{% if form.learning_step.errors %} <span class="btn btn-sm">{% for error in form.learning_step.errors %}{{ error }}{% endfor %}</span>{% endif %}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group row ">
|
<div class="form-group row ">
|
||||||
|
|
|
@ -18,7 +18,7 @@
|
||||||
{% if request.user|has_group:"trainer" %}
|
{% if request.user|has_group:"trainer" %}
|
||||||
{{ form.gymnast }}
|
{{ form.gymnast }}
|
||||||
{{ form.gymnast_related }}
|
{{ form.gymnast_related }}
|
||||||
{% if form.gymnast.errors %} <span class="btn btn-sm btn-danger-outline">{% for error in form.gymnast.errors %}{{ error }}{% endfor %}</span>{% endif %}
|
{% if form.gymnast.errors %} <span class="btn btn-sm">{% for error in form.gymnast.errors %}{{ error }}{% endfor %}</span>{% endif %}
|
||||||
{% else %}
|
{% else %}
|
||||||
<input type="text" class="form-control" value="{{ request.user.first_name }} {{ request.user.last_name }}" readonly="readonly" />
|
<input type="text" class="form-control" value="{{ request.user.first_name }} {{ request.user.last_name }}" readonly="readonly" />
|
||||||
<input type="hidden" name="gymnast" id="gymnast" value="{{ request.user.gymnast.id }}" />
|
<input type="hidden" name="gymnast" id="gymnast" value="{{ request.user.gymnast.id }}" />
|
||||||
|
@ -67,7 +67,7 @@
|
||||||
<label for="id_number_of_successes" class="col-4 col-sm-4 col-md-4 col-lg-4 col-xl-3 col-form-label"># success <span class="text-danger"><b>*</b></span></label>
|
<label for="id_number_of_successes" class="col-4 col-sm-4 col-md-4 col-lg-4 col-xl-3 col-form-label"># success <span class="text-danger"><b>*</b></span></label>
|
||||||
<div class="col-4 col-sm-2 col-md-4 col-lg-2 {% if form.number_of_successes.errors %}has-danger{% endif %}">
|
<div class="col-4 col-sm-2 col-md-4 col-lg-2 {% if form.number_of_successes.errors %}has-danger{% endif %}">
|
||||||
{{ form.number_of_successes }}
|
{{ form.number_of_successes }}
|
||||||
{% if form.number_of_successes.errors %} <span class="btn btn-sm btn-danger-outline">{% for error in form.number_of_successes.errors %}{{ error }}{% endfor %}</span>{% endif %}
|
{% if form.number_of_successes.errors %} <span class="btn btn-sm">{% for error in form.number_of_successes.errors %}{{ error }}{% endfor %}</span>{% endif %}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
@ -75,7 +75,7 @@
|
||||||
<label for="id_number_of_try" class="col-4 col-sm-4 col-md-4 col-lg-4 col-xl-3 col-form-label"># try <span class="text-danger"><b>*</b></span></label>
|
<label for="id_number_of_try" class="col-4 col-sm-4 col-md-4 col-lg-4 col-xl-3 col-form-label"># try <span class="text-danger"><b>*</b></span></label>
|
||||||
<div class="col-4 col-sm-2 col-md-4 col-lg-2 {% if form.number_of_try.errors %}has-danger{% endif %}">
|
<div class="col-4 col-sm-2 col-md-4 col-lg-2 {% if form.number_of_try.errors %}has-danger{% endif %}">
|
||||||
{{ form.number_of_try }}
|
{{ form.number_of_try }}
|
||||||
{% if form.number_of_try.errors %} <span class="btn btn-sm btn-danger-outline">{% for error in form.number_of_try.errors %}{{ error }}{% endfor %}</span>{% endif %}
|
{% if form.number_of_try.errors %} <span class="btn btn-sm">{% for error in form.number_of_try.errors %}{{ error }}{% endfor %}</span>{% endif %}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
|
@ -19,7 +19,7 @@
|
||||||
{% if request.user|has_group:"trainer" %}
|
{% if request.user|has_group:"trainer" %}
|
||||||
{{ form.gymnast }}
|
{{ form.gymnast }}
|
||||||
{{ form.gymnast_related }}
|
{{ form.gymnast_related }}
|
||||||
{% if form.gymnast.errors %} <span class="btn btn-sm btn-danger-outline">{% for error in form.gymnast.errors %}{{ error }}{% endfor %}</span>{% endif %}
|
{% if form.gymnast.errors %} <span class="btn btn-sm">{% for error in form.gymnast.errors %}{{ error }}{% endfor %}</span>{% endif %}
|
||||||
{% else %}
|
{% else %}
|
||||||
<input type="text" class="form-control" value="{{ request.user.first_name }} {{ request.user.last_name }}" readonly="readonly" />
|
<input type="text" class="form-control" value="{{ request.user.first_name }} {{ request.user.last_name }}" readonly="readonly" />
|
||||||
<input type="hidden" name="gymnast" id="gymnast" value="{{ request.user.gymnast.id }}" />
|
<input type="hidden" name="gymnast" id="gymnast" value="{{ request.user.gymnast.id }}" />
|
||||||
|
@ -32,7 +32,7 @@
|
||||||
{{ form.event }}
|
{{ form.event }}
|
||||||
{{ form.event_related }}
|
{{ form.event_related }}
|
||||||
{% if form.event.errors %}
|
{% if form.event.errors %}
|
||||||
<label class="btn btn-sm btn-danger-outline">
|
<label class="btn btn-sm">
|
||||||
{% for error in form.event.errors %}{{ error }}{% endfor %}
|
{% for error in form.event.errors %}{{ error }}{% endfor %}
|
||||||
</label>
|
</label>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
@ -43,7 +43,7 @@
|
||||||
<label for="id_routine_type" class="col-3 col-sm-3 col-md-3 col-lg-3 col-xl-2 col-form-label">Routine <span class="text-danger"><b>*</b></span></label>
|
<label for="id_routine_type" class="col-3 col-sm-3 col-md-3 col-lg-3 col-xl-2 col-form-label">Routine <span class="text-danger"><b>*</b></span></label>
|
||||||
<div class="col-5 col-sm-3 col-md-4 {% if form.routine_type.errors %}has-danger{% endif %}">
|
<div class="col-5 col-sm-3 col-md-4 {% if form.routine_type.errors %}has-danger{% endif %}">
|
||||||
{{ form.routine_type }}
|
{{ form.routine_type }}
|
||||||
{% if form.routine_type.errors %} <span class="btn btn-sm btn-danger-outline">{% for error in form.routine_type.errors %}{{ error }}{% endfor %}</span>{% endif %}
|
{% if form.routine_type.errors %} <span class="btn btn-sm">{% for error in form.routine_type.errors %}{{ error }}{% endfor %}</span>{% endif %}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group row ">
|
<div class="form-group row ">
|
||||||
|
|
|
@ -22,7 +22,7 @@
|
||||||
class="col-sm-9 col-md-9 col-lg-6 {% if form.gymnast.errors %}has-danger{% endif %}">
|
class="col-sm-9 col-md-9 col-lg-6 {% if form.gymnast.errors %}has-danger{% endif %}">
|
||||||
{{ form.gymnast }}
|
{{ form.gymnast }}
|
||||||
{{ form.gymnast_related }}
|
{{ form.gymnast_related }}
|
||||||
{% if form.gymnast.errors %} <span class="btn btn-sm btn-danger-outline">{% for error in form.gymnast.errors %}{{ error }}{% endfor %}</span>{% endif %}
|
{% if form.gymnast.errors %} <span class="btn btn-sm">{% for error in form.gymnast.errors %}{{ error }}{% endfor %}</span>{% endif %}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
@ -31,7 +31,7 @@
|
||||||
<div
|
<div
|
||||||
class="col-sm-3 col-md-4 col-lg-4 col-xl-3 {% if form.season.errors %}has-danger{% endif %}">
|
class="col-sm-3 col-md-4 col-lg-4 col-xl-3 {% if form.season.errors %}has-danger{% endif %}">
|
||||||
{{ form.season }}
|
{{ form.season }}
|
||||||
{% if form.season.errors %}<span class="btn btn-sm btn-danger-outline">{% for error in form.season.errors %}{{ error }}{% endfor %}</span>{% endif %}
|
{% if form.season.errors %}<span class="btn btn-sm">{% for error in form.season.errors %}{{ error }}{% endfor %}</span>{% endif %}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
@ -40,7 +40,7 @@
|
||||||
<div class="col-8 col-md-9 {% if form.club.errors %}has-danger{% endif %}">
|
<div class="col-8 col-md-9 {% if form.club.errors %}has-danger{% endif %}">
|
||||||
{{ form.club }}
|
{{ form.club }}
|
||||||
{{ form.club_related }}
|
{{ form.club_related }}
|
||||||
{% if form.club.errors %} <span class="btn btn-sm btn-danger-outline">{% for error in form.club.errors %}{{error}}{% endfor %}</span>{% endif %}
|
{% if form.club.errors %} <span class="btn btn-sm">{% for error in form.club.errors %}{{error}}{% endfor %}</span>{% endif %}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
@ -48,7 +48,7 @@
|
||||||
<label for="id_number_of_training_sessions_per_week" class="col-sm-3 col-md-3 col-lg-3 col-xl-3 col-form-label">Training/week <span class="text-danger"><b>*</b></span></label>
|
<label for="id_number_of_training_sessions_per_week" class="col-sm-3 col-md-3 col-lg-3 col-xl-3 col-form-label">Training/week <span class="text-danger"><b>*</b></span></label>
|
||||||
<div class="col-sm-3 col-md-3 col-lg-2 {% if form.number_of_training_sessions_per_week.errors %}has-danger{% endif %}">
|
<div class="col-sm-3 col-md-3 col-lg-2 {% if form.number_of_training_sessions_per_week.errors %}has-danger{% endif %}">
|
||||||
{{ form.number_of_training_sessions_per_week }}
|
{{ form.number_of_training_sessions_per_week }}
|
||||||
{% if form.number_of_training_sessions_per_week.errors %} <span class="btn btn-sm btn-danger-outline">{% for error in form.number_of_training_sessions_per_week.errors %}{{ error }}{% endfor %}</span>{% endif %}
|
{% if form.number_of_training_sessions_per_week.errors %} <span class="btn btn-sm">{% for error in form.number_of_training_sessions_per_week.errors %}{{ error }}{% endfor %}</span>{% endif %}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
@ -56,7 +56,7 @@
|
||||||
<label for="id_number_of_hours_per_week" class="col-sm-3 col-md-3 col-lg-3 col-xl-3 col-form-label">Hours/week <span class="text-danger"><b>*</b></span></label>
|
<label for="id_number_of_hours_per_week" class="col-sm-3 col-md-3 col-lg-3 col-xl-3 col-form-label">Hours/week <span class="text-danger"><b>*</b></span></label>
|
||||||
<div class="col-sm-3 col-md-3 col-lg-2 {% if form.number_of_hours_per_week.errors %}has-danger{% endif %}">
|
<div class="col-sm-3 col-md-3 col-lg-2 {% if form.number_of_hours_per_week.errors %}has-danger{% endif %}">
|
||||||
{{ form.number_of_hours_per_week }}
|
{{ form.number_of_hours_per_week }}
|
||||||
{% if form.number_of_hours_per_week.errors %} <span class="btn btn-sm btn-danger-outline">{% for error in form.number_of_hours_per_week.errors %}{{ error }}{% endfor %}</span>{% endif %}
|
{% if form.number_of_hours_per_week.errors %} <span class="btn btn-sm">{% for error in form.number_of_hours_per_week.errors %}{{ error }}{% endfor %}</span>{% endif %}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
@ -64,7 +64,7 @@
|
||||||
<label for="id_number_of_s_and_c_sessions_per_week" class="col-sm-3 col-md-3 col-lg-3 col-xl-3 col-form-label">S&C Training/week</label>
|
<label for="id_number_of_s_and_c_sessions_per_week" class="col-sm-3 col-md-3 col-lg-3 col-xl-3 col-form-label">S&C Training/week</label>
|
||||||
<div class="col-sm-3 col-md-3 col-lg-2 {% if form.number_of_s_and_c_sessions_per_week.errors %}has-danger{% endif %}">
|
<div class="col-sm-3 col-md-3 col-lg-2 {% if form.number_of_s_and_c_sessions_per_week.errors %}has-danger{% endif %}">
|
||||||
{{ form.number_of_s_and_c_sessions_per_week }}
|
{{ form.number_of_s_and_c_sessions_per_week }}
|
||||||
{% if form.number_of_s_and_c_sessions_per_week.errors %} <span class="btn btn-sm btn-danger-outline">{% for error in form.number_of_s_and_c_sessions_per_week.errors %}{{ error }}{% endfor %}</span>{% endif %}
|
{% if form.number_of_s_and_c_sessions_per_week.errors %} <span class="btn btn-sm">{% for error in form.number_of_s_and_c_sessions_per_week.errors %}{{ error }}{% endfor %}</span>{% endif %}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
@ -72,7 +72,7 @@
|
||||||
<label for="id_number_of_s_and_c_hours_per_week" class="col-sm-3 col-md-3 col-lg-3 col-xl-3 col-form-label">S&C Hours/week</label>
|
<label for="id_number_of_s_and_c_hours_per_week" class="col-sm-3 col-md-3 col-lg-3 col-xl-3 col-form-label">S&C Hours/week</label>
|
||||||
<div class="col-sm-3 col-md-3 col-lg-2 {% if form.numbernumber_of_s_and_c_hours_per_week_of_hours_per_week.errors %}has-danger{% endif %}">
|
<div class="col-sm-3 col-md-3 col-lg-2 {% if form.numbernumber_of_s_and_c_hours_per_week_of_hours_per_week.errors %}has-danger{% endif %}">
|
||||||
{{ form.number_of_s_and_c_hours_per_week }}
|
{{ form.number_of_s_and_c_hours_per_week }}
|
||||||
{% if form.number_of_s_and_c_hours_per_week.errors %} <span class="btn btn-sm btn-danger-outline">{% for error in form.number_of_s_and_c_hours_per_week.errors %}{{ error }}{% endfor %}</span>{% endif %}
|
{% if form.number_of_s_and_c_hours_per_week.errors %} <span class="btn btn-sm">{% for error in form.number_of_s_and_c_hours_per_week.errors %}{{ error }}{% endfor %}</span>{% endif %}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
@ -80,7 +80,7 @@
|
||||||
<label for="id_category" class="col-sm-3 col-md-3 col-lg-3 col-xl-3 col-form-label">Category <span class="text-danger"><b>*</b></span></label>
|
<label for="id_category" class="col-sm-3 col-md-3 col-lg-3 col-xl-3 col-form-label">Category <span class="text-danger"><b>*</b></span></label>
|
||||||
<div class="col-sm-3 col-md-3 col-lg-3 {% if form.category.errors %}has-danger{% endif %}">
|
<div class="col-sm-3 col-md-3 col-lg-3 {% if form.category.errors %}has-danger{% endif %}">
|
||||||
{{ form.category }}
|
{{ form.category }}
|
||||||
{% if form.category.errors %} <span class="btn btn-sm btn-danger-outline">{% for error in form.category.errors %}{{ error }}{% endfor %}</span>{% endif %}
|
{% if form.category.errors %} <span class="btn btn-sm">{% for error in form.category.errors %}{{ error }}{% endfor %}</span>{% endif %}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
|
@ -16,7 +16,7 @@
|
||||||
<div class="col-8 col-sm-10 col-md-10 col-lg-10 col-xl-10">
|
<div class="col-8 col-sm-10 col-md-10 col-lg-10 col-xl-10">
|
||||||
{{ form.name }}
|
{{ form.name }}
|
||||||
{% if form.name.errors %}
|
{% if form.name.errors %}
|
||||||
<span class="btn btn-sm btn-danger-outline">
|
<span class="btn btn-sm">
|
||||||
{% for error in form.name.errors %}{{ error }}{% endfor %}
|
{% for error in form.name.errors %}{{ error }}{% endfor %}
|
||||||
</span>
|
</span>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
@ -26,7 +26,7 @@
|
||||||
<label for="id_name" class="col-4 col-sm-2 col-md-2 col-lg-2 col-xl-2 col-form-label">Address</label>
|
<label for="id_name" class="col-4 col-sm-2 col-md-2 col-lg-2 col-xl-2 col-form-label">Address</label>
|
||||||
<div class="col-8 col-sm-6 col-md-6 col-lg-6 col-xl-6">
|
<div class="col-8 col-sm-6 col-md-6 col-lg-6 col-xl-6">
|
||||||
{{ form.address }}
|
{{ form.address }}
|
||||||
{% if form.address.errors %}<span class="btn btn-sm btn-danger-outline">{% for error in form.address.errors %}{{ error }}{% endfor %}</span>{% endif %}
|
{% if form.address.errors %}<span class="btn btn-sm">{% for error in form.address.errors %}{{ error }}{% endfor %}</span>{% endif %}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group row {% if form.postal.errors %}has-error has-feedback{% endif %}">
|
<div class="form-group row {% if form.postal.errors %}has-error has-feedback{% endif %}">
|
||||||
|
@ -35,11 +35,11 @@
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-7 col-sm-5 col-md-5 col-lg-5 col-xl-3 pr-0">
|
<div class="col-7 col-sm-5 col-md-5 col-lg-5 col-xl-3 pr-0">
|
||||||
{{ form.postal }}
|
{{ form.postal }}
|
||||||
{% if form.postal.errors %} <span class="btn btn-sm btn-danger-outline">{% for error in form.postal.errors %}{{ error }}{% endfor %}</span>{% endif %}
|
{% if form.postal.errors %} <span class="btn btn-sm">{% for error in form.postal.errors %}{{ error }}{% endfor %}</span>{% endif %}
|
||||||
</div>
|
</div>
|
||||||
<div class="col-12 col-sm-7 col-md-7 col-lg-7 col-xl-9">
|
<div class="col-12 col-sm-7 col-md-7 col-lg-7 col-xl-9">
|
||||||
{{ form.city }}
|
{{ form.city }}
|
||||||
{% if form.city.errors %} <span class="btn btn-sm btn-danger-outline">{% for error in form.city.errors %}{{ error }}{% endfor %}</span>{% endif %}
|
{% if form.city.errors %} <span class="btn btn-sm">{% for error in form.city.errors %}{{ error }}{% endfor %}</span>{% endif %}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -58,11 +58,11 @@
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-7 col-sm-5 col-md-5 col-lg-5 col-xl-3 pr-0">
|
<div class="col-7 col-sm-5 col-md-5 col-lg-5 col-xl-3 pr-0">
|
||||||
{{ form.nbkm }}
|
{{ form.nbkm }}
|
||||||
{% if form.nbkm.errors %} <span class="btn btn-sm btn-danger-outline">{% for error in form.nbkm.errors %}{{ error }}{% endfor %}</span>{% endif %}
|
{% if form.nbkm.errors %} <span class="btn btn-sm">{% for error in form.nbkm.errors %}{{ error }}{% endfor %}</span>{% endif %}
|
||||||
</div>
|
</div>
|
||||||
<div class="col-7 col-sm-5 col-md-5 col-lg-5 col-xl-3 pr-0">
|
<div class="col-7 col-sm-5 col-md-5 col-lg-5 col-xl-3 pr-0">
|
||||||
{{ form.timing }}
|
{{ form.timing }}
|
||||||
{% if form.timing.errors %} <span class="btn btn-sm btn-danger-outline">{% for error in form.timing.errors %}{{ error }}{% endfor %}</span>{% endif %}
|
{% if form.timing.errors %} <span class="btn btn-sm">{% for error in form.timing.errors %}{{ error }}{% endfor %}</span>{% endif %}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -71,7 +71,7 @@
|
||||||
<label for="id_name" class="col-4 col-sm-2 col-md-2 col-lg-2 col-xl-2 col-form-label">Is active</label>
|
<label for="id_name" class="col-4 col-sm-2 col-md-2 col-lg-2 col-xl-2 col-form-label">Is active</label>
|
||||||
<div class="col-8 col-sm-2 col-md-2 col-lg-2 col-xl-2">
|
<div class="col-8 col-sm-2 col-md-2 col-lg-2 col-xl-2">
|
||||||
{{ form.active }}
|
{{ form.active }}
|
||||||
{% if form.active.errors %} <span class="btn btn-sm btn-danger-outline">{% for error in form.active.errors %}{{ error }}{% endfor %}</span>{% endif %}
|
{% if form.active.errors %} <span class="btn btn-sm">{% for error in form.active.errors %}{{ error }}{% endfor %}</span>{% endif %}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group text-center">
|
<div class="form-group text-center">
|
||||||
|
|
|
@ -16,7 +16,7 @@
|
||||||
<div class="col-8 col-sm-8 col-md-8 col-lg-8 col-xl-8">
|
<div class="col-8 col-sm-8 col-md-8 col-lg-8 col-xl-8">
|
||||||
{{ form.name }}
|
{{ form.name }}
|
||||||
{% if form.name.errors %}
|
{% if form.name.errors %}
|
||||||
<span class="btn btn-sm btn-danger-outline">
|
<span class="btn btn-sm">
|
||||||
{% for error in form.name.errors %}{{ error }}{% endfor %}
|
{% for error in form.name.errors %}{{ error }}{% endfor %}
|
||||||
</span>
|
</span>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
@ -26,7 +26,7 @@
|
||||||
<label for="id_name" class="col-4 col-sm-2 col-md-2 col-lg-2 col-xl-2 col-form-label">Address <span class="text-danger"><b>*</b></span></label>
|
<label for="id_name" class="col-4 col-sm-2 col-md-2 col-lg-2 col-xl-2 col-form-label">Address <span class="text-danger"><b>*</b></span></label>
|
||||||
<div class="col-8 col-sm-6 col-md-6 col-lg-6 col-xl-8">
|
<div class="col-8 col-sm-6 col-md-6 col-lg-6 col-xl-8">
|
||||||
{{ form.address }}
|
{{ form.address }}
|
||||||
{% if form.address.errors %}<span class="btn btn-sm btn-danger-outline">{% for error in form.address.errors %}{{ error }}{% endfor %}</span>{% endif %}
|
{% if form.address.errors %}<span class="btn btn-sm">{% for error in form.address.errors %}{{ error }}{% endfor %}</span>{% endif %}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group row {% if form.postal.errors %}has-error has-feedback{% endif %}">
|
<div class="form-group row {% if form.postal.errors %}has-error has-feedback{% endif %}">
|
||||||
|
@ -34,11 +34,11 @@
|
||||||
<div class="col-8 col-sm-6 col-md-6 col-lg-6 col-xl-8 row">
|
<div class="col-8 col-sm-6 col-md-6 col-lg-6 col-xl-8 row">
|
||||||
<div class="col-7 col-sm-5 col-md-5 col-lg-5 col-xl-4 pr-0">
|
<div class="col-7 col-sm-5 col-md-5 col-lg-5 col-xl-4 pr-0">
|
||||||
{{ form.postal }}
|
{{ form.postal }}
|
||||||
{% if form.postal.errors %} <span class="btn btn-sm btn-danger-outline">{% for error in form.postal.errors %}{{ error }}{% endfor %}</span>{% endif %}
|
{% if form.postal.errors %} <span class="btn btn-sm">{% for error in form.postal.errors %}{{ error }}{% endfor %}</span>{% endif %}
|
||||||
</div>
|
</div>
|
||||||
<div class="col-12 col-sm-7 col-md-7 col-lg-7 col-xl-8">
|
<div class="col-12 col-sm-7 col-md-7 col-lg-7 col-xl-8">
|
||||||
{{ form.city }}
|
{{ form.city }}
|
||||||
{% if form.city.errors %} <span class="btn btn-sm btn-danger-outline">{% for error in form.city.errors %}{{ error }}{% endfor %}</span>{% endif %}
|
{% if form.city.errors %} <span class="btn btn-sm">{% for error in form.city.errors %}{{ error }}{% endfor %}</span>{% endif %}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -55,7 +55,7 @@
|
||||||
<label for="id_name" class="col-4 col-sm-2 col-md-2 col-lg-2 col-xl-2 col-form-label">Is active</label>
|
<label for="id_name" class="col-4 col-sm-2 col-md-2 col-lg-2 col-xl-2 col-form-label">Is active</label>
|
||||||
<div class="col-8 col-sm-2 col-md-2 col-lg-2 col-xl-2">
|
<div class="col-8 col-sm-2 col-md-2 col-lg-2 col-xl-2">
|
||||||
{{ form.active }}
|
{{ form.active }}
|
||||||
{% if form.active.errors %} <span class="btn btn-sm btn-danger-outline">{% for error in form.active.errors %}{{ error }}{% endfor %}</span>{% endif %}
|
{% if form.active.errors %} <span class="btn btn-sm">{% for error in form.active.errors %}{{ error }}{% endfor %}</span>{% endif %}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
|
@ -24,21 +24,21 @@
|
||||||
<div class="form-group row {% if form.short_label.errors %}has-error has-feedback{% endif %}">
|
<div class="form-group row {% if form.short_label.errors %}has-error has-feedback{% endif %}">
|
||||||
<label for="id_short_label" class="col-4 col-sm-3 col-md-3 col-lg-3 col-xl-3 col-form-label">Short label <span class="text-danger"><b>*</b></span></label>
|
<label for="id_short_label" class="col-4 col-sm-3 col-md-3 col-lg-3 col-xl-3 col-form-label">Short label <span class="text-danger"><b>*</b></span></label>
|
||||||
<div class="col-8 col-sm-9 col-md-9 col-lg-9 col-xl-9">
|
<div class="col-8 col-sm-9 col-md-9 col-lg-9 col-xl-9">
|
||||||
{{ form.short_label }} {% if form.short_label.errors %}<span class="btn btn-sm btn-danger-outline">{% for error in form.short_label.errors %}{{ error }}{% endfor %}</span>{% endif %}
|
{{ form.short_label }} {% if form.short_label.errors %}<span class="btn btn-sm">{% for error in form.short_label.errors %}{{ error }}{% endfor %}</span>{% endif %}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="form-group row {% if form.is_routine.errors %}has-error has-feedback{% endif %}">
|
<div class="form-group row {% if form.is_routine.errors %}has-error has-feedback{% endif %}">
|
||||||
<label for="id_is_routine" class="col-4 col-sm-3 col-md-3 col-lg-3 col-xl-3 col-form-label">Is routine ? <span class="text-danger"><b>*</b></span></label>
|
<label for="id_is_routine" class="col-4 col-sm-3 col-md-3 col-lg-3 col-xl-3 col-form-label">Is routine ? <span class="text-danger"><b>*</b></span></label>
|
||||||
<div class="col-8 col-sm-9 col-md-9 col-lg-9 col-xl-9">
|
<div class="col-8 col-sm-9 col-md-9 col-lg-9 col-xl-9">
|
||||||
{{ form.is_routine }} {% if form.is_routine.errors %}<span class="btn btn-sm btn-danger-outline">{% for error in form.is_routine.errors %}{{ error }}{% endfor %}</span>{% endif %}
|
{{ form.is_routine }} {% if form.is_routine.errors %}<span class="btn btn-sm">{% for error in form.is_routine.errors %}{{ error }}{% endfor %}</span>{% endif %}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="form-group row {% if form.is_competitive.errors %}has-error has-feedback{% endif %}">
|
<div class="form-group row {% if form.is_competitive.errors %}has-error has-feedback{% endif %}">
|
||||||
<label for="id_is_competitive" class="col-4 col-sm-3 col-md-3 col-lg-3 col-xl-3 col-form-label">Is Competitive ? <span class="text-danger"><b>*</b></span></label>
|
<label for="id_is_competitive" class="col-4 col-sm-3 col-md-3 col-lg-3 col-xl-3 col-form-label">Is Competitive ? <span class="text-danger"><b>*</b></span></label>
|
||||||
<div class="col-8 col-sm-9 col-md-9 col-lg-9 col-xl-9">
|
<div class="col-8 col-sm-9 col-md-9 col-lg-9 col-xl-9">
|
||||||
{{ form.is_competitive }} {% if form.is_competitive.errors %}<span class="btn btn-sm btn-danger-outline">{% for error in form.is_competitive.errors %}{{ error }}{% endfor %}</span>{% endif %}
|
{{ form.is_competitive }} {% if form.is_competitive.errors %}<span class="btn btn-sm">{% for error in form.is_competitive.errors %}{{ error }}{% endfor %}</span>{% endif %}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
|
@ -19,7 +19,7 @@
|
||||||
<label for="id_label" class="col-4 col-sm-2 col-md-2 col-lg-2 col-xl-2 col-form-label">Label</label>
|
<label for="id_label" class="col-4 col-sm-2 col-md-2 col-lg-2 col-xl-2 col-form-label">Label</label>
|
||||||
<div class="col-8 col-sm-10 col-md-10 col-lg-10 col-xl-10">
|
<div class="col-8 col-sm-10 col-md-10 col-lg-10 col-xl-10">
|
||||||
{{ form.label }}
|
{{ form.label }}
|
||||||
{% if form.label.errors %} <span class="btn btn-sm btn-danger-outline">{% for error in form.label.errors %}{{ error }}{% endfor %}</span>{% endif %}
|
{% if form.label.errors %} <span class="btn btn-sm">{% for error in form.label.errors %}{{ error }}{% endfor %}</span>{% endif %}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
@ -27,7 +27,7 @@
|
||||||
<label for="id_regexp" class="col-4 col-sm-2 col-md-2 col-lg-2 col-xl-2 col-form-label">{{ form.regexp.label }}<span class="text-danger"><b>*</b></span></label>
|
<label for="id_regexp" class="col-4 col-sm-2 col-md-2 col-lg-2 col-xl-2 col-form-label">{{ form.regexp.label }}<span class="text-danger"><b>*</b></span></label>
|
||||||
<div class="col-4 col-sm-4 col-md-4 col-lg-4 col-xl-3">
|
<div class="col-4 col-sm-4 col-md-4 col-lg-4 col-xl-3">
|
||||||
{{ form.regexp }}
|
{{ form.regexp }}
|
||||||
{% if form.regexp.errors %} <span class="btn btn-sm btn-danger-outline">{% for error in form.regexp.errors %}{{ error }}{% endfor %}</span>{% endif %}
|
{% if form.regexp.errors %} <span class="btn btn-sm">{% for error in form.regexp.errors %}{{ error }}{% endfor %}</span>{% endif %}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
|
@ -16,11 +16,11 @@
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-12 col-sm-6 col-md-6 col-lg-6 col-xl-6 pr-0">
|
<div class="col-12 col-sm-6 col-md-6 col-lg-6 col-xl-6 pr-0">
|
||||||
{{ form.first_name }}
|
{{ form.first_name }}
|
||||||
{% if form.first_name.errors %} <span class="btn btn-sm btn-danger-outline">{% for error in form.first_name.errors %}{{ error }}{% endfor %}</span>{% endif %}
|
{% if form.first_name.errors %} <span class="btn btn-sm">{% for error in form.first_name.errors %}{{ error }}{% endfor %}</span>{% endif %}
|
||||||
</div>
|
</div>
|
||||||
<div class="col-12 col-sm-6 col-md-6 col-lg-6 col-xl-6">
|
<div class="col-12 col-sm-6 col-md-6 col-lg-6 col-xl-6">
|
||||||
{{ form.last_name }}
|
{{ form.last_name }}
|
||||||
{% if form.last_name.errors %} <span class="btn btn-sm btn-danger-outline">{% for error in form.last_name.errors %}{{ error }}{% endfor %}</span>{% endif %}
|
{% if form.last_name.errors %} <span class="btn btn-sm">{% for error in form.last_name.errors %}{{ error }}{% endfor %}</span>{% endif %}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -29,28 +29,28 @@
|
||||||
<label for="id_birthdate" class="col-4 col-sm-2 col-md-3 col-lg-3 col-xl-3 col-form-label">Birthdate <span class="text-danger"><b>*</b></span></label>
|
<label for="id_birthdate" class="col-4 col-sm-2 col-md-3 col-lg-3 col-xl-3 col-form-label">Birthdate <span class="text-danger"><b>*</b></span></label>
|
||||||
<div class="col-8 col-sm-3 col-md-3 col-lg-3 col-xl-3">
|
<div class="col-8 col-sm-3 col-md-3 col-lg-3 col-xl-3">
|
||||||
{{ form.birthdate }}
|
{{ form.birthdate }}
|
||||||
{% if form.birthdate.errors %} <span class="btn btn-sm btn-danger-outline">{% for error in form.birthdate.errors %}{{ error }}{% endfor %}</span>{% endif %}
|
{% if form.birthdate.errors %} <span class="btn btn-sm">{% for error in form.birthdate.errors %}{{ error }}{% endfor %}</span>{% endif %}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group row {% if form.gender.errors %}has-error has-feedback{% endif %}">
|
<div class="form-group row {% if form.gender.errors %}has-error has-feedback{% endif %}">
|
||||||
<label for="id_gender" class="col-4 col-sm-2 col-md-3 col-lg-3 col-xl-3 col-form-label">Gender <span class="text-danger"><b>*</b></span></label>
|
<label for="id_gender" class="col-4 col-sm-2 col-md-3 col-lg-3 col-xl-3 col-form-label">Gender <span class="text-danger"><b>*</b></span></label>
|
||||||
<div class="col-8 col-sm-3 col-md-3 col-lg-3 col-xl-3">
|
<div class="col-8 col-sm-3 col-md-3 col-lg-3 col-xl-3">
|
||||||
{{ form.gender }}
|
{{ form.gender }}
|
||||||
{% if form.gender.errors %} <span class="btn btn-sm btn-danger-outline">{% for error in form.gender.errors %}{{ error }}{% endfor %}</span>{% endif %}
|
{% if form.gender.errors %} <span class="btn btn-sm">{% for error in form.gender.errors %}{{ error }}{% endfor %}</span>{% endif %}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group row {% if form.email.errors %}has-error has-feedback{% endif %}">
|
<div class="form-group row {% if form.email.errors %}has-error has-feedback{% endif %}">
|
||||||
<label for="id_email" class="col-4 col-sm-2 col-md-3 col-lg-3 col-xl-3 col-form-label">Email</label>
|
<label for="id_email" class="col-4 col-sm-2 col-md-3 col-lg-3 col-xl-3 col-form-label">Email</label>
|
||||||
<div class="col-12 col-sm-10 col-md-6 col-lg-6 col-xl-6">
|
<div class="col-12 col-sm-10 col-md-6 col-lg-6 col-xl-6">
|
||||||
{{ form.email }}
|
{{ form.email }}
|
||||||
{% if form.email.errors %} <span class="btn btn-sm btn-danger-outline">{% for error in form.email.errors %}{{ error }}{% endfor %}</span>{% endif %}
|
{% if form.email.errors %} <span class="btn btn-sm">{% for error in form.email.errors %}{{ error }}{% endfor %}</span>{% endif %}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group row {% if form.orientation.errors %}has-error has-feedback{% endif %}">
|
<div class="form-group row {% if form.orientation.errors %}has-error has-feedback{% endif %}">
|
||||||
<label for="id_orientation" class="col-4 col-sm-2 col-md-3 col-lg-3 col-xl-3 col-form-label">Orientation <span class="text-danger"><b>*</b></span></label>
|
<label for="id_orientation" class="col-4 col-sm-2 col-md-3 col-lg-3 col-xl-3 col-form-label">Orientation <span class="text-danger"><b>*</b></span></label>
|
||||||
<div class="col-8 col-sm-3 col-md-3 col-lg-2 col-xl-2">
|
<div class="col-8 col-sm-3 col-md-3 col-lg-2 col-xl-2">
|
||||||
{{ form.orientation }}
|
{{ form.orientation }}
|
||||||
{% if form.orientation.errors %} <span class="btn btn-sm btn-danger-outline">{% for error in form.orientation.errors %}{{ error }}{% endfor %}</span>{% endif %}
|
{% if form.orientation.errors %} <span class="btn btn-sm">{% for error in form.orientation.errors %}{{ error }}{% endfor %}</span>{% endif %}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group row">
|
<div class="form-group row">
|
||||||
|
@ -70,7 +70,7 @@
|
||||||
<label for="id_email_trainer" class="col-4 col-sm-2 col-md-3 col-lg-3 col-xl-3 col-form-label">Email trainer</label>
|
<label for="id_email_trainer" class="col-4 col-sm-2 col-md-3 col-lg-3 col-xl-3 col-form-label">Email trainer</label>
|
||||||
<div class="col-12 col-sm-10 col-md-6 col-lg-6 col-xl-6">
|
<div class="col-12 col-sm-10 col-md-6 col-lg-6 col-xl-6">
|
||||||
{{ form.email_trainer }}
|
{{ form.email_trainer }}
|
||||||
{% if form.email_trainer.errors %} <span class="btn btn-sm btn-danger-outline">{% for error in form.email_trainer.errors %}{{ error }}{% endfor %}</span>{% endif %}
|
{% if form.email_trainer.errors %} <span class="btn btn-sm">{% for error in form.email_trainer.errors %}{{ error }}{% endfor %}</span>{% endif %}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group row ">
|
<div class="form-group row ">
|
||||||
|
@ -84,7 +84,7 @@
|
||||||
<label for="id_is_active" class="col-4 col-sm-2 col-md-3 col-lg-3 col-xl-3 col-form-label">Is active</label>
|
<label for="id_is_active" class="col-4 col-sm-2 col-md-3 col-lg-3 col-xl-3 col-form-label">Is active</label>
|
||||||
<div class="col-8 col-sm-2 col-md-2 col-lg-2 col-xl-2">
|
<div class="col-8 col-sm-2 col-md-2 col-lg-2 col-xl-2">
|
||||||
{{ form.is_active }}
|
{{ form.is_active }}
|
||||||
{% if form.is_active.errors %} <span class="btn btn-sm btn-danger-outline">{% for error in form.is_active.errors %}{{ error }}{% endfor %}</span>{% endif %}
|
{% if form.is_active.errors %} <span class="btn btn-sm">{% for error in form.is_active.errors %}{{ error }}{% endfor %}</span>{% endif %}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
{% else %}
|
{% else %}
|
||||||
|
|
|
@ -20,7 +20,7 @@
|
||||||
{{ form.gymnast }}
|
{{ form.gymnast }}
|
||||||
{{ form.gymnast_related }}
|
{{ form.gymnast_related }}
|
||||||
{% if form.gymnast.errors %}
|
{% if form.gymnast.errors %}
|
||||||
<span class="btn btn-sm btn-danger-outline">
|
<span class="btn btn-sm">
|
||||||
{% for error in form.gymnast.errors %}{{ error }}{% endfor %}
|
{% for error in form.gymnast.errors %}{{ error }}{% endfor %}
|
||||||
</span>
|
</span>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
|
@ -0,0 +1,65 @@
|
||||||
|
{% extends "base.html" %}
|
||||||
|
{% load static %}
|
||||||
|
{% load has_group %}
|
||||||
|
|
||||||
|
{% block content %}
|
||||||
|
<div class="row justify-content-center">
|
||||||
|
<div class="col-12 col-sm-12 col-md-8 col-lg-8 col-xl-6">
|
||||||
|
<div class="card">
|
||||||
|
<div class="card-header">
|
||||||
|
<h4 class=" ">Link trainer to you</h4>
|
||||||
|
</div>
|
||||||
|
<div class="card-body">
|
||||||
|
{% for trainer in trainers_list %}
|
||||||
|
{% if trainer != gymnast.user %}
|
||||||
|
<div class="form-group row mb-0">
|
||||||
|
<div class="col-md-8 ml-3">
|
||||||
|
{{ trainer.first_name }} {{ trainer.last_name }}
|
||||||
|
</div>
|
||||||
|
<div class="col-md-3">
|
||||||
|
<input type="checkbox" name="checkbox" class="trainer_check" data-trainer="{{ trainer.id }}" {% if trainer.id in already_linked %}checked{% endif %}/>
|
||||||
|
</div>
|
||||||
|
<hr />
|
||||||
|
</div>
|
||||||
|
{% endif %}
|
||||||
|
{% endfor %}
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
{% endblock %}
|
||||||
|
|
||||||
|
{% block footerscript %}
|
||||||
|
<script type="text/javascript">
|
||||||
|
$(document).ready(function() {
|
||||||
|
|
||||||
|
$('.trainer_check').change(function() {
|
||||||
|
if(this.checked) {
|
||||||
|
$.ajax({
|
||||||
|
url: "{% url 'link_trainer_to_gymnast' gymnast.id %}",
|
||||||
|
method: "POST",
|
||||||
|
data: {
|
||||||
|
trainer_id: $(this).data("trainer"),
|
||||||
|
csrfmiddlewaretoken: '{{ csrf_token }}'
|
||||||
|
},
|
||||||
|
success: function(data) {
|
||||||
|
}
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
$.ajax({
|
||||||
|
url: "{% url 'unlink_trainer_to_gymnast' gymnast.id %}",
|
||||||
|
method: "POST",
|
||||||
|
data: {
|
||||||
|
trainer_id: $(this).data("trainer"),
|
||||||
|
csrfmiddlewaretoken: '{{ csrf_token }}'
|
||||||
|
},
|
||||||
|
success: function(data) {
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
{% endblock %}
|
|
@ -59,6 +59,42 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<div class="col-md-4 pl-0">
|
||||||
|
<div class="card mb-4">
|
||||||
|
<div class="card-header">
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-8">
|
||||||
|
<h4>Trainers</h4>
|
||||||
|
</div>
|
||||||
|
<div class="col-2 ml-auto">
|
||||||
|
<div class="text-right">
|
||||||
|
<h4 class="mb-0">
|
||||||
|
<a href="{% url 'gymnast_trainers_listing' gymnast.id %}">
|
||||||
|
<span class="tim-icons icon-pencil text-warning"></span>
|
||||||
|
</a>
|
||||||
|
</h4>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="card-body pt-0">
|
||||||
|
{% if trainers_list %}
|
||||||
|
<table class="table table-striped table-condensed mb-0" id="trainers_table">
|
||||||
|
<tbody>
|
||||||
|
{% for trainer in trainers_list %}
|
||||||
|
<tr>
|
||||||
|
<td class="text-center">{{ trainer.first_name }} {{ trainer.last_name }}</td>
|
||||||
|
</tr>
|
||||||
|
{% endfor %}
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
{% else %}
|
||||||
|
<p>Nobody can see your profile.</p>
|
||||||
|
{% endif %}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
|
|
|
@ -53,6 +53,9 @@ gymnast_urlpatterns = [
|
||||||
name="gymnast_display_season_informations",
|
name="gymnast_display_season_informations",
|
||||||
),
|
),
|
||||||
path(r"add/", views.gymnast_create_or_update, name="gymnast_create"),
|
path(r"add/", views.gymnast_create_or_update, name="gymnast_create"),
|
||||||
|
path(r"<int:gymnast_id>/trainer/", views.gymnast_trainers_listing, name="gymnast_trainers_listing"),
|
||||||
|
path(r"<int:gymnast_id>/add/trainer/", views.link_trainer_to_gymnast, name="link_trainer_to_gymnast"),
|
||||||
|
path(r"<int:gymnast_id>/remove/trainer/", views.unlink_trainer_to_gymnast, name="unlink_trainer_to_gymnast"),
|
||||||
path(
|
path(
|
||||||
r"edit/<int:gymnast_id>/", views.gymnast_create_or_update, name="gymnast_update"
|
r"edit/<int:gymnast_id>/", views.gymnast_create_or_update, name="gymnast_update"
|
||||||
),
|
),
|
||||||
|
|
|
@ -8,7 +8,7 @@ from django.db.models import (
|
||||||
Q,
|
Q,
|
||||||
Avg,
|
Avg,
|
||||||
)
|
)
|
||||||
from django.http import HttpResponseRedirect, JsonResponse
|
from django.http import HttpResponseRedirect, JsonResponse, HttpResponse
|
||||||
from django.shortcuts import render, get_object_or_404
|
from django.shortcuts import render, get_object_or_404
|
||||||
from django.views.decorators.http import require_http_methods
|
from django.views.decorators.http import require_http_methods
|
||||||
from django.urls import reverse
|
from django.urls import reverse
|
||||||
|
@ -57,10 +57,6 @@ def gymnast_lookup(request):
|
||||||
if pattern is not None and len(pattern) > 2:
|
if pattern is not None and len(pattern) > 2:
|
||||||
name = clean_name(pattern)
|
name = clean_name(pattern)
|
||||||
|
|
||||||
# gymnast_list = Gymnast.objects.filter(
|
|
||||||
# Q(cleaned_last_name__icontains=name) | Q(cleaned_first_name__icontains=name)
|
|
||||||
# )
|
|
||||||
|
|
||||||
gymnast_list = Gymnast.objects.filter(
|
gymnast_list = Gymnast.objects.filter(
|
||||||
is_active=True, pk__in=request.session["available_gymnast"]
|
is_active=True, pk__in=request.session["available_gymnast"]
|
||||||
).filter(
|
).filter(
|
||||||
|
@ -175,8 +171,13 @@ def gymnast_display_season_informations(request, gymnast_id):
|
||||||
gymnast_id (int) identifiant du gymnast
|
gymnast_id (int) identifiant du gymnast
|
||||||
"""
|
"""
|
||||||
gymnast = get_object_or_404(Gymnast, pk=gymnast_id)
|
gymnast = get_object_or_404(Gymnast, pk=gymnast_id)
|
||||||
|
trainers_list = gymnast.trainers.all().order_by("first_name", "last_name")
|
||||||
season_information_list = gymnast.season_informations.all()
|
season_information_list = gymnast.season_informations.all()
|
||||||
context = {"season_information_list": season_information_list, "gymnast": gymnast}
|
context = {
|
||||||
|
"gymnast": gymnast,
|
||||||
|
"trainers_list": trainers_list,
|
||||||
|
"season_information_list": season_information_list,
|
||||||
|
}
|
||||||
return render(request, "gymnasts/tabs/tab_season_informations.html", context)
|
return render(request, "gymnasts/tabs/tab_season_informations.html", context)
|
||||||
|
|
||||||
|
|
||||||
|
@ -438,13 +439,65 @@ def gymnast_create_or_update(request, gymnast_id=None):
|
||||||
|
|
||||||
return HttpResponseRedirect(reverse("gymnast_details", args=(gymnast.pk,)))
|
return HttpResponseRedirect(reverse("gymnast_details", args=(gymnast.pk,)))
|
||||||
|
|
||||||
return render(request, "people/gymnasts/create.html", {"form": gymnast_form})
|
return render(request, "gymnasts/create.html", {"form": gymnast_form})
|
||||||
|
|
||||||
form = GymnastForm(instance=gymnast)
|
form = GymnastForm(instance=gymnast)
|
||||||
context = {"form": form, "gymnast_id": gymnast_id}
|
context = {"form": form, "gymnast_id": gymnast_id}
|
||||||
return render(request, "gymnasts/create.html", context)
|
return render(request, "gymnasts/create.html", context)
|
||||||
|
|
||||||
|
|
||||||
|
@login_required
|
||||||
|
@require_http_methods(["GET", "POST"])
|
||||||
|
def gymnast_trainers_listing(request, gymnast_id):
|
||||||
|
""" Liste tous les user """
|
||||||
|
gymnast = get_object_or_404(Gymnast, pk=gymnast_id)
|
||||||
|
user_list = User.objects.filter(is_active=True, groups__name="trainer").order_by('first_name', 'last_name')
|
||||||
|
rows = gymnast.trainers.values("id")
|
||||||
|
already_linked = [row["id"] for row in rows]
|
||||||
|
context = {
|
||||||
|
"gymnast": gymnast,
|
||||||
|
"already_linked": already_linked,
|
||||||
|
"trainers_list": user_list,
|
||||||
|
}
|
||||||
|
return render(request, "gymnasts/link_trainer_to_gymnast.html", context)
|
||||||
|
|
||||||
|
|
||||||
|
@login_required
|
||||||
|
@require_http_methods(["POST"])
|
||||||
|
def link_trainer_to_gymnast(request, gymnast_id):
|
||||||
|
""" Lie un entraîneur à un gymnaste. """
|
||||||
|
trainer_id = request.POST.get("trainer_id", None)
|
||||||
|
|
||||||
|
if gymnast_id and trainer_id:
|
||||||
|
gymnast = get_object_or_404(Gymnast, pk=gymnast_id)
|
||||||
|
gymnast.trainers.add(get_object_or_404(User, pk=trainer_id))
|
||||||
|
return HttpResponse(status=200)
|
||||||
|
|
||||||
|
if gymnast_id:
|
||||||
|
print("Error : can not link Gymnast and Trainer. Missing trainer id.")
|
||||||
|
else:
|
||||||
|
print("Error : can not link Gymnast and Trainer. Missing gymnast id.")
|
||||||
|
return HttpResponse(status=500)
|
||||||
|
|
||||||
|
|
||||||
|
@login_required
|
||||||
|
@require_http_methods(["POST"])
|
||||||
|
def unlink_trainer_to_gymnast(request, gymnast_id):
|
||||||
|
""" Délie un entraîneur d'un gymanste. """
|
||||||
|
trainer_id = request.POST.get("trainer_id", None)
|
||||||
|
|
||||||
|
if gymnast_id and trainer_id:
|
||||||
|
gymnast = get_object_or_404(Gymnast, pk=gymnast_id)
|
||||||
|
gymnast.trainers.remove(get_object_or_404(User, pk=trainer_id))
|
||||||
|
return HttpResponse(status=200)
|
||||||
|
|
||||||
|
if gymnast_id:
|
||||||
|
print("Error : can not link Gymnast and Trainer. Missing trainer id.")
|
||||||
|
else:
|
||||||
|
print("Error : can not link Gymnast and Trainer. Missing gymnast id.")
|
||||||
|
return HttpResponse(status=500)
|
||||||
|
|
||||||
|
|
||||||
@login_required
|
@login_required
|
||||||
@require_http_methods(["GET"])
|
@require_http_methods(["GET"])
|
||||||
def gymnast_display_skill(request, gymnast_id):
|
def gymnast_display_skill(request, gymnast_id):
|
||||||
|
|
|
@ -72,7 +72,7 @@
|
||||||
<label for="id_informations" class="col-4 col-sm-2 col-md-2 col-lg-2 col-xl-2 col-form-label">Informations</label>
|
<label for="id_informations" class="col-4 col-sm-2 col-md-2 col-lg-2 col-xl-2 col-form-label">Informations</label>
|
||||||
<div class="col-8 col-sm-10 col-md-10 col-lg-10 col-xl-10 {% if form.informations.errors %}has-danger{% endif %}">
|
<div class="col-8 col-sm-10 col-md-10 col-lg-10 col-xl-10 {% if form.informations.errors %}has-danger{% endif %}">
|
||||||
{{ form.informations }}
|
{{ form.informations }}
|
||||||
{% if form.informations.errors %} <span class="btn btn-sm btn-danger-outline">{% for error in form.informations.errors %}{{ error }}{% endfor %}</span>{% endif %}
|
{% if form.informations.errors %} <span class="btn btn-sm">{% for error in form.informations.errors %}{{ error }}{% endfor %}</span>{% endif %}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group text-center">
|
<div class="form-group text-center">
|
||||||
|
|
|
@ -14,21 +14,21 @@
|
||||||
<label for="id_template_color" class="col-4 col-sm-4 col-md-4 col-lg-4 col-xl-4 col-form-label">Template</label>
|
<label for="id_template_color" class="col-4 col-sm-4 col-md-4 col-lg-4 col-xl-4 col-form-label">Template</label>
|
||||||
<div class="col-8 col-sm-7 col-md-6 col-lg-5 col-xl-4 {% if form.template_color.errors %}has-danger{% endif %}">
|
<div class="col-8 col-sm-7 col-md-6 col-lg-5 col-xl-4 {% if form.template_color.errors %}has-danger{% endif %}">
|
||||||
{{ form.template_color }}
|
{{ form.template_color }}
|
||||||
{% if form.template_color.errors %} <span class="btn btn-sm btn-danger-outline">{% for error in form.template_color.errors %}{{ error }}{% endfor %}</span>{% endif %}
|
{% if form.template_color.errors %} <span class="btn btn-sm">{% for error in form.template_color.errors %}{{ error }}{% endfor %}</span>{% endif %}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group row">
|
<div class="form-group row">
|
||||||
<label for="id_is_sidebar_minified" class="col-4 col-sm-4 col-md-4 col-lg-4 col-xl-4 col-form-label">Sidebar active</label>
|
<label for="id_is_sidebar_minified" class="col-4 col-sm-4 col-md-4 col-lg-4 col-xl-4 col-form-label">Sidebar active</label>
|
||||||
<div class="col-8 col-sm-2 col-md-2 col-lg-2 col-xl-2 {% if form.is_sidebar_minified.errors %}has-danger{% endif %}">
|
<div class="col-8 col-sm-2 col-md-2 col-lg-2 col-xl-2 {% if form.is_sidebar_minified.errors %}has-danger{% endif %}">
|
||||||
{{ form.is_sidebar_minified }}
|
{{ form.is_sidebar_minified }}
|
||||||
{% if form.is_sidebar_minified.errors %} <span class="btn btn-sm btn-danger-outline">{% for error in form.is_sidebar_minified.errors %}{{ error }}{% endfor %}</span>{% endif %}
|
{% if form.is_sidebar_minified.errors %} <span class="btn btn-sm">{% for error in form.is_sidebar_minified.errors %}{{ error }}{% endfor %}</span>{% endif %}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group row">
|
<div class="form-group row">
|
||||||
<label for="id_sidebar_color" class="col-4 col-sm-4 col-md-4 col-lg-4 col-xl-4 col-form-label">Sidebar Color</label>
|
<label for="id_sidebar_color" class="col-4 col-sm-4 col-md-4 col-lg-4 col-xl-4 col-form-label">Sidebar Color</label>
|
||||||
<div class="col-8 col-sm-7 col-md-6 col-lg-5 col-xl-4 {% if form.sidebar_color.errors %}has-danger{% endif %}">
|
<div class="col-8 col-sm-7 col-md-6 col-lg-5 col-xl-4 {% if form.sidebar_color.errors %}has-danger{% endif %}">
|
||||||
{{ form.sidebar_color }}
|
{{ form.sidebar_color }}
|
||||||
{% if form.sidebar_color.errors %} <span class="btn btn-sm btn-danger-outline">{% for error in form.sidebar_color.errors %}{{ error }}{% endfor %}</span>{% endif %}
|
{% if form.sidebar_color.errors %} <span class="btn btn-sm">{% for error in form.sidebar_color.errors %}{{ error }}{% endfor %}</span>{% endif %}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<br />
|
<br />
|
||||||
|
|
Binary file not shown.
Before Width: | Height: | Size: 112 KiB After Width: | Height: | Size: 171 KiB |
Loading…
Reference in New Issue