summaryrefslogtreecommitdiff
path: root/FS
diff options
context:
space:
mode:
authorJonathan Prykop <jonathan@freeside.biz>2015-10-31 01:26:07 -0500
committerJonathan Prykop <jonathan@freeside.biz>2015-10-31 01:26:07 -0500
commit212dee7b6078fc6a9dff3469b07274da5b1e905e (patch)
tree1c5729e4bd710e4179333865c852d898f3167d29 /FS
parentb8fc5d2178e7358661e37ef97b7619f7a9080f3a (diff)
RT#38597: OQM - svc Circuit use and setup
Diffstat (limited to 'FS')
-rw-r--r--FS/FS/cust_svc.pm3
-rw-r--r--FS/FS/svc_Common.pm3
-rw-r--r--FS/FS/svc_circuit.pm14
3 files changed, 19 insertions, 1 deletions
diff --git a/FS/FS/cust_svc.pm b/FS/FS/cust_svc.pm
index 974af67..376ef02 100644
--- a/FS/FS/cust_svc.pm
+++ b/FS/FS/cust_svc.pm
@@ -1205,9 +1205,10 @@ sub smart_search_param {
my @or =
map { my $table = $_;
my $search_sql = "FS::$table"->search_sql($string);
+ my $addl_from = "FS::$table"->search_sql_addl_from();
"SELECT $table.svcnum AS svcnum, '$table' AS svcdb ".
- "FROM $table WHERE $search_sql";
+ "FROM $table $addl_from WHERE $search_sql";
}
FS::part_svc->svc_tables;
diff --git a/FS/FS/svc_Common.pm b/FS/FS/svc_Common.pm
index 355c383..35415a2 100644
--- a/FS/FS/svc_Common.pm
+++ b/FS/FS/svc_Common.pm
@@ -1349,6 +1349,9 @@ sub search_sql {
#my( $class, $string ) = @_;
'1 = 0'; #false
}
+sub search_sql_addl_from {
+ '';
+}
=item search HASHREF
diff --git a/FS/FS/svc_circuit.pm b/FS/FS/svc_circuit.pm
index f705c68..408bd79 100644
--- a/FS/FS/svc_circuit.pm
+++ b/FS/FS/svc_circuit.pm
@@ -218,6 +218,20 @@ sub label {
$self->get('circuit_id');
}
+sub search_sql {
+ my ($class, $string) = @_;
+ my @where = ();
+ push @where, 'LOWER(svc_circuit.circuit_id) = \''.lc($string).'\'';
+ push @where, 'LOWER(circuit_provider.provider) = \''.lc($string).'\'';
+ push @where, 'LOWER(circuit_type.typename) = \''.lc($string).'\'';
+ '(' . join(' OR ', @where) . ')';
+}
+
+sub search_sql_addl_from {
+ 'LEFT JOIN circuit_provider USING ( providernum ) '.
+ 'LEFT JOIN circuit_type USING ( typenum )';
+}
+
=back
=head1 SEE ALSO