Class method which returns an SQL fragment to search for STRING in FIELD.
+It is now case-insensitive by default.
+
=cut
sub search_sql_field {
my( $class, $field, $string ) = @_;
my $table = $class->table;
my $q_string = dbh->quote($string);
- "$table.$field = $q_string";
+ "LOWER($table.$field) = LOWER($q_string)";
}
#fallback for services that don't provide a search...
$self->svcnum;
}
+sub label_long {
+ my $self = shift;
+ $self->label(@_);
+}
+
=item check
Checks the validity of fields in this record.
my $objects = $options{'child_objects'} || [];
my $depend_jobnums = $options{'depend_jobnum'} || [];
$depend_jobnums = [ $depend_jobnums ] unless ref($depend_jobnums);
- my $error;
local $SIG{HUP} = 'IGNORE';
local $SIG{INT} = 'IGNORE';
local $FS::UID::AutoCommit = 0;
my $dbh = dbh;
- $error = $self->check;
- return $error if $error;
-
my $svcnum = $self->svcnum;
my $cust_svc = $svcnum ? qsearchs('cust_svc',{'svcnum'=>$self->svcnum}) : '';
#unless ( $svcnum ) {
'pkgnum' => $self->pkgnum,
'svcpart' => $self->svcpart,
} );
- $error = $cust_svc->insert;
+ my $error = $cust_svc->insert;
if ( $error ) {
$dbh->rollback if $oldAutoCommit;
return $error;
$self->svcpart($cust_svc->svcpart);
}
- $error = $self->set_auto_inventory;
- if ( $error ) {
- $dbh->rollback if $oldAutoCommit;
- return $error;
- }
-
- $error = $self->SUPER::insert;
+ my $error = $self->set_auto_inventory
+ || $self->check
+ || $self->SUPER::insert;
if ( $error ) {
$dbh->rollback if $oldAutoCommit;
return $error;
return $error if $error;
my $part_svc = $self->part_svc;
- return "Unkonwn svcpart" unless $part_svc;
+ return "Unknown svcpart" unless $part_svc;
#set default/fixed/whatever fields from part_svc
$self->export('unsuspend');
}
+=item export_links
+
+Runs export_links callbacks and returns the links.
+
+=cut
+
+sub export_links {
+ my $self = shift;
+ my $return = [];
+ $self->export('links', $return);
+ $return;
+}
+
=item export HOOK [ EXPORT_ARGS ]
Runs the provided export hook (i.e. "suspend", "unsuspend") for this service.