system.mes.object.signature.filter.create()

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