summaryrefslogtreecommitdiff
path: root/FS/FS/part_export
diff options
context:
space:
mode:
authorChristopher Burger <burgerc@freeside.biz>2019-01-29 13:25:01 -0500
committerChristopher Burger <burgerc@freeside.biz>2019-01-29 15:15:09 -0500
commitc4d9dcee179e841480ac130df4637c07be756412 (patch)
treeb05a8281bb717f5772d66df9e693efaa8a831d0e /FS/FS/part_export
parent6393ebde278e8bcfc320096b60e857f11aeb8144 (diff)
RT 78356 - fixed display of error on tower and sector exports
Diffstat (limited to 'FS/FS/part_export')
-rw-r--r--FS/FS/part_export/saisei.pm28
1 files changed, 19 insertions, 9 deletions
diff --git a/FS/FS/part_export/saisei.pm b/FS/FS/part_export/saisei.pm
index 86e73e0..f409046 100644
--- a/FS/FS/part_export/saisei.pm
+++ b/FS/FS/part_export/saisei.pm
@@ -336,6 +336,7 @@ sub export_tower_sector {
};
my $tower_access_point = process_tower($self, $tower_opt);
+ return $tower_access_point if $tower_access_point->{error};
#get list of all access points
my $hash_opt = {
@@ -356,6 +357,7 @@ sub export_tower_sector {
'modify_existing' => '1', # modify an existing access point with this info
};
my $sector_access_point = process_sector($self, $sector_opt);
+ return $sector_access_point if $sector_access_point->{error};
}
return $self->api_error;
@@ -438,7 +440,6 @@ sub api_call {
}
else {
$self->{'__saisei_error'} = "Bad response from server during $method , received responce code: " . $client->responseCode() . " and message: " . $client->responseContent();
-# unless ($method eq "GET");
warn "Response Content is\n".$client->responseContent."\n" if $self->option('debug');
return;
}
@@ -662,7 +663,6 @@ Creates a access point.
sub api_create_accesspoint {
my ($self,$accesspoint, $upratelimit, $downratelimit) = @_;
- # this has not been tested, but should work, if needed.
my $new_accesspoint = $self->api_call(
"PUT",
"/access_points/$accesspoint",
@@ -791,6 +791,11 @@ sub api_delete_host_to_user {
sub process_tower {
my ($self, $opt) = @_;
+ if (!$opt->{tower_uprate_limit} || !$opt->{tower_downrate_limit}) {
+ $self->{'__saisei_error'} = "Can not export tower, no up or down rates attached to tower";
+ return { error => $self->api_error, };
+ }
+
my $existing_tower_ap;
my $tower_name = $opt->{tower_name};
@@ -803,14 +808,14 @@ sub process_tower {
'', # tower does not have a uplink on sectors.
$opt->{tower_uprate_limit},
$opt->{tower_downrate_limit},
- ) if $existing_tower_ap && $opt->{modify_existing};
+ ) if $existing_tower_ap->{collection} && $opt->{modify_existing};
#if tower does not exist as an access point create it.
$self->api_create_accesspoint(
$tower_name,
$opt->{tower_uprate_limit},
- $opt->{tower_downrate_limit}
- ) unless $existing_tower_ap;
+ $opt->{tower_downrate_limit},
+ ) unless $existing_tower_ap->{collection};
my $accesspoint = $self->api_get_accesspoint($tower_name);
@@ -820,6 +825,11 @@ sub process_tower {
sub process_sector {
my ($self, $opt) = @_;
+ if (!$opt->{sector_uprate_limit} || !$opt->{sector_downrate_limit}) {
+ $self->{'__saisei_error'} = "Can not export sector, no up or down rates attached to sector";
+ return { error => $self->api_error, };
+ }
+
my $existing_sector_ap;
my $sector_name = $opt->{sector_name};
@@ -874,10 +884,10 @@ sub process_virtual_ap {
$opt->{virtual_downrate_limit},
) unless $existing_virtual_ap;
-my $update_sector;
-if ($existing_virtual_ap && (ref $existing_virtual_ap->{collection}->[0]->{uplink} eq "HASH") && ($existing_virtual_ap->{collection}->[0]->{uplink}->{link}->{name} ne $opt->{sector_name})) {
- $update_sector = 1;
-}
+ my $update_sector;
+ if ($existing_virtual_ap && (ref $existing_virtual_ap->{collection}->[0]->{uplink} eq "HASH") && ($existing_virtual_ap->{collection}->[0]->{uplink}->{link}->{name} ne $opt->{sector_name})) {
+ $update_sector = 1;
+ }
# Attach newly created virtual ap to tower sector ap or if sector has changed.
$self->api_modify_accesspoint($virtual_name, $opt->{sector_name}) unless ($self->{'__saisei_error'} || ($existing_virtual_ap && !$update_sector));