X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=FS%2FFS%2Fexport_svc.pm;h=4579e6d4a535a8f2b1d21b61e89d412c7ba784a5;hp=5ef50b648d40d70129652127f2398205065f2aeb;hb=57bb423fe457ba4e13726877f53bcdf944f828f8;hpb=32072dbf59a054529f5304574c0f56f9567d14d0 diff --git a/FS/FS/export_svc.pm b/FS/FS/export_svc.pm index 5ef50b648..4579e6d4a 100644 --- a/FS/FS/export_svc.pm +++ b/FS/FS/export_svc.pm @@ -38,6 +38,8 @@ The following fields are currently supported: =item svcpart - service definition (see L) +=item role - export role (see export parameters) + =back =head1 METHODS @@ -307,8 +309,24 @@ sub check { || $self->ut_foreign_key('exportnum', 'part_export', 'exportnum') || $self->ut_number('svcpart') || $self->ut_foreign_key('svcpart', 'part_svc', 'svcpart') + || $self->ut_alphan('role') || $self->SUPER::check ; + + my $part_export = $self->part_export; + if ( exists $part_export->info->{roles} ) { + my $role = $self->get('role'); + if ( ! $role ) { + return 'must select an export role' + } + if ( ! exists($part_export->info->{roles}->{$role}) ) { + return "invalid role for export '".$part_export->exporttype."'"; + } + } else { + $self->set('role', ''); + } + + ''; } =item part_export