summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonathan Prykop <jonathan@freeside.biz>2016-04-19 12:16:15 -0500
committerJonathan Prykop <jonathan@freeside.biz>2016-04-19 12:16:15 -0500
commite498e76c74a2e65e1c0b6a5514130ff71cee8a5b (patch)
tree81329e77bfd972e1743ae8c0be1d65e8a1811319
parentb7f8a7cfd566881a6d89117d17e391ceb58097d4 (diff)
RT#29296: API stuff: Add new locations [API bug fixes]
-rw-r--r--FS/FS/API.pm11
-rw-r--r--FS/FS/cust_pkg/API.pm2
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;