Attempt at fancy supplier search

#374
This commit is contained in:
2019-11-24 14:36:53 +00:00
parent 22f0041eaf
commit 127b22fe71
3 changed files with 65 additions and 2 deletions

View File

@@ -8,7 +8,7 @@
{% if create or edit or duplicate %}
<div class="form-group">
<label for="{{ form.purchased_from.id_for_label }}">Purchased From</label>
{% render_field form.purchased_from|add_class:"form-control" %}
{% include 'partials/supplier_picker.html' %}
</div>
<div class="form-group">

View File

@@ -0,0 +1,63 @@
<select name="parent_s" id="parent_s_id" class="selectpicker">
{% if object.parent%}
<option value="{{object.parent.pk}}" selected>{{object.parent.name}}</option>
{% endif %}
</select>
{% load static %}
{% block css %}
<link rel="stylesheet" href="{% static "css/bootstrap-select.min.css" %}"/>
<link rel="stylesheet" href="{% static "css/ajax-bootstrap-select.css" %}"/>
{% endblock %}
{% block preload_js %}
<script src="{% static "js/bootstrap-select.js" %}"></script>
<script src="{% static "js/ajax-bootstrap-select.js" %}"></script>
{% endblock %}
{% block js %}
<script>
$('#parent_s_id')
.selectpicker({
liveSearch: true
})
.ajaxSelectPicker({
ajax: {
url: '{% url 'supplier_search_json'%}',
type: "get",
data: function () {
var params = {
{% verbatim %}query: '{{{q}}}'{% endverbatim %}
};
return params;
}
},
locale: {
emptyTitle: 'Search for supplier...'
},
preprocessData: function(data){
var suppliers = [];
if(data.length){
var len = data.length;
for(var i = 0; i < len; i++){
var curr = data[i];
suppliers.push(
{
'value': curr.id,
'text': curr.label,
'disabled': false
}
);
}
suppliers.push(
{
'value': null,
'text': "(no selection)"
});
}
return assets;
},
preserveSelected: false
});
</script>
{% endblock js %}

View File

@@ -172,7 +172,7 @@ class SupplierSearch(SupplierList):
result = []
for supplier in context["object_list"]:
result.append({"name": supplier.name})
result.append({"id": supplier.pk, "name": supplier.name})
return JsonResponse(result, safe=False)