From 1ba45562b890765c60aa109cec035e94d8a1649a Mon Sep 17 00:00:00 2001 From: Max Yakovenko Date: Mon, 23 Jul 2018 02:43:18 +0300 Subject: [PATCH] add css class dynamically in product search form button --- products/context_processors.py | 13 +++++++++---- products/forms.py | 8 ++++++-- 2 files changed, 15 insertions(+), 6 deletions(-) diff --git a/products/context_processors.py b/products/context_processors.py index f931374..7e551ce 100644 --- a/products/context_processors.py +++ b/products/context_processors.py @@ -1,11 +1,16 @@ - from products.forms import ProductSearchForm from products.models import ProductCategory def product_search_form(request): - return {'product_search_form': ProductSearchForm()} + left_product_search_form = ProductSearchForm(submit_css_class='left-menu__search-btn') + content_product_search_form = ProductSearchForm(submit_css_class='content__search-btn') + if ProductSearchForm.form_action.__str__() in request.path and request.GET.get('name'): + left_product_search_form.initial = {'name': request.GET.get('name')} + return { + 'left_product_search_form': left_product_search_form, + 'content_product_search_form': content_product_search_form + } def product_root_categories(request): - categories = {'product_root_categories': ProductCategory.objects.get_root_categories()} - return categories + return {'product_root_categories': ProductCategory.objects.get_root_categories()} diff --git a/products/forms.py b/products/forms.py index 4ba581c..776bbff 100644 --- a/products/forms.py +++ b/products/forms.py @@ -40,14 +40,18 @@ from .models import Product class ProductSearchForm(forms.ModelForm): field_template = 'bootstrap/forms/product_search.html' + form_action = reverse_lazy('products:product_search') + submit_css_class = None def __init__(self, *args, **kwargs): + self.submit_css_class = kwargs.pop('submit_css_class') + self.helper = FormHelper() - self.helper.form_action = reverse_lazy('products:search') + self.helper.form_action = self.form_action self.helper.form_method = 'get' self.helper.layout = Layout( Field('name', template=self.field_template, placeholder="Поиск программы..."), - Button(_('search'), 'search', template=self.field_template) + Button(_('search'),value="search", css_class=self.submit_css_class, template=self.field_template) ) super().__init__(*args, **kwargs)