X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=FS%2FFS%2Fexport_svc.pm;h=7709dc1d5a4df2ac2436ad53ce58d07284261063;hb=16062ec78d33d4d3b9c996eb057a331837fc65f8;hp=b08f8f7c3227271975b4d4f24c77f0b55570da1f;hpb=54a357b171aa44f9399b4c146acd2afd3b686075;p=freeside.git diff --git a/FS/FS/export_svc.pm b/FS/FS/export_svc.pm index b08f8f7c3..7709dc1d5 100644 --- a/FS/FS/export_svc.pm +++ b/FS/FS/export_svc.pm @@ -42,6 +42,8 @@ The following fields are currently supported: =item svcpart - service definition (see L) +=item role - export role (see export parameters) + =back =head1 METHODS @@ -311,8 +313,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