You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

28 lines
1.1 KiB

# -*- coding: utf-8 -*-
import autocomplete_light
from django.db.models import Q
from models import (Country, Currency, Measure)
from project.customer.models import Client
class AutocompleteClient(autocomplete_light.AutocompleteModelBase):
'''Автокомплит клиента в зависимости от юзера
'''
autocomplete_js_attributes = {'placeholder': u'Название предприятия или ИНН или ОКПО'}
def choices_for_request(self):
q = self.request.GET.get('q', '')
user_ = self.request.user
exclude = self.request.GET.getlist('exclude', [])
choices = self.choices.filter(user=user_).\
filter(Q(name__contains=q) | Q(inn=q) | Q(okpo=q)).\
exclude(pk__in=exclude)
return self.order_choices(choices)[0:self.limit_choices]
autocomplete_light.register(Country, name='ACCountry')
autocomplete_light.register(Currency, name='ACCurrency')
autocomplete_light.register(Measure, name='ACMeasure')
autocomplete_light.register(Client, AutocompleteClient, name='ACClient')