Adding jumpers lookup and update chrono creation
This commit is contained in:
parent
35f864e18a
commit
9cd111e403
|
@ -4,6 +4,7 @@ from . import views
|
|||
|
||||
jumper_urlpatterns = [
|
||||
path(r"", views.jumper_listing, name="jumper_list"),
|
||||
path(r"lookup/", views.jumper_lookup),
|
||||
path(r"details/<int:jumperid>/", views.jumper_details, name="jumper_details"),
|
||||
]
|
||||
|
||||
|
|
|
@ -2,10 +2,13 @@ from django.shortcuts import render, get_object_or_404
|
|||
from django.http import HttpResponse
|
||||
from django.contrib.auth.decorators import login_required
|
||||
from django.views.decorators.http import require_http_methods
|
||||
from django.db.models import Q
|
||||
|
||||
from .models import Club, Jumper
|
||||
from followup.models import Chrono, LearnedSkill
|
||||
|
||||
import simplejson
|
||||
|
||||
|
||||
@login_required
|
||||
@require_http_methods(["GET"])
|
||||
|
@ -17,6 +20,28 @@ def club_listing(request):
|
|||
return render(request, "clubs/list.html", context)
|
||||
|
||||
|
||||
@login_required
|
||||
@require_http_methods(["GET"])
|
||||
def jumper_lookup(request):
|
||||
"""
|
||||
Récupère la liste des gymnastes à la volée suivant des caractères de
|
||||
recherche entrés. (min 3 caractères)
|
||||
"""
|
||||
|
||||
results = []
|
||||
pattern = request.GET.get("pattern", None)
|
||||
|
||||
# Ignore queries shorter than length 3
|
||||
if pattern is not None and len(pattern) > 3:
|
||||
model_results = Jumper.objects.filter(
|
||||
Q(last_name__icontains=pattern) | Q(first_name__icontains=pattern)
|
||||
)
|
||||
results = [{"ID": x.id, "Name": str(x)} for x in model_results]
|
||||
|
||||
json = simplejson.dumps(results)
|
||||
return HttpResponse(json, content_type="application/json")
|
||||
|
||||
|
||||
@login_required
|
||||
@require_http_methods(["GET"])
|
||||
def jumper_listing(request):
|
||||
|
|
|
@ -61,10 +61,10 @@
|
|||
$(function(){
|
||||
blackDashboard.initDateTimePicker();
|
||||
|
||||
$('#id_gymnast_related').autocomplete({
|
||||
$('#id_jumper_related').autocomplete({
|
||||
source: function(request, response) {
|
||||
$.ajax({
|
||||
url: '/gymnast/lookup/?pattern=' + $('#id_gymnast_related').val(),
|
||||
url: '/jumper/lookup/?pattern=' + $('#id_jumper_related').val(),
|
||||
dataType: "json",
|
||||
success: function(data) {
|
||||
if(data.length != 0) {
|
||||
|
@ -72,7 +72,7 @@
|
|||
return {
|
||||
label: item.Name,
|
||||
value: item.Name,
|
||||
gymnastid: item.ID
|
||||
jumperid: item.ID
|
||||
}
|
||||
}))
|
||||
} else {
|
||||
|
@ -87,7 +87,7 @@
|
|||
},
|
||||
minLength: 3,
|
||||
select: function (event, ui) {
|
||||
$($(this).data('ref')).val(ui.item.gymnastid);
|
||||
$($(this).data('ref')).val(ui.item.jumperid);
|
||||
}
|
||||
});
|
||||
});
|
||||
|
|
|
@ -3,7 +3,18 @@
|
|||
{% block datacontent %}
|
||||
<div class="card mb-0">
|
||||
<div class="card-header">
|
||||
<h4 class="card-title"> Chronos Listing</h4>
|
||||
<div class="row">
|
||||
<div class="col-2">
|
||||
<h4 class="card-title"> Chronos Listing</h4>
|
||||
</div>
|
||||
<div class="col-1 ml-auto">
|
||||
<a href="{% url 'chrono_create' %}">
|
||||
<button type="submit" value="add" class="btn btn-icon btn-warning ">
|
||||
<i class="tim-icons icon-simple-add"></i>
|
||||
</button>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body pb-0">
|
||||
<div class="table-responsive pb-0">
|
||||
|
|
|
@ -16,7 +16,6 @@
|
|||
<th class="header text-left" style="width: 35%">Firstname</th>
|
||||
<th class="header text-left" style="width: 15%">Age</th>
|
||||
<th class="header text-left" style="width: 15%">Club</th>
|
||||
<th class="header text-center">Active ?</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
|
@ -27,7 +26,6 @@
|
|||
<td class="text-left"><a href="{% url 'jumper_details' jumper.id %}">{{ jumper.first_name }}</a></td>
|
||||
<td class="text-left">{{ jumper.age }}</td>
|
||||
<td class="text-left">{{ jumper.club.acronym }} ({{ jumper.club.city }})</td>
|
||||
<td class="text-center">{{ jumper.active }}</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
|
|
Loading…
Reference in New Issue