Domino 9 und frühere Versionen > ND8: Entwicklung

Button für Internetpasswort vergeben per Mail versenden

<< < (2/2)

klaus_s:
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])


Peter Klett:
Mach halt die Passwortabfrage vor dem Öffnen des Dokuments

DerAndre:
Hi.

Hast Du dir mal die ChangeHTTPPassword Methode aus der NotesAdministrationProcess Klasse angeschaut?

klaus_s:
@Peter: Das Problem mit der Passwortabfrage (evtl. Abbruch) und dem geöffneten Personendokument hatte ich auch gesehen.....Es ist unschön, wenn man im Bearbeitungsmodus stehen bleibt und der Benutzer geradezu herausgefordert wird, das Personendokument zu editieren.

@André: Dank für den Tipp. Die Methode könnte ich auch noch einmal ausprobieren, sofern dazu Bedarf besteht. Ich möchte mir jedoch auch unnötig Arbeit ersparen. Bisher fehlt mir noch eine Rückmeldung, ob es soweit passt oder Änderungsbedarf besteht.

Navigation

[0] Themen-Index

[*] Vorherige Sete

Zur normalen Ansicht wechseln