store room owner
This commit is contained in:
1 parent
c5e9b1d18a
commit
489fda27d3
6 files changed
+140
-12
No files matched your search
+27
-2
@@ -6,7 +6,6 @@ from .models import *
|
||||
|
||||
admin.site.register(Customer)
|
||||
admin.site.register(PhoneNumber)
|
||||
admin.site.register(StoreRoom)
|
||||
admin.site.register(ProductCategory)
|
||||
admin.site.register(Product)
|
||||
admin.site.register(ProductInStore)
|
||||
@@ -49,4 +48,30 @@ class StoreTransferRequestAdmin(admin.ModelAdmin):
|
||||
search_fields = ['id', 'desc', 'product__product_name', 'requester__username']
|
||||
|
||||
# ۶. غیرقابل ادیت کردن فیلدهای حساس مالی در پنل ادمین (اختیاری اما برای Enterprise الزامی است)
|
||||
readonly_fields = ['created_at', 'updated_at']
|
||||
readonly_fields = ['created_at', 'updated_at']
|
||||
|
||||
class StoreRoomOwnerInline(admin.TabularInline):
|
||||
"""
|
||||
این کلاس باعث میشود مالکین انبار به صورت یک جدول کوچک
|
||||
در داخل همان صفحه مدیریت انبار نمایش داده شوند.
|
||||
"""
|
||||
model = StoreRoomOwner
|
||||
extra = 1 # تعداد ردیفهای خالی برای افزودن مالک جدید
|
||||
verbose_name = "مالک انبار"
|
||||
verbose_name_plural = "مالکین انبار"
|
||||
|
||||
@admin.register(StoreRoom)
|
||||
class StoreRoomAdmin(admin.ModelAdmin):
|
||||
list_display = ('store_name', 'get_owners_count')
|
||||
search_fields = ('store_name',)
|
||||
|
||||
# فیلد user یک M2M معمولی است، پس filter_horizontal روی آن عالی کار میکند
|
||||
filter_horizontal = ('user',)
|
||||
|
||||
# فیلد owners چون جدول واسط دارد، باید از طریق Inline مدیریت شود
|
||||
inlines = [StoreRoomOwnerInline]
|
||||
|
||||
def get_owners_count(self, obj):
|
||||
"""نمایش تعداد مالکین در لیست اصلی انبارها"""
|
||||
return obj.owners.count()
|
||||
get_owners_count.short_description = "تعداد مالکین"
|
||||
Reference in new issue
Block a user