|
|
|
|
@ -3,10 +3,26 @@ import autocomplete_light |
|
|
|
|
from django.db.models import Q |
|
|
|
|
|
|
|
|
|
from models import (Country, Currency, Measure) |
|
|
|
|
from project.customer.models import Client |
|
|
|
|
|
|
|
|
|
autocomplete_light.register(Country, name='ACCountry') |
|
|
|
|
autocomplete_light.register(Currency, name='ACCurrency') |
|
|
|
|
autocomplete_light.register(Measure, name='ACMeasure') |
|
|
|
|
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') |
|
|
|
|
|