RT#71518: Bug in the address editor [fixed query cleanup]
authorJonathan Prykop <jonathan@freeside.biz>
Thu, 4 Aug 2016 00:18:17 +0000 (19:18 -0500)
committerJonathan Prykop <jonathan@freeside.biz>
Thu, 4 Aug 2016 00:34:16 +0000 (19:34 -0500)
httemplate/edit/process/cust_main.cgi

index a9439fa..4b89939 100755 (executable)
@@ -1,5 +1,15 @@
 % if ( $error ) {
 %   $cgi->param('error', $error);
+%   # workaround for create_uri_query's mangling of unicode characters,
+%   # false laziness with FS::Record::ut_coord
+%   use charnames ':full';
+%   for my $pre (qw(bill ship)) {
+%     foreach (qw( latitude longitude)) {
+%       my $coord = $cgi->param($pre.'_'.$_);
+%       $coord =~ s/\N{DEGREE SIGN}\s*$//;
+%       $cgi->param($pre.'_'.$_, $coord);
+%     }
+%   }
 %   my $query = $m->scomp('/elements/create_uri_query', 'secure'=>1);
 <% $cgi->redirect(popurl(2). "cust_main.cgi?$query" ) %>
 %
@@ -80,12 +90,6 @@ if ( $conf->exists('agent-ship_address', $cgi->param('agentnum')) ) {
 my %locations;
 for my $pre (qw(bill ship)) {
 
-  foreach (qw( latitude longitude)) {
-    my $coord = $cgi->param($pre.'_'.$_);
-    $coord =~ s/\N{DEGREE SIGN}\s*$//;
-    $cgi->param($pre.'_'.$_, $coord);
-  }
-
   my %hash;
   foreach ( FS::cust_main->location_fields ) {
     $hash{$_} = scalar($cgi->param($pre.'_'.$_));