Edit form now holds state if an error is returned. It was completely wiping all the data off the form.

This commit is contained in:
Frank Dillon 2008-10-19 00:44:27 +00:00
parent c4276971c9
commit 2b9da67de4

View file

@ -175,125 +175,126 @@ Calls www_editLDAPLinkSave when done.
sub www_editLDAPLink { sub www_editLDAPLink {
my $session = shift; my $session = shift;
my $errors = shift; my $errors = shift;
return $session->privilege->insufficient unless canView($session); my $form = $session->form;
my ($output, %db, $f); return $session->privilege->insufficient unless canView($session);
my ($output, %db, $f);
tie %db, 'Tie::CPHash'; tie %db, 'Tie::CPHash';
%db = $session->db->quickHash("select * from ldapLink where ldapLinkId=".$session->db->quote($session->form->process("llid"))); %db = $session->db->quickHash("select * from ldapLink where ldapLinkId=".$session->db->quote($session->form->process("llid")));
my $i18n = WebGUI::International->new($session,"AuthLDAP"); my $i18n = WebGUI::International->new($session,"AuthLDAP");
$f = WebGUI::HTMLForm->new($session, -extras=>'autocomplete="off"' ); $f = WebGUI::HTMLForm->new($session, -extras=>'autocomplete="off"' );
if ($errors) { if ($errors) {
foreach my $error (@$errors) { foreach my $error (@$errors) {
$f->readOnly( -value => sprintf("<span style='font-weight: bold; color: red;'>%s: %s</span>", $i18n->get("error label"), $error) ); $f->readOnly( -value => sprintf("<span style='font-weight: bold; color: red;'>%s: %s</span>", $i18n->get("error label"), $error) );
} }
} }
$f->submit; $f->submit;
$f->hidden( $f->hidden(
-name => "op", -name => "op",
-value => "editLDAPLinkSave", -value => "editLDAPLinkSave",
); );
$f->hidden( $f->hidden(
-name => "llid", -name => "llid",
-value => $session->form->process("llid"), -value => $form->process("llid"),
); );
$f->hidden( $f->hidden(
-name => "returnUrl", -name => "returnUrl",
-value => $session->form->process("returnUrl"), -value => $form->process("returnUrl"),
); );
$f->readOnly( $f->readOnly(
-label => $i18n->get("LDAPLink_991"), -label => $i18n->get("LDAPLink_991"),
-value => $session->form->process("llid"), -value => $form->process("llid"),
); );
$f->text( $f->text(
-name => "ldapLinkName", -name => "ldapLinkName",
-label => $i18n->get("LDAPLink_992"), -label => $i18n->get("LDAPLink_992"),
-hoverHelp => $i18n->get("LDAPLink_992 description"), -hoverHelp => $i18n->get("LDAPLink_992 description"),
-value => $db{ldapLinkName}, -value => $form->process("ldapLinkName") || $db{ldapLinkName},
); );
$f->text( $f->text(
-name => "ldapUrl", -name => "ldapUrl",
-label => $i18n->get("LDAPLink_993"), -label => $i18n->get("LDAPLink_993"),
-hoverHelp => $i18n->get("LDAPLink_993 description"), -hoverHelp => $i18n->get("LDAPLink_993 description"),
-value => $db{ldapUrl}, -value => $form->process("ldapUrl") || $db{ldapUrl},
); );
$f->text( $f->text(
-name => "connectDn", -name => "connectDn",
-label => $i18n->get("LDAPLink_994"), -label => $i18n->get("LDAPLink_994"),
-hoverHelp => $i18n->get("LDAPLink_994 description"), -hoverHelp => $i18n->get("LDAPLink_994 description"),
-value => $db{connectDn}, -value => $form->process("connectDn") || $db{connectDn},
); );
$f->password( $f->password(
-name => "ldapIdentifier", -name => "ldapIdentifier",
-label => $i18n->get("LDAPLink_995"), -label => $i18n->get("LDAPLink_995"),
-hoverHelp => $i18n->get("LDAPLink_995 description"), -hoverHelp => $i18n->get("LDAPLink_995 description"),
-value => $db{identifier}, -value => $form->process("ldapIdentifier") || $db{identifier},
); );
$f->text( $f->text(
-name => "ldapUserRDN", -name => "ldapUserRDN",
-label => $i18n->get(9), -label => $i18n->get(9),
-hoverHelp => $i18n->get('9 description'), -hoverHelp => $i18n->get('9 description'),
-value => $db{ldapUserRDN}, -value => $form->process("ldapUserRDN") || $db{ldapUserRDN},
); );
$f->text( $f->text(
-name => "ldapIdentity", -name => "ldapIdentity",
-label => $i18n->get(6), -label => $i18n->get(6),
-hoverHelp => $i18n->get('6 description'), -hoverHelp => $i18n->get('6 description'),
-value => $db{ldapIdentity}, -value => $form->process("ldapIdentity") || $db{ldapIdentity},
); );
$f->text( $f->text(
-name => "ldapIdentityName", -name => "ldapIdentityName",
-label => $i18n->get(7), -label => $i18n->get(7),
-hoverHelp => $i18n->get('7 description'), -hoverHelp => $i18n->get('7 description'),
-value => $db{ldapIdentityName}, -value => $form->process("ldapIdentityName") || $db{ldapIdentityName},
); );
$f->text( $f->text(
-name => "ldapPasswordName", -name => "ldapPasswordName",
-label => $i18n->get(8), -label => $i18n->get(8),
-hoverHelp => $i18n->get('8 description'), -hoverHelp => $i18n->get('8 description'),
-value => $db{ldapPasswordName}, -value => $form->process("ldapPasswordName") || $db{ldapPasswordName},
); );
$f->textarea( $f->textarea(
-name => "ldapGlobalRecursiveFilter", -name => "ldapGlobalRecursiveFilter",
-label => $i18n->get("global recursive filter label"), -label => $i18n->get("global recursive filter label"),
-hoverHelp => $i18n->get("global recursive filter label description"), -hoverHelp => $i18n->get("global recursive filter label description"),
-value => $db{ldapGlobalRecursiveFilter} -value => $form->process("ldapGlobalRecursiveFilter") || $db{ldapGlobalRecursiveFilter}
); );
$f->yesNo( $f->yesNo(
-name=>"ldapSendWelcomeMessage", -name =>"ldapSendWelcomeMessage",
-value=>$db{ldapSendWelcomeMessage}, -value =>$form->yesNo("ldapSendWelcomeMessage") || $db{ldapSendWelcomeMessage},
-label=>$i18n->get(868), -label =>$i18n->get(868),
-hoverHelp=>$i18n->get('868 description'), -hoverHelp =>$i18n->get('868 description'),
); );
$f->textarea( $f->textarea(
-name=>"ldapWelcomeMessage", -name =>"ldapWelcomeMessage",
-value=>$db{ldapWelcomeMessage}, -value =>$form->textarea("ldapWelcomeMessage") || $db{ldapWelcomeMessage},
-label=>$i18n->get(869), -label =>$i18n->get(869),
-hoverHelp=>$i18n->get('869 description'), -hoverHelp =>$i18n->get('869 description'),
); );
$f->template( $f->template(
-name=>"ldapAccountTemplate", -name =>"ldapAccountTemplate",
-value=>$db{ldapAccountTemplate}, -value =>$form->template("ldapAccountTemplate") || $db{ldapAccountTemplate},
-namespace=>"Auth/LDAP/Account", -namespace =>"Auth/LDAP/Account",
-label=>$i18n->get("account template"), -label =>$i18n->get("account template"),
-hoverHelp=>$i18n->get("account template description"), -hoverHelp =>$i18n->get("account template description"),
); );
$f->template( $f->template(
-name=>"ldapCreateAccountTemplate", -name =>"ldapCreateAccountTemplate",
-value=>$db{ldapCreateAccountTemplate}, -value =>$form->template("ldapCreateAccountTemplate") || $db{ldapCreateAccountTemplate},
-namespace=>"Auth/LDAP/Create", -namespace =>"Auth/LDAP/Create",
-label=>$i18n->get("create account template"), -label =>$i18n->get("create account template"),
-hoverHelp=>$i18n->get("create account template description"), -hoverHelp =>$i18n->get("create account template description"),
); );
$f->template( $f->template(
-name=>"ldapLoginTemplate", -name =>"ldapLoginTemplate",
-value=>$db{ldapLoginTemplate}, -value =>$form->template("ldapLoginTemplate") || $db{ldapLoginTemplate},
-namespace=>"Auth/LDAP/Login", -namespace =>"Auth/LDAP/Login",
-label=>$i18n->get("login template"), -label =>$i18n->get("login template"),
-hoverHelp=>$i18n->get("login template description"), -hoverHelp =>$i18n->get("login template description"),
); );
$f->submit; $f->submit;