edit parent_category in admin
This commit is contained in:
@@ -1,3 +1,4 @@
|
||||
from email.policy import default
|
||||
from dal import autocomplete
|
||||
|
||||
from django import forms
|
||||
@@ -10,5 +11,29 @@ class ProductTagForm(forms.ModelForm):
|
||||
model = Product
|
||||
fields = ('__all__')
|
||||
widgets = {
|
||||
'category': autocomplete.TagSelect2(url='category-autocomplete')
|
||||
'category': autocomplete.TagSelect2(url='category-tag-autocomplete')
|
||||
}
|
||||
|
||||
class CategoryTagForm(forms.ModelForm):
|
||||
name = forms.CharField(required=False, disabled=True)
|
||||
parent_category = autocomplete.Select2ListCreateChoiceField(required=False, widget=autocomplete.Select2(url='category-tag-autocomplete', attrs={"data-tags": "true"}))
|
||||
class Meta:
|
||||
model = CategoryTag
|
||||
fields = ('name', 'label', 'slug', 'parent_category')
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
super().__init__(*args, **kwargs)
|
||||
if self.instance.id:
|
||||
project_name_field = self.fields['parent_category']
|
||||
parent_category = self.instance.parent
|
||||
project_name_field.initial = parent_category
|
||||
project_name_field.choices = [(parent_category, parent_category)]
|
||||
|
||||
|
||||
def save(self, commit=True):
|
||||
parent_name = self.cleaned_data.get('parent_category', None)
|
||||
prefix = ''
|
||||
if parent_name:
|
||||
prefix = parent_name + '/'
|
||||
self.instance.name = prefix + self.instance.label
|
||||
return super(CategoryTagForm, self).save(commit=commit)
|
||||
Reference in New Issue
Block a user