fix: 补全审计/出库审批/采购管理/借库审批的权限保护+公司隔离
- audit.py: 补@permission_required(system_audit)+import, 审计日志通过split_part关联用户表过滤公司 - outbound.py: 出库审批5个端点全补@permission_required(outbound_list) - purchase.py: 采购管理7个端点全补@permission_required(inbound_buy) - borrow_service: 借库审批列表通过applicant_id关联用户表过滤公司 - outbound_service: 出库审批列表通过applicant_id关联用户表过滤公司 - purchase_service: 采购列表通过base_id+requester_id双路过滤公司 - base_service/search_material: 去除debug日志 - decorators: 去除debug日志
This commit is contained in:
@ -356,6 +356,8 @@ class BorrowApprovalService:
|
||||
"""
|
||||
获取审批单列表
|
||||
"""
|
||||
from app.models.system import SysUser
|
||||
from app.utils.decorators import get_current_company_filter
|
||||
from sqlalchemy import desc
|
||||
|
||||
query = BorrowApproval.query
|
||||
@ -366,6 +368,12 @@ class BorrowApprovalService:
|
||||
if status is not None:
|
||||
query = query.filter(BorrowApproval.status == status)
|
||||
|
||||
# 【行级数据隔离】通过申请人关联用户表过滤公司
|
||||
company_limit = get_current_company_filter()
|
||||
if company_limit is not None:
|
||||
query = query.join(SysUser, BorrowApproval.applicant_id == SysUser.id) \
|
||||
.filter(SysUser.department == company_limit)
|
||||
|
||||
query = query.order_by(desc(BorrowApproval.created_at))
|
||||
|
||||
pagination = query.paginate(page=page, per_page=per_page, error_out=False)
|
||||
|
||||
Reference in New Issue
Block a user