RT#38597: OQM - svc Circuit use and setup
authorJonathan Prykop <jonathan@freeside.biz>
Sat, 31 Oct 2015 06:26:07 +0000 (01:26 -0500)
committerJonathan Prykop <jonathan@freeside.biz>
Wed, 11 Nov 2015 05:36:50 +0000 (23:36 -0600)
FS/FS/cust_svc.pm
FS/FS/svc_Common.pm
FS/FS/svc_circuit.pm
httemplate/elements/tr-cust_svc.html

index ff05fb9..9d7eb7a 100644 (file)
@@ -1072,9 +1072,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;
 
index d70209a..faae79d 100644 (file)
@@ -1358,6 +1358,9 @@ sub search_sql {
   #my( $class, $string ) = @_;
   '1 = 0'; #false
 }
+sub search_sql_addl_from {
+  '';
+}
 
 =item search HASHREF
 
index 06015bf..520e881 100644 (file)
@@ -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
index 03de3ba..2d1a9e6 100644 (file)
@@ -38,6 +38,10 @@ Usage:
       <% FS::UI::Web::svc_label_link($m, $part_svc, $cust_svc) %>
 %   }
     </B>
+%   if ($part_svc->svcdb eq 'svc_circuit') {
+      <BR>Provider:&nbsp;<% $svc_x->circuit_provider->provider %>
+      <BR>Type:&nbsp;<% $svc_x->circuit_type->typename %>
+%   }
 %   if ( $opt{after_svc_callback} ) {
       <% &{ $opt{after_svc_callback} }( $cust_svc ) %>
 %   }