X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=FS%2FFS%2Fsvc_circuit.pm;h=7f2ef807c0551a7d1bdeafa2522bb8f5c0c5d9ca;hp=f705c68f431d2cc70c3f795226ea850e132b88c7;hb=bb7e827141c9ed68f30765c9ca2ddcd1d760ad2d;hpb=8dd41f364aaba88969dfd0908feb22709025e7f6 diff --git a/FS/FS/svc_circuit.pm b/FS/FS/svc_circuit.pm index f705c68f4..7f2ef807c 100644 --- a/FS/FS/svc_circuit.pm +++ b/FS/FS/svc_circuit.pm @@ -6,7 +6,7 @@ use base qw( FS::MAC_Mixin FS::svc_Common ); -use FS::Record qw( qsearch qsearchs ); +use FS::Record qw( dbh qsearch qsearchs ); use FS::circuit_provider; use FS::circuit_type; use FS::circuit_termination; @@ -51,7 +51,7 @@ L. =item termnum - circuit termination type; foreign key to L -=item circuit_id - circuit ID string defined by the provider +=item circuit_id - provider circuit ID string defined by the provider =item desired_due_date - the requested date for completion of the circuit order @@ -75,6 +75,8 @@ space or checked for uniqueness. =item endpoint_mac_addr - the MAC address of the endpoint. +=item internal_circuit_id - internal circuit ID string + =back =head1 METHODS @@ -95,56 +97,57 @@ sub table_info { disabled_inventory => 1, disable_select => 1 ); tie my %fields, 'Tie::IxHash', ( - 'svcnum' => 'Service', - 'providernum' => { + 'svcnum' => 'Service', + 'providernum' => { label => 'Provider', type => 'select', select_table => 'circuit_provider', select_key => 'providernum', select_label => 'provider', disable_inventory => 1, - }, - 'typenum' => { + }, + 'typenum' => { label => 'Circuit type', type => 'select', select_table => 'circuit_type', select_key => 'typenum', select_label => 'typename', disable_inventory => 1, - }, - 'termnum' => { + }, + 'termnum' => { label => 'Termination type', type => 'select', select_table => 'circuit_termination', select_key => 'termnum', select_label => 'termination', disable_inventory => 1, - }, - 'circuit_id' => { label => 'Circuit ID', %dis }, - 'desired_due_date' => { label => 'Desired due date', + }, + 'circuit_id' => { label => 'Provider Circuit ID', %dis }, + 'desired_due_date' => { label => 'Desired due date', %dis - }, - 'due_date' => { label => 'Due date', + }, + 'due_date' => { label => 'Due date', %dis - }, - 'vendor_order_id' => { label => 'Vendor order ID', %dis }, - 'vendor_qual_id' => { label => 'Vendor qualification ID', %dis }, - 'vendor_order_type' => { + }, + 'vendor_order_id' => { label => 'Vendor order ID', %dis }, + 'vendor_qual_id' => { label => 'Vendor qualification ID', %dis }, + 'vendor_order_type' => { label => 'Vendor order type', disable_inventory => 1 - }, # should be a select? + }, # should be a select? 'vendor_order_status' => { label => 'Vendor order status', disable_inventory => 1 }, # should also be a select? - 'endpoint_ip_addr' => { + 'endpoint_ip_addr' => { label => 'Endpoint IP address', - }, - 'endpoint_mac_addr' => { + }, + 'endpoint_mac_addr' => { label => 'Endpoint MAC address', type => 'input-mac_addr', disable_inventory => 1, - }, + }, + 'internal_circuit_id' => { label => 'Internal Circuit ID', %dis }, ); return { 'name' => 'Circuit', @@ -198,6 +201,7 @@ sub check { || $self->ut_textn('vendor_order_status') || $self->ut_ipn('endpoint_ip_addr') || $self->ut_textn('endpoint_mac_addr') + || $self->ut_textn('internal_circuit_id') ; # no canonical values yet for vendor_order_status or _type @@ -218,6 +222,31 @@ sub label { $self->get('circuit_id'); } +sub search_sql { + my ($class, $string) = @_; + my @where = (); + push @where, 'LOWER(svc_circuit.circuit_id) = LOWER(' . dbh->quote($string) . ')'; + push @where, 'LOWER(circuit_provider.provider) = LOWER(' . dbh->quote($string) . ')'; + push @where, 'LOWER(circuit_type.typename) = LOWER(' . dbh->quote($string) . ')'; + '(' . join(' OR ', @where) . ')'; +} + +sub search_sql_addl_from { + 'LEFT JOIN circuit_provider USING ( providernum ) '. + 'LEFT JOIN circuit_type USING ( typenum )'; +} + +sub _upgrade_data { + + require FS::Misc::FixIPFormat; + FS::Misc::FixIPFormat::fix_bad_addresses_in_table( + 'svc_circuit', 'svcnum', 'endpoint_ip_addr', + ); + + ''; + +} + =back =head1 SEE ALSO @@ -227,4 +256,3 @@ L =cut 1; -