summaryrefslogtreecommitdiff
path: root/FS
diff options
context:
space:
mode:
authormark <mark>2011-10-28 06:44:26 +0000
committermark <mark>2011-10-28 06:44:26 +0000
commit0ec9dd682b7c32335788fd9633cb48b59cd720d4 (patch)
treeb47534517a76ae6fb803c0688bd9130eaf06e21e /FS
parent8cd5b9ce6ee795eff9b503ca4ec901b99c813bf2 (diff)
run exports in weight order, #14924
Diffstat (limited to 'FS')
-rw-r--r--FS/FS/part_export.pm12
-rw-r--r--FS/FS/part_svc.pm1
2 files changed, 13 insertions, 0 deletions
diff --git a/FS/FS/part_export.pm b/FS/FS/part_export.pm
index 890c522..9a479b7 100644
--- a/FS/FS/part_export.pm
+++ b/FS/FS/part_export.pm
@@ -401,6 +401,18 @@ or hidden by default).
=cut
+=item weight
+
+Returns the 'weight' element from the export's %info hash, or 0 if there is
+no weight defined.
+
+=cut
+
+sub weight {
+ my $self = shift;
+ export_info()->{$self->exporttype}->{'weight'} || 0;
+}
+
=back
=head1 SUBROUTINES
diff --git a/FS/FS/part_svc.pm b/FS/FS/part_svc.pm
index 4d56fee..249a2b4 100644
--- a/FS/FS/part_svc.pm
+++ b/FS/FS/part_svc.pm
@@ -434,6 +434,7 @@ sub part_export {
my $self = shift;
my %search;
$search{'exporttype'} = shift if @_;
+ sort { $a->weight <=> $b->weight }
map { qsearchs('part_export', { 'exportnum' => $_->exportnum, %search } ) }
qsearch('export_svc', { 'svcpart' => $self->svcpart } );
}