update product and shop admin permissions
This commit is contained in:
+14
-14
@@ -62,25 +62,25 @@ class ShopModelAdmin(ModelAdmin, ImportExportModelAdmin):
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
# def get_queryset(self, request):
|
def get_queryset(self, request):
|
||||||
|
|
||||||
# if request.user.is_superuser:
|
if request.user.is_superuser:
|
||||||
# return ShopModel.objects.all()
|
return ShopModel.objects.all()
|
||||||
|
|
||||||
# if not hasattr(request.user, 'shop'):
|
if not hasattr(request.user, 'shop'):
|
||||||
# return ShopModel.objects.none()
|
return ShopModel.objects.none()
|
||||||
|
|
||||||
# queryset = ShopModel.objects.filter(id=request.user.shop.id)
|
queryset = ShopModel.objects.filter(id=request.user.shop.id)
|
||||||
# return queryset
|
return queryset
|
||||||
|
|
||||||
# def has_view_permission(self, request, obj=None):
|
def has_view_permission(self, request, obj=None):
|
||||||
# if request.user.is_superuser or obj == None:
|
if request.user.is_superuser or obj == None:
|
||||||
# return True
|
return True
|
||||||
|
|
||||||
# if not hasattr(request.user, 'shop'):
|
if not hasattr(request.user, 'shop'):
|
||||||
# return False
|
return False
|
||||||
|
|
||||||
# return request.user.shop == obj
|
return request.user.shop == obj
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -313,7 +313,7 @@ class ProductModelAdmin(ProductAdminPermission, ModelAdmin, ImportExportModelAdm
|
|||||||
if request.user.is_superuser:
|
if request.user.is_superuser:
|
||||||
return ['slug', 'created_at']
|
return ['slug', 'created_at']
|
||||||
else:
|
else:
|
||||||
return ['show_in_bot', 'bot_banner', 'shop', 'created_at', 'show']
|
return ['show_in_bot', 'bot_banner', 'created_at', 'show', 'meta_description', 'meta_keywords', 'meta_rating', 'rating', 'view', 'slug']
|
||||||
|
|
||||||
def display_price(self, obj):
|
def display_price(self, obj):
|
||||||
if obj.variants.all().first():
|
if obj.variants.all().first():
|
||||||
|
|||||||
@@ -0,0 +1,23 @@
|
|||||||
|
# Generated by Django 5.1.2 on 2026-01-04 17:59
|
||||||
|
|
||||||
|
from django.db import migrations, models
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
('product', '0066_alter_productvariant_currency_and_more'),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='productmodel',
|
||||||
|
name='image',
|
||||||
|
field=models.ImageField(null=True, upload_to='product_main/'),
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='productmodel',
|
||||||
|
name='related_products',
|
||||||
|
field=models.ManyToManyField(to='product.productmodel', verbose_name='محصولات مرتبط'),
|
||||||
|
),
|
||||||
|
]
|
||||||
@@ -178,7 +178,7 @@ class InPackItems(models.Model):
|
|||||||
class ProductModel(models.Model):
|
class ProductModel(models.Model):
|
||||||
name = models.CharField(max_length=255, verbose_name='نام')
|
name = models.CharField(max_length=255, verbose_name='نام')
|
||||||
description = models.TextField(verbose_name='توضیحات')
|
description = models.TextField(verbose_name='توضیحات')
|
||||||
image = models.ImageField(upload_to='product_main/', blank=True, null=True)
|
image = models.ImageField(upload_to='product_main/', null=True)
|
||||||
rating = models.PositiveIntegerField(default=0, verbose_name='امتیاز')
|
rating = models.PositiveIntegerField(default=0, verbose_name='امتیاز')
|
||||||
show = models.BooleanField(default=False, verbose_name='نمایش در خانه')
|
show = models.BooleanField(default=False, verbose_name='نمایش در خانه')
|
||||||
view = models.IntegerField(default=0, verbose_name='بازدید')
|
view = models.IntegerField(default=0, verbose_name='بازدید')
|
||||||
@@ -195,7 +195,7 @@ class ProductModel(models.Model):
|
|||||||
category = models.ForeignKey(SubCategoryModel, null=True, on_delete=models.SET_NULL,
|
category = models.ForeignKey(SubCategoryModel, null=True, on_delete=models.SET_NULL,
|
||||||
related_name='products', verbose_name='دسته بندی محصول')
|
related_name='products', verbose_name='دسته بندی محصول')
|
||||||
related_products = models.ManyToManyField(
|
related_products = models.ManyToManyField(
|
||||||
'self', blank=True, verbose_name='محصولات مرتبط')
|
'self', verbose_name='محصولات مرتبط')
|
||||||
shop = models.ForeignKey('account.ShopModel', on_delete=models.CASCADE,
|
shop = models.ForeignKey('account.ShopModel', on_delete=models.CASCADE,
|
||||||
related_name='products', verbose_name='فروشگاه', blank=True, null=True)
|
related_name='products', verbose_name='فروشگاه', blank=True, null=True)
|
||||||
show_in_bot = models.BooleanField(
|
show_in_bot = models.BooleanField(
|
||||||
|
|||||||
Reference in New Issue
Block a user