forked from erp-dev/erp
fix: current_state has been changed to a computed property
This commit is contained in:
@@ -186,26 +186,32 @@ class BusinessObjectAdmin(admin.ModelAdmin):
|
||||
|
||||
@admin.display(description='当前状态', ordering='process')
|
||||
def current_state_display(self, obj: models.BusinessObject):
|
||||
from django.conf import settings
|
||||
from . import services
|
||||
current_state = obj.get_current_state()
|
||||
overall_status = services.get_overall_status(obj)
|
||||
|
||||
if overall_status == 'not_started':
|
||||
return '未开始'
|
||||
elif overall_status == 'completed':
|
||||
return f'已完成 ({current_state.name if current_state else "-"})'
|
||||
elif current_state:
|
||||
# 显示最后完成的状态
|
||||
return f'进行中 (下一步: {current_state.name})'
|
||||
overall_status = services.get_overall_status(obj)
|
||||
mode = getattr(settings, 'STATEFLOW_CURRENT_STATE_MODE', 'NEXT')
|
||||
|
||||
if overall_status == 'completed':
|
||||
return '已完成'
|
||||
|
||||
# 进行中状态
|
||||
current_state = obj.get_current_state()
|
||||
if current_state:
|
||||
if mode == 'NEXT':
|
||||
return f'进行中 (下一步: {current_state.name})'
|
||||
else: # LAST
|
||||
return f'进行中 (已完成: {current_state.name})'
|
||||
|
||||
return '-'
|
||||
|
||||
@admin.display(description='进度')
|
||||
def progress(self, obj: models.BusinessObject):
|
||||
return f"{obj.get_progress_percentage():.1f}%"
|
||||
|
||||
@admin.display(description='最后完成状态参数')
|
||||
@admin.display(description='当前状态参数')
|
||||
def params(self, obj: models.BusinessObject):
|
||||
"""显示最后完成状态的参数"""
|
||||
"""显示当前状态的参数(根据配置模式决定是最后完成的还是下一个待执行的)"""
|
||||
current_state = obj.get_current_state()
|
||||
if current_state:
|
||||
params = current_state.parameters.all()
|
||||
|
||||
Reference in New Issue
Block a user