|
@@ -52,15 +52,17 @@ public class DataPermissionFilterBuilder : IDataPermissionFilterBuilder, IScopeD
|
|
|
|
|
|
public Expression<Func<TEntity, bool>> BuildWithFlowHandleFilter<TEntity>() where TEntity : class, IEntity<string>, IDataPermission, IWorkflow, new()
|
|
|
{
|
|
|
+ var userId = _sessionContext.RequiredUserId;
|
|
|
+ var orgId = _sessionContext.RequiredOrgId;
|
|
|
var roles = _sessionContext.Roles;
|
|
|
if (roles != null && roles.Contains(RoleSeedData.AdminRole))
|
|
|
return d => true;
|
|
|
|
|
|
return d =>
|
|
|
- (SqlFunc.JsonArrayAny(d.FlowedUserIds, _sessionContext.RequiredUserId) ||
|
|
|
- SqlFunc.JsonArrayAny(d.FlowedOrgIds, _sessionContext.RequiredOrgId)) &&
|
|
|
- (SqlFunc.JsonListObjectAny(d.HandlerUsers, "Key", _sessionContext.RequiredUserId) ||
|
|
|
- SqlFunc.JsonListObjectAny(d.HandlerOrgs, "Key", _sessionContext.RequiredOrgId));
|
|
|
+ (SqlFunc.JsonArrayAny(d.FlowedUserIds, userId) ||
|
|
|
+ SqlFunc.JsonArrayAny(d.FlowedOrgIds, orgId)) &&
|
|
|
+ (SqlFunc.JsonListObjectAny(d.HandlerUsers, "Key", userId) ||
|
|
|
+ SqlFunc.JsonListObjectAny(d.HandlerOrgs, "Key", orgId));
|
|
|
}
|
|
|
|
|
|
public Expression<Func<TEntity, Workflow, bool>> BuildIncludeFlowData1<TEntity>() where TEntity : class, IEntity<string>, IDataPermission, IWorkflow, new()
|