X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=eg%2Ftable_template-svc.pm;h=1470b6f37a30b1834c8d1d8d99c61dfd1e2b22ce;hp=7f7ef4b6879f2299b73f3fda0c9335f414c05371;hb=d61cf1825f89216eebc83da5510c34b330b55abb;hpb=2041a9143fac20b79ead4a1ae01224dedf5b27c2 diff --git a/eg/table_template-svc.pm b/eg/table_template-svc.pm index 7f7ef4b68..1470b6f37 100644 --- a/eg/table_template-svc.pm +++ b/eg/table_template-svc.pm @@ -1,13 +1,10 @@ package FS::svc_table; use strict; -use vars qw(@ISA); +use base qw( FS::svc_Common ); #use FS::Record qw( qsearch qsearchs ); -use FS::svc_Common; use FS::cust_svc; -@ISA = qw(FS::svc_Common); - =head1 NAME FS::table_name - Object methods for table_name records @@ -59,6 +56,61 @@ points to. You can ask the object for a copy with the I method. sub table { 'table_name'; } +sub table_info { + { + 'name' => 'Example', + 'name_plural' => 'Example services', #optional, + 'longname_plural' => 'Example services', #optional + 'sorts' => 'svcnum', # optional sort field (or arrayref of sort fields, main first) + 'display_weight' => 100, + 'cancel_weight' => 100, + 'fields' => { + 'field' => 'Description', + 'another_field' => { + 'label' => 'Description', + 'def_label' => 'Description for service definitions', + 'type' => 'text', + 'disable_default' => 1, #disable switches + 'disable_fixed' => 1, # + 'disable_inventory' => 1, # + 'disable_select' => 1, # + }, + 'foreign_key' => { + 'label' => 'Description', + 'def_label' => 'Description for service defs', + 'type' => 'select', + 'select_table' => 'foreign_table', + 'select_key' => 'key_field_in_table', + 'select_label' => 'label_field_in_table', + }, + + }, + }; +} + +=item search_sql STRING + +Class method which returns an SQL fragment to search for the given string. + +=cut + +#or something more complicated if necessary +sub search_sql { + my($class, $string) = @_; + $class->search_sql_field('search_field', $string); +} + +=item label + +Returns a meaningful identifier for this example + +=cut + +sub label { + my $self = shift; + $self->label_field; #or something more complicated if necessary +} + =item insert Adds this record to the database. If there is an error, returns the error,