[freeside-commits] branch master updated. b668e94b7ed814217c9e4a9cfec6ed4df98e023a

Mark Wells mark at 420.am
Fri Nov 8 17:24:15 PST 2013


The branch, master has been updated
       via  b668e94b7ed814217c9e4a9cfec6ed4df98e023a (commit)
      from  37ac9c4f5754a1398b7bc354db716be828f04253 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit b668e94b7ed814217c9e4a9cfec6ed4df98e023a
Author: Mark Wells <mark at freeside.biz>
Date:   Fri Nov 8 17:24:09 2013 -0800

    script to repopulate ship_company field

diff --git a/bin/restore-ship_company b/bin/restore-ship_company
new file mode 100644
index 0000000..cee7009
--- /dev/null
+++ b/bin/restore-ship_company
@@ -0,0 +1,32 @@
+#!/usr/bin/perl
+
+use FS::UID 'adminsuidsetup';
+use FS::Record qw(qsearch qsearchs dbh);
+use FS::cust_main;
+my $user = shift or die "Usage: 
+  restore-ship_company username [ max-age ]
+";
+adminsuidsetup($user);
+
+$FS::UID::AutoCommit = 1;
+local $FS::cust_main::import = 1;
+
+my $days = shift || 30;
+my $time = time - (86400*$days); # by default, only restore within the last
+                                 # 30 days
+foreach my $cust_main (qsearch('cust_main', { ship_company => '' })) {
+  my $custnum = $cust_main->custnum;
+  my $last_h = qsearchs({
+      table     => 'h_cust_main',
+      extra_sql => " WHERE custnum = $custnum".
+                   " AND ship_company IS NOT NULL".
+                   " AND history_date >= $time",
+      order_by  => " ORDER BY history_date DESC LIMIT 1",
+  });
+  next if !$last_h;
+  print "$custnum\t".$last_h->ship_company."\n";
+  $cust_main->set('ship_company' => $last_h->ship_company);
+  my $error = $cust_main->replace;
+  warn "Error setting service company for customer #$custnum:\n  $error\n"
+    if $error;
+}

-----------------------------------------------------------------------

Summary of changes:
 bin/restore-ship_company |   32 ++++++++++++++++++++++++++++++++
 1 files changed, 32 insertions(+), 0 deletions(-)
 create mode 100644 bin/restore-ship_company




More information about the freeside-commits mailing list