[freeside-commits] freeside/FS/FS svc_acct.pm,1.213,1.214

Jeff Finucane,420,, jeff at wavetail.420.am
Wed Jan 31 18:14:00 PST 2007


Update of /home/cvs/cvsroot/freeside/FS/FS
In directory wavetail:/tmp/cvs-serv24462/FS/FS

Modified Files:
	svc_acct.pm 
Log Message:
better solution to ticket 1455

Index: svc_acct.pm
===================================================================
RCS file: /home/cvs/cvsroot/freeside/FS/FS/svc_acct.pm,v
retrieving revision 1.213
retrieving revision 1.214
diff -u -d -r1.213 -r1.214
--- svc_acct.pm	30 Jan 2007 21:21:01 -0000	1.213
+++ svc_acct.pm	1 Feb 2007 02:13:57 -0000	1.214
@@ -1518,6 +1518,29 @@
 
   my $action = $op2action{$op};
 
+  if ( &{$op2condition{$op}}($self, $column, $amount) ) {
+    my $cust_pkg = $self->cust_svc->cust_pkg;
+    foreach my $part_export ( $self->cust_svc->part_svc->part_export ) {
+      if ($part_export->option('overlimit_groups')) {
+        my ($new,$old);
+        my $other = new FS::svc_acct $self->hashref;
+        my $groups = &{ $self->_fieldhandlers->{'usergroup'} }
+                       ($self, $part_export->option('overlimit_groups'));
+        $other->usergroup( $groups );
+        if ($action eq 'suspend'){
+          $new = $other; $old = $self;
+        }else{
+          $new = $self; $old = $other;
+        }
+        my $error = $part_export->export_replace($new, $old);
+        if ( $error ) {
+          $dbh->rollback if $oldAutoCommit;
+          return "Error replacing radius groups in export, ${op}: $error";
+        }
+      }
+    }
+  }
+
   if ( $conf->exists("svc_acct-usage_$action")
        && &{$op2condition{$op}}($self, $column, $amount)    ) {
     #my $error = $self->$action();



More information about the freeside-commits mailing list