Syntax

$object.canWriteAttribute($attribute)

canWriteAttribute($object, $attribute)

Beschreibung

Prüft, ob der aktuell angemeldete Nutzer das angegebene Attribut des angegebenen Objekts ändern darf, und liefert einen Wahrheitswert.

Dies ist das attributbezogene Gegenstück zu canWrite und der natürliche Schutz vor einem set: anstatt in den Berechtigungsfehler zu laufen, den set für ein nicht schreibbares Attribut auslöst, kann ein Skript zuerst prüfen und verzweigen. Die Funktion schlägt nie fehl und filtert nicht.

Die Prüfung erfolgt für den aktuell angemeldeten Nutzer und folgt denselben Regeln wie die implizite Berechtigungsprüfung: standardmäßige Verweigerung, Rollenvererbung entlang der Sicherheitshierarchie sowie Vollzugriff für Administratoren oder Ausführungen im Systemkontext.

Parameter

NameTypTypbeschreibungPflichtStandardwert
objectFachobjektDas zu prüfende Objekt.ja
attributeAttributDas Attribut (TLStructuredTypePart), dessen Schreibzugriff geprüft wird.ja

Rückgabewert

Typ: Wahrheitswert

true, wenn der aktuelle Nutzer das Attribut am Objekt ändern darf, sonst false.

Beispiele

Beispiel 1

if($contract.canWriteAttribute(`my.module:Contract#status`), $contract.set(`my.module:Contract#status`, "done"), null)

Ausgabe: Setzt den Status nur, wenn der angemeldete Nutzer dieses Attribut schreiben darf – andernfalls geschieht nichts, ohne Berechtigungsfehler.