update product and shop admin permissions

This commit is contained in:
Parsa Nazer
2026-01-04 21:29:50 +03:30
parent 14f51dd2f3
commit 031beec97f
3 changed files with 39 additions and 16 deletions
+14 -14
View File
@@ -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='محصولات مرتبط'),
),
]
+2 -2
View File
@@ -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(