[dw-free] difficulty clearing phone number from DW/Setting/TxtMsgSetup
[commit: http://hg.dwscoalition.org/dw-free/rev/c0339463c489]
http://bugs.dwscoalition.org/show_bug.cgi?id=3095
If only one of them is blank, still show an error message, because it's more
likely to be that they mistakenly left out a field)
Patch by
yvi.
Files modified:
http://bugs.dwscoalition.org/show_bug.cgi?id=3095
If only one of them is blank, still show an error message, because it's more
likely to be that they mistakenly left out a field)
Patch by
Files modified:
- cgi-bin/DW/Setting/TxtMsgSetup.pm
--------------------------------------------------------------------------------
diff -r 81a0b4f1f303 -r c0339463c489 cgi-bin/DW/Setting/TxtMsgSetup.pm
--- a/cgi-bin/DW/Setting/TxtMsgSetup.pm Tue Oct 12 17:59:42 2010 +0800
+++ b/cgi-bin/DW/Setting/TxtMsgSetup.pm Tue Oct 12 18:05:10 2010 +0800
@@ -120,14 +120,18 @@ sub error_check {
# only validate info if security is enforced
my $number = $class->get_arg( $args, "txtmsg_number" );
my $provider = $class->get_arg( $args, "txtmsg_provider" );
+
+ # only do further error checking if the user didn't delete both the number and the provider
if ( $security && $security ne 'none' ) {
- # check for something that looks like a phone number
- $class->errors( txtmsg_number => $class->ml( 'setting.txtmsgsetup.error.number' ) )
- unless $number && $number =~ /^[-+0-9]{9,}$/;
- # check for valid provider
- my %valid = map { $_ => 1 } LJ::TextMessage::providers();
- $class->errors( txtmsg_provider => $class->ml( 'setting.txtmsgsetup.error.provider' ) )
- unless $provider && $valid{$provider};
+ if ( $provider || $number ) {
+ # check for something that looks like a phone number
+ $class->errors( txtmsg_number => $class->ml( 'setting.txtmsgsetup.error.number' ) )
+ unless ( $number && $number =~ /^[-+0-9]{9,}$/ );
+ # check for valid provider
+ my %valid = map { $_ => 1 } LJ::TextMessage::providers();
+ $class->errors( txtmsg_provider => $class->ml( 'setting.txtmsgsetup.error.provider' ) )
+ unless ( $provider && $valid{$provider} );
+ }
} else { # warn them that new info won't be saved
my $tminfo = LJ::TextMessage->tm_info( $u, remap_result => 1 );
$class->errors( txtmsg_number => $class->ml( 'setting.txtmsgsetup.error.notsecured' ) )
--------------------------------------------------------------------------------
