forked from erp-dev/erp
fix: added external_finished_product into admin
This commit is contained in:
@@ -1,5 +1,5 @@
|
|||||||
from django.contrib import admin
|
from django.contrib import admin
|
||||||
from .models import Shipment, SalesItem
|
from .models import ExternalFinishedProduct, Shipment, SalesItem
|
||||||
|
|
||||||
|
|
||||||
class SalesItemInline(admin.TabularInline):
|
class SalesItemInline(admin.TabularInline):
|
||||||
@@ -9,14 +9,21 @@ class SalesItemInline(admin.TabularInline):
|
|||||||
readonly_fields = ['created_by']
|
readonly_fields = ['created_by']
|
||||||
|
|
||||||
|
|
||||||
|
class ExternalFinishedProductInline(admin.TabularInline):
|
||||||
|
model = ExternalFinishedProduct
|
||||||
|
extra = 1
|
||||||
|
fields = ['style_name', 'num_of_rolls', 'remark', 'created_by', 'created_at']
|
||||||
|
readonly_fields = ['created_by', 'created_at']
|
||||||
|
|
||||||
|
|
||||||
@admin.register(Shipment)
|
@admin.register(Shipment)
|
||||||
class ShipmentAdmin(admin.ModelAdmin):
|
class ShipmentAdmin(admin.ModelAdmin):
|
||||||
list_display = ['id', 'customer', 'shipment_date', 'items_count', 'created_by', 'created_at']
|
list_display = ['id', 'merchant', 'customer', 'shipment_date', 'status', 'external_id', 'items_count', 'created_by', 'created_at']
|
||||||
list_filter = ['shipment_date', 'created_at']
|
list_filter = ['merchant', 'status', 'shipment_date', 'created_at']
|
||||||
search_fields = ['customer__name', 'remark']
|
search_fields = ['customer__name', 'remark', 'external_id']
|
||||||
readonly_fields = ['created_at', 'updated_at', 'created_by']
|
readonly_fields = ['created_at', 'updated_at', 'created_by']
|
||||||
date_hierarchy = 'shipment_date'
|
date_hierarchy = 'shipment_date'
|
||||||
inlines = [SalesItemInline]
|
inlines = [SalesItemInline, ExternalFinishedProductInline]
|
||||||
|
|
||||||
def items_count(self, obj):
|
def items_count(self, obj):
|
||||||
return obj.items.count()
|
return obj.items.count()
|
||||||
@@ -30,7 +37,7 @@ class ShipmentAdmin(admin.ModelAdmin):
|
|||||||
def save_formset(self, request, form, formset, change):
|
def save_formset(self, request, form, formset, change):
|
||||||
instances = formset.save(commit=False)
|
instances = formset.save(commit=False)
|
||||||
for instance in instances:
|
for instance in instances:
|
||||||
if isinstance(instance, SalesItem) and not instance.pk:
|
if isinstance(instance, (SalesItem, ExternalFinishedProduct)) and not instance.pk:
|
||||||
instance.created_by = request.user
|
instance.created_by = request.user
|
||||||
instance.save()
|
instance.save()
|
||||||
formset.save_m2m()
|
formset.save_m2m()
|
||||||
@@ -54,3 +61,17 @@ class SalesItemAdmin(admin.ModelAdmin):
|
|||||||
if not change:
|
if not change:
|
||||||
obj.created_by = request.user
|
obj.created_by = request.user
|
||||||
super().save_model(request, obj, form, change)
|
super().save_model(request, obj, form, change)
|
||||||
|
|
||||||
|
|
||||||
|
@admin.register(ExternalFinishedProduct)
|
||||||
|
class ExternalFinishedProductAdmin(admin.ModelAdmin):
|
||||||
|
list_display = ['id', 'shipment', 'style_name', 'num_of_rolls', 'remark', 'created_by', 'created_at']
|
||||||
|
list_filter = ['created_at', ('shipment', admin.EmptyFieldListFilter)]
|
||||||
|
search_fields = ['style_name', 'remark', 'shipment__external_id', 'shipment__customer__name']
|
||||||
|
readonly_fields = ['created_at', 'updated_at', 'created_by']
|
||||||
|
raw_id_fields = ['shipment']
|
||||||
|
|
||||||
|
def save_model(self, request, obj, form, change):
|
||||||
|
if not change:
|
||||||
|
obj.created_by = request.user
|
||||||
|
super().save_model(request, obj, form, change)
|
||||||
|
|||||||
Reference in New Issue
Block a user