ajoute un filtre sur la description au browser d'entité
This commit is contained in:
parent
026f1e9adf
commit
8a15230f0b
|
@ -2,7 +2,10 @@
|
|||
{% load sekizai_tags %}
|
||||
|
||||
{% block content %}
|
||||
<input type="text" id="entity-input"/>
|
||||
<div>
|
||||
<label for="entity-input">Sélection:</label><input type="text" id="entity-input"/>
|
||||
<label for="entity-description-filter">Filtre sur la description:</label><input type="text" id="entity-description-filter"/>
|
||||
</div>
|
||||
<style>
|
||||
.miller {
|
||||
border: 1px solid #ccc;
|
||||
|
@ -59,7 +62,13 @@
|
|||
$('div', top_container).each(function (key, value) {
|
||||
total_width += $(value).width();
|
||||
});
|
||||
$.getJSON('/entity/' + code, function (data) {
|
||||
var filter_input = $('#entity-description-filter');
|
||||
if (! /^\s*$/.test(filter_input.attr('value'))) {
|
||||
suffix = '?filter=' + filter_input.attr('value');
|
||||
} else {
|
||||
suffix = '';
|
||||
}
|
||||
$.getJSON('/entity/' + code + '/' + suffix, function (data) {
|
||||
if (data.length) {
|
||||
var container = $('<div class="miller-column"></div>').appendTo(top_container);
|
||||
$(container).css({'top': 0, 'left': total_width});
|
||||
|
|
|
@ -3,15 +3,20 @@
|
|||
import json
|
||||
|
||||
from django.http import HttpResponse
|
||||
from django.db.models import Q
|
||||
from django.shortcuts import render
|
||||
|
||||
import polynum.base.models as models
|
||||
|
||||
def entity(request, parent_code=None):
|
||||
_filter = request.GET.get('filter')
|
||||
if parent_code:
|
||||
qs = models.Entity.objects.filter(parent_relations__parent__code=parent_code, parent_relations__direct=True)
|
||||
else:
|
||||
qs = models.Entity.objects.filter(parent_relations__isnull=True)
|
||||
if _filter:
|
||||
q = Q(description__icontains=_filter) | Q(children_relations__child__description__icontains=_filter)
|
||||
qs = qs.filter(q).distinct()
|
||||
return HttpResponse(json.dumps(list(qs.values('code', 'description'))))
|
||||
|
||||
def entity_selector(request):
|
||||
|
|
Reference in New Issue