Also ich habe es erst mit Script probiert, hat aber nicht so richtig funktioniert. Mit Formel-Code funktioniert es. Wenn der Benutzer jedoch bei der Eingabe des Passworts abbricht, bleibt er im geöffneten Personendokument stehen.
TmpUser := @Name([Abbreviate]; @UserName);
TmpDomDir := @Subset(@DbName; 1) : "names.nsf";
TmpDomDirView := "($VIMPeople)";
REM {Empfänger der abschließenden Mail (=Benutzer, der die Mail versandt
hat};
TmpSendTo := From;
REM {Mittels Lookup prüfen, ob das Personendokument exisitiert};
Tmp := @DbLookup(""; TmpDomDir; TmpDomDirView; TmpUser; "FullName";
[FailSilent]);
@If (Tmp = "";
@Do( @Prompt([Ok]; "Personendokument"; "Ihr
Personendokument konnte nicht gefunden werden!");
@Return(void)
);
void
);
REM {Domino Directory öffnen mit angegebener Ansicht öffnen.
Personendokument markieren};
@Command([FileOpenDatabase]; TmpDomDir; TmpDomDirView; TmpUser; "1");
@Command([OpenDocument]; "1");
REM {Kontext der nachfolgenden Formel bezieht sicht auf das
Personendokument};
@UpdateFormulaContext;
REM {Angepasster Code aus der Schaltfläche zum Passwort ändern};
FIELD HTTPPassword :=HTTPPassword;
tmpPassword := @Prompt([Password]; "HTTP Password";"Geben Sie Ihre neues
HTTP-Passwort ein:");
@If( tmpPassword = "";
@Do( @Prompt([Ok];"Eingabefehler";"Das Passwort
darf leer sein! Bitte geben Sie ein anderes Passwort ein.!");
@Command([CloseWindow]);
@Command([CloseWindow]);
@Return(void)
);
@Begins(tmpPassword;"(");
@Do( @Prompt([Ok];"Eingabefehler";"Das Passwort
darf nicht mit '(' beginnen! Bitte geben Sie ein anderes Passwort ein.!");
@Command([CloseWindow]);
@Command([CloseWindow]);
@Return(void)
);
@Do( @SetField("HTTPPassword"; tmpPassword);
@SetField("HTTPPasswordChangeDate";@Now)
)
);
@Command([ViewRefreshFields]);
@Command([FileSave]);
REM {Personendokument schließen};
@Command([CloseWindow]);
REM {Domino Directory schließen};
@Command([CloseWindow]);
REM {Vielleicht möchte man zum Schluss noch eine Mail, dass der Benutzer
das Passwort tatsächlich geändert hat};
@MailSend(TmpSendTo; ""; ""; "HTTP-Passwort geändert: " + TmpUser;
"Passwort erfolgreich geändert: " + @Text(@Now; "S2"); ""; [Sign] : [Encrypt])