move from legacy compat JSON to_json to modern JSON::XS encode_json, RT#22630
authorIvan Kohler <ivan@freeside.biz>
Thu, 18 Apr 2013 03:44:39 +0000 (20:44 -0700)
committerIvan Kohler <ivan@freeside.biz>
Thu, 18 Apr 2013 03:44:39 +0000 (20:44 -0700)
FS/FS/Mason.pm
FS/FS/UI/Web.pm
httemplate/edit/payment_gateway.html
httemplate/elements/auto-table.html
httemplate/elements/dashboard-toplist.html
httemplate/elements/select-tiered.html
httemplate/elements/tr-select-cust_location.html
httemplate/misc/xmlhttp-cust_bill_pkg-calculate_taxes.html
httemplate/misc/xmlhttp-cust_main-email_search.html

index d277c28..1553a42 100644 (file)
@@ -77,7 +77,7 @@ if ( -e $addl_handler_use_file ) {
   use HTML::TableExtract qw(tree);
   use HTML::FormatText;
   use HTML::Defang;
-  use JSON;
+  use JSON::XS;
 #  use XMLRPC::Transport::HTTP;
 #  use XMLRPC::Lite; # for XMLRPC::Serializer
   use MIME::Base64;
index 3fd61ef..c8ad430 100644 (file)
@@ -581,7 +581,7 @@ use vars qw($DEBUG);
 use Carp;
 use Storable qw(nfreeze);
 use MIME::Base64;
-use JSON;
+use JSON::XS;
 use FS::UID qw(getotaker);
 use FS::Record qw(qsearchs);
 use FS::queue;
@@ -726,10 +726,7 @@ sub job_status {
     @return = ( 'error', $job ? $job->statustext : $jobnum );
   }
 
-  #to_json(\@return);  #waiting on deb 5.0 for new JSON.pm?
-  #silence the warning though
-  my $to_json = JSON->can('to_json') || JSON->can('objToJson');
-  &$to_json(\@return);
+  encode_json \@return;
 
 }
 
index dfe52f1..a469beb 100644 (file)
@@ -19,7 +19,7 @@
 
 
 <SCRIPT TYPE="text/javascript">
-  var modulesForNamespace = <% to_json(\%modules_for_namespace, {canonical=>1}) %>;
+  var modulesForNamespace = <% encode_json(\%modules_for_namespace, {canonical=>1}) %>;
   function changeNamespace(what) {
     var ns = what.value;
     var select_module = document.getElementById('gateway_module');
index 3a3bd40..5118b91 100644 (file)
@@ -50,7 +50,7 @@ var <%$pre%>next_rownum;
 var <%$pre%>set_rownum;
 var <%$pre%>addRow;
 var <%$pre%>deleteRow;
-var <%$pre%>fieldorder = <% to_json($fieldorder) %>;
+var <%$pre%>fieldorder = <% encode_json($fieldorder) %>;
 
 function <%$pre%>possiblyAddRow_factory(obj) {
   var callback = obj.onchange;
@@ -190,7 +190,7 @@ function <%$pre%>init() {
   <%$pre%>template.appendChild(delete_cell);
 
   // preload rows
-  var rows = <% to_json(\@rows) %>;
+  var rows = <% encode_json(\@rows) %>;
   for (var i = 0; i < rows.length; i++) {
     <%$pre%>addRow(rows[i]);
   }
index f4a3725..b80af78 100644 (file)
@@ -169,7 +169,6 @@ if ( $FS::TicketSystem::system eq 'RT_Internal'
           ObjectCustomFieldValues.ObjectId = cust_tickets.Id
         )
       GROUP BY cust_tickets.custnum, ObjectCustomFieldValues.Content";
-      #warn $sql."\n";
   } else { # no custom_priority_field
     $sql =
     "SELECT cust_tickets.custnum,
@@ -181,10 +180,8 @@ if ( $FS::TicketSystem::system eq 'RT_Internal'
   my $sth = dbh->prepare($sql) or die dbh->errstr;
   $sth->execute or die $sth->errstr;
   while ( my $row = $sth->fetchrow_hashref ) {
-  #warn to_json($row)."\n";
     $num_tickets_by_priority{ $row->{priority} }->{ $row->{custnum} } =
       $row->{num_tickets};
   }
 }
-#warn Dumper \%num_tickets_by_priority;
 </%init>
index e332eef..3ff5471 100644 (file)
@@ -124,13 +124,6 @@ my %opt = @_;
 my $pre = $opt{prefix} || '';
 my $tiers = $opt{tiers} or die "no tiers defined";
 
-#my $json = JSON->new()->canonical(); #sort
-# something super weird and broken going on with JSON's auto-loading, just
-# using JSON alone errors out with
-#   Can't locate object method "new" via package "null" (perhaps you forgot to
-#   load "null"?)
-# yes, "null", not "JSON".  so instead, using JSON::XS explicity...
-use JSON::XS;
 my $json = JSON::XS->new();
 $json->canonical;
 
index 4c17249..780bf96 100644 (file)
@@ -153,7 +153,7 @@ Example:
     }
   }
 
-  var location_fields = <% to_json(\@location_fields) %>;
+  var location_fields = <% encode_json(\@location_fields) %>;
   function update_location( string ) {
     var hash = JSON.parse(string);
     for(var i = 0; i < location_fields.length; i++) {
index f618d55..c0db3e2 100644 (file)
@@ -1,4 +1,4 @@
-<% to_json($return) %>
+<% encode_json($return) %>\
 <%init>
 
 my $curuser = $FS::CurrentUser::CurrentUser;
index d8c8ef4..0d83082 100644 (file)
@@ -1,4 +1,4 @@
-<% JSON::to_json(\@result) %>\
+<% encode_json(\@result) %>\
 <%init>
 die 'access denied'
   unless $FS::CurrentUser::CurrentUser->access_right('Edit customer');