完成五人团队正式内用最小收口(07-18-small-team-internal-readiness)
这个提交包含在:
@@ -3,7 +3,13 @@ const { AppError } = require("../utils/AppError");
|
||||
const { buildAuditLogData } = require("../utils/audit");
|
||||
const { sendData } = require("../utils/reply");
|
||||
const { hasPermission, ROLE_PERMISSIONS, resolveEntityPermission } = require("../constants/permissions");
|
||||
const { getWorkflowStepsSnapshot, resolveActionableStep, toMoneyString } = require("../utils/workflow");
|
||||
const {
|
||||
BUSINESS_APPROVAL_ROLE_CODES,
|
||||
getWorkflowStepsSnapshot,
|
||||
isBusinessApprovalRoleCode,
|
||||
resolveActionableStep,
|
||||
toMoneyString,
|
||||
} = require("../utils/workflow");
|
||||
const { consumeReservedLeave, releaseReservedLeave, formatDateOnly } = require("../services/leave");
|
||||
const { FEATURE_FLAG_KEYS, evaluateFeatureFlag } = require("../services/featureFlags");
|
||||
const { confirmBudgetForEntity, releaseReservedBudgetIfAny } = require("../services/purchaseBudget");
|
||||
@@ -75,7 +81,7 @@ const APPROVER_LIST_QUERY_SCHEMA = z.object({
|
||||
pageSize: z.coerce.number().int().min(1).max(100).optional(),
|
||||
});
|
||||
|
||||
const APPROVER_ROLE_CODES = Object.keys(ROLE_PERMISSIONS).filter((roleCode) =>
|
||||
const APPROVER_ROLE_CODES = BUSINESS_APPROVAL_ROLE_CODES.filter((roleCode) =>
|
||||
ROLE_PERMISSIONS[roleCode].some((permissionCode) => permissionCode.endsWith(".approve")),
|
||||
);
|
||||
|
||||
@@ -878,7 +884,7 @@ function resolveBusinessApprovePermission(entityType) {
|
||||
}
|
||||
|
||||
function roleHasBusinessApprovePermission(roleCode, approvePermission) {
|
||||
if (!roleCode || roleCode === "admin" || !approvePermission) {
|
||||
if (!isBusinessApprovalRoleCode(roleCode) || !approvePermission) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -3225,6 +3231,7 @@ module.exports.__testables = {
|
||||
buildWorkflowEntityVisibilityWhere,
|
||||
calculateWorkflowTaskDueAt,
|
||||
canViewWorkflowEntityType,
|
||||
employeeHasBusinessApproveRole,
|
||||
handlePurchaseApprovalErpSync,
|
||||
isWorkflowTaskOverdue,
|
||||
listAllowedActionsForTask,
|
||||
|
||||
在新工单中引用
屏蔽一个用户