Sepasoft MES Module Suite
signature.filter.create()
Creates an AuthenticationChallengeFilter for use with system.mes.signature.authorization.getPendingAuthRequests(filter). Configure the returned filter to limit pending authentication challenges by required role, required user, request text, completion state, or hidden/internal signature templates.
Syntax
Python |
system.mes.object.signature.filter.create() |
Parameters
This function takes no arguments.
Return Value
Type | Description |
|---|---|
AuthenticationChallengeFilter | A new filter object. The filter does not query pending requests by itself; pass it to system.mes.signature.authorization.getPendingAuthRequests(filter) after configuring it. |
Filter Methods
Each setter returns the same AuthenticationChallengeFilter instance, so calls can be chained.
Method | Type | Default | Description |
|---|---|---|---|
addRole(requiredRole) | String | No role filter | Includes requests whose signature expression contains the matching {role:...} predicate. Call multiple times to allow multiple roles. |
addRoles(roles) | Iterable[String] | No role filter | Adds each non-blank role from the iterable. A None iterable is ignored. |
setRequiredUser(requiredUser) | String | No user filter | Includes requests whose signature expression contains a matching {userName:...} predicate. Username matching is case-insensitive. |
setDescriptionContains(descriptionContains) | String | No description filter | Includes requests whose display text contains the supplied text. The display text is the request name, or request name plus description. |
setExcludeCompleted(exclude) | Boolean | False | When True, excludes request slots that already have an authorization result. |
setIncludeHidden(include) | Boolean | False | When True, includes requests created from hidden/internal signature templates. Hidden requests are excluded by default. |
Scope / Availability
Context | Availability |
|---|---|
Gateway scripts | Available when the Sepasoft Production module registers system.mes.object.signature.filter. |
Perspective workflows | Commonly used with system.mes.signature.authorization.getPendingAuthRequests(filter) to populate pending authorization lists. |
Designer / Vision Client | Not available as a direct client-side script module registration in the gateway hook. Use a gateway or Perspective workflow when filtering pending authentication challenges. |
Filtering Behavior
An empty filter behaves like an unfiltered call for non-hidden requests. Hidden/internal requests are returned only when setIncludeHidden(True) is used.
Role filters match role predicates exactly. User filters match username predicates exactly, ignoring case. If both roles and a required user are configured, requests matching either the allowed roles or the required user can be returned.
The description filter is applied after the role/user match and uses case-sensitive substring matching against the request display text. It is not a wildcard or regular expression filter.
Excluded / Edge Cases
Hidden requests: Requests from hidden/internal signature templates are excluded unless setIncludeHidden(True) is used.
Completed request slots: Partially completed multi-user authorizations can still appear unless setExcludeCompleted(True) is used.
Blank roles in addRoles: Blank role values are skipped by addRoles(roles).
Blank description filters: A blank descriptionContains value does not restrict results.
Example Usage
Minimal Example
Python |
authFilter = system.mes.object.signature.filter.create() pending = system.mes.signature.authorization.getPendingAuthRequests(authFilter) |
Complex Example
Python |
logger = system.util.getLogger("MES Authorization") authFilter = system.mes.object.signature.filter.create() authFilter.addRoles(["Operator", "Supervisor"]) authFilter.setRequiredUser("Admin") authFilter.setDescriptionContains("Line release") authFilter.setExcludeCompleted(True) pending = system.mes.signature.authorization.getPendingAuthRequests(authFilter) for uuid in pending: info = pending.get(uuid) logger.info( "Request %s: %s requires %s" % (uuid, info.getTextualDescription(), info.getUserOrRole()) ) |
Chained Example
Python |
authFilter = system.mes.object.signature.filter.create() \ .addRole("Operator") \ .setExcludeCompleted(True) \ .setIncludeHidden(False) pending = system.mes.signature.authorization.getPendingAuthRequests(authFilter) |
Related Functions
system.mes.signature.authorization.getPendingAuthRequests(filter) — Returns pending authentication challenges after applying the filter.
system.mes.signature.authorization.queueAuthRequest(signatureTemplate, ...) — Creates pending authentication challenge requests from a signature template.
system.mes.signature.authorization.triggerAuthRequest(uuid, session, page, approve) — Opens Ignition's authentication challenge UI for a pending request UUID.
system.mes.signature.getSignatureTemplate(name) — Loads the MESSignatureTemplate used to create authorization requests.
Sepasoft MES Module Suite