my $command = $self->option($action);
return '' if $command =~ /^\s*$/;
- #set variables for the command
+ my $command_string = $self->_export_subvars( $svc_broadband, $command );
+
+ $self->shellcommands_queue( $svc_broadband->svcnum,
+ user => $self->option('user')||'root',
+ host => $self->machine,
+ command => $command_string,
+ );
+}
+
+sub _export_subvars {
+ my( $self, $svc_broadband, $command ) = @_;
+
no strict 'vars';
{
no strict 'refs';
$locationnum = $cust_pkg ? $cust_pkg->locationnum : '';
$custnum = $cust_pkg ? $cust_pkg->custnum : '';
- #done setting variables for the command
+ eval(qq("$command"));
+}
- $self->shellcommands_queue( $svc_broadband->svcnum,
+sub _export_replace {
+ my($self, $new, $old ) = (shift, shift, shift);
+ my $command = $self->option('replace');
+
+ my $command_string = $self->_export_subvars_replace( $new, $old, $command );
+
+ $self->shellcommands_queue( $new->svcnum,
user => $self->option('user')||'root',
host => $self->machine,
- command => eval(qq("$command")),
+ command => $command_string,
);
}
-sub _export_replace {
- my($self, $new, $old ) = (shift, shift, shift);
- my $command = $self->option('replace');
+sub _export_subvars_replace {
+ my( $self, $new, $old, $command ) = @_;
- #set variable for the command
no strict 'vars';
{
no strict 'refs';
$new_locationnum = $new_cust_pkg ? $new_cust_pkg->locationnum : '';
$new_custnum = $new_cust_pkg ? $new_cust_pkg->custnum : '';
- #done setting variables for the command
-
- $self->shellcommands_queue( $new->svcnum,
- user => $self->option('user')||'root',
- host => $self->machine,
- command => eval(qq("$command")),
- );
+ eval(qq("$command"));
}
+
#a good idea to queue anything that could fail or take any time
sub shellcommands_queue {
my( $self, $svcnum ) = (shift, shift);