X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=FS%2FFS%2Fsvc_Common.pm;h=f8a858196f899206f96b970c0cfb04a9d4a8fd94;hb=56747f35e2e457897fb44e30bf1b67560a155591;hp=fd3a46aa67cb73fe9da877592c794e8fae892535;hpb=bf33a68cb21ef3a4596cafe0996f0f9e61367500;p=freeside.git diff --git a/FS/FS/svc_Common.pm b/FS/FS/svc_Common.pm index fd3a46aa6..f8a858196 100644 --- a/FS/FS/svc_Common.pm +++ b/FS/FS/svc_Common.pm @@ -40,13 +40,15 @@ inherit from, i.e. FS::svc_acct. FS::svc_Common inherits from FS::Record. 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... @@ -148,6 +150,11 @@ sub label { $self->svcnum; } +sub label_long { + my $self = shift; + $self->label(@_); +} + =item check Checks the validity of fields in this record. @@ -203,7 +210,6 @@ sub insert { 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'; @@ -216,9 +222,6 @@ sub insert { 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 ) { @@ -229,7 +232,7 @@ sub insert { 'pkgnum' => $self->pkgnum, 'svcpart' => $self->svcpart, } ); - $error = $cust_svc->insert; + my $error = $cust_svc->insert; if ( $error ) { $dbh->rollback if $oldAutoCommit; return $error; @@ -245,13 +248,9 @@ sub insert { $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; @@ -502,7 +501,7 @@ sub setx { 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 @@ -695,6 +694,19 @@ sub unsuspend { $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.