diff options
Diffstat (limited to 'perllib')
-rw-r--r-- | perllib/Open311.pm | 11 | ||||
-rw-r--r-- | perllib/Open311/GetServiceRequestUpdates.pm | 13 |
2 files changed, 11 insertions, 13 deletions
diff --git a/perllib/Open311.pm b/perllib/Open311.pm index 0773edc19..030e8092c 100644 --- a/perllib/Open311.pm +++ b/perllib/Open311.pm @@ -135,7 +135,16 @@ sub get_service_request_updates { my $params = {}; my $xml = $self->_get( $self->endpoints->{service_request_updates}, $params || undef ); - return $self->_get_xml_object( $xml ); + my $service_requests = $self->_get_xml_object( $xml ); + my $requests; + if ( ref $service_requests->{request_update } eq 'ARRAY' ) { + $requests = $service_requests->{request_update}; + } + else { + $requests = [ $service_requests->{request_update} ]; + } + + return $requests; } sub _get { diff --git a/perllib/Open311/GetServiceRequestUpdates.pm b/perllib/Open311/GetServiceRequestUpdates.pm index 53dd7722b..c77b30f4f 100644 --- a/perllib/Open311/GetServiceRequestUpdates.pm +++ b/perllib/Open311/GetServiceRequestUpdates.pm @@ -10,18 +10,7 @@ has system_user => ( is => 'ro' ); sub update_comments { my ( $self, $open311, $council_details ) = @_; - my $service_requests = $open311->get_service_request_updates( ); - - my $requests; - - # XML::Simple is a bit inconsistent in how it structures - # things depending on the number of children an element has :( - if ( ref $service_requests->{request_update } eq 'ARRAY' ) { - $requests = $service_requests->{requesti_update}; - } - else { - $requests = [ $service_requests->{request_update} ]; - } + my $requests = $open311->get_service_request_updates( ); for my $request (@$requests) { # if it's a ref that means it's an empty element |