summaryrefslogtreecommitdiff
path: root/FS
diff options
context:
space:
mode:
authorJonathan Prykop <jonathan@freeside.biz>2016-04-19 12:16:15 -0500
committerJonathan Prykop <jonathan@freeside.biz>2016-04-22 15:24:12 -0500
commit70ff8d2c5f32a674d4ae75c8f018e630033ed645 (patch)
treefd6650b50d407261ae738deba878f49d06b31c27 /FS
parent94cdf97cf0a14a433c81c44bbeb76bf953db2dcc (diff)
RT#29296: API stuff: Add new locations [API bug fixes]
Diffstat (limited to 'FS')
-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 f9f28c12e..5db29b2b5 100644
--- a/FS/FS/API.pm
+++ b/FS/FS/API.pm
@@ -776,7 +776,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'});
@@ -784,13 +784,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;