diff options
author | Jonathan Prykop <jonathan@freeside.biz> | 2016-04-19 12:16:15 -0500 |
---|---|---|
committer | Jonathan Prykop <jonathan@freeside.biz> | 2016-04-19 12:16:15 -0500 |
commit | e498e76c74a2e65e1c0b6a5514130ff71cee8a5b (patch) | |
tree | 81329e77bfd972e1743ae8c0be1d65e8a1811319 | |
parent | b7f8a7cfd566881a6d89117d17e391ceb58097d4 (diff) |
RT#29296: API stuff: Add new locations [API bug fixes]
-rw-r--r-- | FS/FS/API.pm | 11 | ||||
-rw-r--r-- | FS/FS/cust_pkg/API.pm | 2 |
2 files changed, 5 insertions, 8 deletions
diff --git a/FS/FS/API.pm b/FS/FS/API.pm index 77ae03b10..1c4cbd9af 100644 --- a/FS/FS/API.pm +++ b/FS/FS/API.pm @@ -589,7 +589,7 @@ containing the new values. =cut sub change_package_location { - my $self = shift; + my $class = shift; my %opt = @_; return _shared_secret_error() unless _check_shared_secret($opt{'secret'}); @@ -597,13 +597,10 @@ sub change_package_location { or return { 'error' => 'Unknown pkgnum' }; my %changeopt; - $changeopt{'pkgnum'} = $pkgnum; - my $cust_location = FS::cust_location->new({ - 'custnum' => $cust_pkg->custnum, - %location_hash, - }); - $changeopt{'cust_location'} = $cust_location; + foreach my $field ('locationnum',FS::cust_location::API::API_editable_fields()) { + $changeopt{$field} = $opt{$field} if $opt{$field}; + } $cust_pkg->API_change(%changeopt); } diff --git a/FS/FS/cust_pkg/API.pm b/FS/FS/cust_pkg/API.pm index 6e03b8e75..7ef3f7246 100644 --- a/FS/FS/cust_pkg/API.pm +++ b/FS/FS/cust_pkg/API.pm @@ -19,7 +19,7 @@ sub API_change { my %opt = @_; return { 'error' => 'Cannot change canceled package' } - if $self->cancel; + if $self->get('cancel'); my %changeopt; |