change color image video field and place it in product varient model
This commit is contained in:
+43
-30
@@ -77,11 +77,24 @@ class AttributeValueAdmin(ModelAdmin, ImportExportModelAdmin):
|
||||
"widget": ArrayWidget,
|
||||
}
|
||||
}
|
||||
def get_form(self, request, obj=None, change=False, **kwargs):
|
||||
form = super().get_form(request, obj, change, **kwargs)
|
||||
form.base_fields["color"].widget = UnfoldAdminColorInputWidget()
|
||||
return form
|
||||
# def get_form(self, request, obj=None, change=False, **kwargs):
|
||||
# form = super().get_form(request, obj, change, **kwargs)
|
||||
# form.base_fields["color"].widget = UnfoldAdminColorInputWidget()
|
||||
# return form
|
||||
|
||||
@admin.register(ProductImageModel)
|
||||
class ProductImagesAdmin(ModelAdmin):
|
||||
import_form_class = ImportForm
|
||||
export_form_class = ExportForm
|
||||
search_fields = ['name']
|
||||
compressed_fields = True
|
||||
warn_unsaved_form = True
|
||||
|
||||
formfield_overrides = {
|
||||
ArrayField: {
|
||||
"widget": ArrayWidget,
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -92,14 +105,14 @@ class ProductVariantInLine(StackedInline):
|
||||
show_change_link = True
|
||||
tab = True
|
||||
min_num = 1
|
||||
autocomplete_fields = ['attributes']
|
||||
autocomplete_fields = ['attributes', 'in_pack_items', 'images']
|
||||
# search_fields = ['']
|
||||
|
||||
|
||||
def get_form(self, request, obj=None, change=False, **kwargs):
|
||||
form = super().get_form(request, obj, change, **kwargs)
|
||||
form.base_fields["color"].widget = UnfoldAdminColorInputWidget()
|
||||
return form
|
||||
def formfield_for_dbfield(self, db_field, request, **kwargs):
|
||||
if db_field.name == 'color':
|
||||
kwargs['widget'] = UnfoldAdminColorInputWidget()
|
||||
return super().formfield_for_dbfield(db_field, request, **kwargs)
|
||||
|
||||
|
||||
|
||||
@@ -138,15 +151,15 @@ class ProductModelAdmin(ModelAdmin, ImportExportModelAdmin):
|
||||
readonly_fields = ('slug', )
|
||||
search_fields = ['name', 'description', ]
|
||||
list_filter = ['show', 'category']
|
||||
autocomplete_fields = ['related_products', 'in_pack_items',]
|
||||
autocomplete_fields = ['related_products', ]
|
||||
# compressed_fields = True
|
||||
warn_unsaved_form = True
|
||||
list_display = ['display_image', 'display_price', 'view', 'show', 'rating', 'category', ]
|
||||
list_display = ['display_price', 'view', 'show', 'rating', 'category', ]
|
||||
fieldsets = (
|
||||
('فیلد های اصلی', {'fields': ('name', 'description', 'category', 'related_products', 'show',), "classes": ["tab"],}),
|
||||
('فیلد های سيو', {'fields': ('meta_description', 'meta_keywords', 'meta_rating', 'slug'), "classes": ["tab"],}),
|
||||
('فیلد های مربوط به کاربر', {'fields': ('rating', 'view',), "classes": ["tab"],}),
|
||||
('فیلد های ایتم های پک', {'fields': ('in_pack_items', ), "classes": ["tab"],})
|
||||
# ('فیلد های ایتم های پک', {'fields': ('in_pack_items', ), "classes": ["tab"],})
|
||||
|
||||
)
|
||||
formfield_overrides = {
|
||||
@@ -163,24 +176,24 @@ class ProductModelAdmin(ModelAdmin, ImportExportModelAdmin):
|
||||
return obj.get_toman_price()
|
||||
display_price.short_description = 'قیمت تومانی'
|
||||
|
||||
@display(description='محصول', header=True)
|
||||
def display_image(self, instance):
|
||||
if instance and instance.variants.first() and instance.variants.first().attributes.first():
|
||||
image = instance.variants.first().attributes.first().image.url if instance.variants.first().attributes.first().image else None
|
||||
else:
|
||||
image = None
|
||||
return [
|
||||
instance.name,
|
||||
None,
|
||||
None,
|
||||
{
|
||||
"path": image,
|
||||
"height": 30,
|
||||
"width": 30,
|
||||
"borderless": True,
|
||||
# "squared": True,
|
||||
},
|
||||
]
|
||||
# @display(description='محصول', header=True)
|
||||
# def display_image(self, instance):
|
||||
# if instance and instance.variants.first() and instance.variants.first().attributes.first():
|
||||
# image = instance.variants.first().attributes.first().image.url if instance.variants.first().attributes.first().image else None
|
||||
# else:
|
||||
# image = None
|
||||
# return [
|
||||
# instance.name,
|
||||
# None,
|
||||
# None,
|
||||
# {
|
||||
# "path": image,
|
||||
# "height": 30,
|
||||
# "width": 30,
|
||||
# "borderless": True,
|
||||
# # "squared": True,
|
||||
# },
|
||||
# ]
|
||||
# @display(
|
||||
# description=("نمایش در صفحه ی اصلی"),
|
||||
# label={
|
||||
|
||||
Reference in New Issue
Block a user