1
0
forked from erp-dev/erp

feat: added frontend_pages models(basic_info) and api(v2), support employees query pages that they can visit by themself token

This commit is contained in:
2026-01-07 14:28:17 +08:00
parent 941f797e35
commit 4566c2a2c8
14 changed files with 1079 additions and 61 deletions

View File

@@ -142,12 +142,33 @@ class EmployeeAdmin(AdminBase):
@admin.register(models.EmployeeType)
class EmployeeTypeAdmin(AdminBase):
list_display = ('id', 'title', 'description')
list_display = ('id', 'title', 'description', 'visible_pages_count')
search_fields = ('title', 'description')
filter_horizontal = ('visible_pages',) # 便于多对多字段选择
def get_readonly_fields(self, request, obj=...):
return []
@admin.display(description='可见页面数')
def visible_pages_count(self, obj):
return obj.visible_pages.count()
@admin.register(models.FrontendPage)
class FrontendPageAdmin(AdminBase):
"""前端页面管理"""
list_display = ('key', 'label', 'page_type', 'parent', 'sort_order', 'is_active')
list_filter = ('page_type', 'is_active', 'parent')
search_fields = ('key', 'label')
list_editable = ('sort_order', 'is_active')
ordering = ('sort_order', 'id')
def get_readonly_fields(self, request, obj=...):
# key 字段创建后不可修改
if obj:
return ['key']
return []
@admin.register(models.DeviceInfo)
class DeviceInfoAdmin(AdminBase):