[dw-free] clean up no_mail_alias console command
[commit: http://hg.dwscoalition.org/dw-free/rev/2d8af4871606]
http://bugs.dwscoalition.org/show_bug.cgi?id=1143
Refactor console setter & add db update to GUI setter
Patch by
kareila.
Files modified:
http://bugs.dwscoalition.org/show_bug.cgi?id=1143
Refactor console setter & add db update to GUI setter
Patch by
![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Files modified:
- cgi-bin/DW/Setting/EmailAlias.pm
- cgi-bin/ljhooks.pl
-------------------------------------------------------------------------------- diff -r 83b16513deb0 -r 2d8af4871606 cgi-bin/DW/Setting/EmailAlias.pm --- a/cgi-bin/DW/Setting/EmailAlias.pm Sat Jul 11 16:07:50 2009 +0800 +++ b/cgi-bin/DW/Setting/EmailAlias.pm Sat Jul 11 10:40:16 2009 +0000 @@ -56,6 +56,8 @@ sub save { my $val = $class->get_arg( $args, "emailalias" ); $u->set_prop( "no_mail_alias" => ! $val ); + # our selection value is the opposite of what no_mail_alias expects + $val ? $u->update_email_alias : $u->delete_email_alias; return 1; } diff -r 83b16513deb0 -r 2d8af4871606 cgi-bin/ljhooks.pl --- a/cgi-bin/ljhooks.pl Sat Jul 11 16:07:50 2009 +0800 +++ b/cgi-bin/ljhooks.pl Sat Jul 11 10:40:16 2009 +0000 @@ -207,16 +207,9 @@ register_setter("no_mail_alias", sub { return 0; } - my $dbh = LJ::get_db_writer(); - if ($value) { - $dbh->do("DELETE FROM email_aliases WHERE alias=?", undef, - "$u->{'user'}\@$LJ::USER_DOMAIN"); - } elsif ($u->{'status'} eq "A" && LJ::get_cap($u, "useremail")) { - $dbh->do("REPLACE INTO email_aliases (alias, rcpt) VALUES (?,?)", - undef, "$u->{'user'}\@$LJ::USER_DOMAIN", $u->email_raw); - } + $u->set_prop( "no_mail_alias", $value ); + $value ? $u->delete_email_alias : $u->update_email_alias; - $u->set_prop("no_mail_alias", $value); return 1; }); --------------------------------------------------------------------------------