X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=FS%2FFS%2Fsvc_external.pm;h=338fdbcd99b79e06c1610587d402c559edba803d;hp=79eec97c47267fdf65ce39fe3e338268c04cfb15;hb=a36e0f8a0f69349dafaa16d1d2d57dfb6e5dbc85;hpb=673b9a458d9138523026963df6fa3b4683e09bae diff --git a/FS/FS/svc_external.pm b/FS/FS/svc_external.pm index 79eec97c4..338fdbcd9 100644 --- a/FS/FS/svc_external.pm +++ b/FS/FS/svc_external.pm @@ -1,16 +1,11 @@ package FS::svc_external; use strict; -use vars qw(@ISA); # $conf -use FS::UID; -#use FS::Record qw( qsearch qsearchs dbh); -use FS::svc_Common; +use vars qw(@ISA); +use FS::Conf; +use FS::svc_External_Common; -@ISA = qw( FS::svc_Common ); - -#FS::UID::install_callback( sub { -# $conf = new FS::Conf; -#}; +@ISA = qw( FS::svc_External_Common ); =head1 NAME @@ -39,9 +34,9 @@ FS::svc_external - Object methods for svc_external records =head1 DESCRIPTION -An FS::svc_external object represents a externally tracked service. -FS::svc_external inherits from FS::svc_Common. The following fields are -currently supported: +An FS::svc_external object represents a generic externally tracked service. +FS::svc_external inherits from FS::svc_External_Common (and FS::svc_Common). +The following fields are currently supported: =over 4 @@ -67,8 +62,44 @@ points to. You can ask the object for a copy with the I method. =cut +sub table_info { + { + 'name' => 'External service', + 'sorts' => 'id', + 'display_weight' => 90, + 'cancel_weight' => 10, + 'fields' => { + 'id' => { label => 'Unique number of external record', + type => 'text', + disable_default => 1, + disable_fixed => 1, + }, + 'title' => { label => 'Printed on invoice line items', + type => 'text', + #disable_inventory => 1, + }, + }, + }; +} + sub table { 'svc_external'; } +# oh! this should be moved to svc_artera_turbo or something now +sub label { + my $self = shift; + my $conf = new FS::Conf; + if ( $conf->exists('svc_external-display_type') + && $conf->config('svc_external-display_type') eq 'artera_turbo' ) + { + sprintf('%010d', $self->id). '-'. + substr('0000000000'.uc($self->title), -10); + } else { + #$self->SUPER::label; + return $self->id unless $self->title =~ /\S/; + $self->id. ' - '. $self->title; + } +} + =item insert [ , OPTION => VALUE ... ] Adds this external service to the database. If there is an error, returns the @@ -145,25 +176,19 @@ Called by the cancel method of FS::cust_pkg (see L). Checks all fields to make sure this is a valid external service. If there is an error, returns the error, otherwise returns false. Called by the insert -and repalce methods. +and replace methods. =cut -sub check { - my $self = shift; - - my $x = $self->setfixed; - return $x unless ref($x); - my $part_svc = $x; - - my $error = - $self->ut_numbern('svcnum') - || $self->ut_numbern('id') - || $self->ut_textn('title') - ; - - $self->SUPER::check; -} +#sub check { +# my $self = shift; +# my $error; +# +# $error = $self->SUPER::delete; +# return $error if $error; +# +# ''; +#} =back @@ -171,8 +196,8 @@ sub check { =head1 SEE ALSO -L, L, L, L, -L, schema.html from the base documentation. +L, L, L, L, +L, L, schema.html from the base documentation. =cut