X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=SL%2FDB%2FMetaSetup%2FVendor.pm;h=a4578028b4a0858685b5eb0b2baeb9ad5e4b8779;hb=53593baa211863fbf66540cf1bcc36c8fb37257f;hp=2fc47cc181290c14df1f6255cf52d310d5e5666d;hpb=45a48bed7aaf0e695a92a4c0bb444de715637183;p=kivitendo-erp.git diff --git a/SL/DB/MetaSetup/Vendor.pm b/SL/DB/MetaSetup/Vendor.pm index 2fc47cc18..a4578028b 100644 --- a/SL/DB/MetaSetup/Vendor.pm +++ b/SL/DB/MetaSetup/Vendor.pm @@ -4,79 +4,93 @@ package SL::DB::Vendor; use strict; -use base qw(SL::DB::Object); +use parent qw(SL::DB::Object); -__PACKAGE__->meta->setup( - table => 'vendor', +__PACKAGE__->meta->table('vendor'); - columns => [ - id => { type => 'integer', not_null => 1, sequence => 'id' }, - name => { type => 'varchar', length => 75, not_null => 1 }, - department_1 => { type => 'varchar', length => 75 }, - department_2 => { type => 'varchar', length => 75 }, - street => { type => 'varchar', length => 75 }, - zipcode => { type => 'varchar', length => 10 }, - city => { type => 'varchar', length => 75 }, - country => { type => 'varchar', length => 75 }, - contact => { type => 'varchar', length => 75 }, - phone => { type => 'varchar', length => 30 }, - fax => { type => 'varchar', length => 30 }, - homepage => { type => 'text' }, - email => { type => 'text' }, - notes => { type => 'text' }, - terms => { type => 'integer', default => '0' }, - taxincluded => { type => 'boolean' }, - vendornumber => { type => 'text' }, - cc => { type => 'text' }, - bcc => { type => 'text' }, - gifi_accno => { type => 'text' }, - business_id => { type => 'integer' }, - taxnumber => { type => 'text' }, - discount => { type => 'float', precision => 4 }, - creditlimit => { type => 'numeric', precision => 5, scale => 15 }, - account_number => { type => 'varchar', length => 15 }, - bank_code => { type => 'varchar', length => 10 }, - bank => { type => 'text' }, - language => { type => 'varchar', length => 5 }, - datevexport => { type => 'integer' }, - itime => { type => 'timestamp', default => 'now()' }, - mtime => { type => 'timestamp' }, - obsolete => { type => 'boolean', default => 'false' }, - username => { type => 'varchar', length => 50 }, - user_password => { type => 'varchar', length => 12 }, - salesman_id => { type => 'integer' }, - v_customer_id => { type => 'text' }, - language_id => { type => 'integer' }, - payment_id => { type => 'integer' }, - taxzone_id => { type => 'integer', default => '0', not_null => 1 }, - greeting => { type => 'text' }, - ustid => { type => 'varchar', length => 14 }, - direct_debit => { type => 'boolean', default => 'false' }, - iban => { type => 'varchar', length => 100 }, - bic => { type => 'varchar', length => 100 }, - curr => { type => 'character', length => 3 }, - ], +__PACKAGE__->meta->columns( + account_number => { type => 'text' }, + bank => { type => 'text' }, + bank_code => { type => 'text' }, + bcc => { type => 'text' }, + bic => { type => 'text' }, + business_id => { type => 'integer' }, + cc => { type => 'text' }, + city => { type => 'text' }, + contact => { type => 'text' }, + country => { type => 'text' }, + creditlimit => { type => 'numeric', precision => 15, scale => 5 }, + currency_id => { type => 'integer', not_null => 1 }, + delivery_term_id => { type => 'integer' }, + department_1 => { type => 'text' }, + department_2 => { type => 'text' }, + depositor => { type => 'text' }, + direct_debit => { type => 'boolean', default => 'false' }, + discount => { type => 'float', precision => 4, scale => 4 }, + email => { type => 'text' }, + fax => { type => 'text' }, + gln => { type => 'text' }, + greeting => { type => 'text' }, + homepage => { type => 'text' }, + iban => { type => 'text' }, + id => { type => 'integer', not_null => 1, sequence => 'id' }, + itime => { type => 'timestamp', default => 'now()' }, + language => { type => 'text' }, + language_id => { type => 'integer' }, + mtime => { type => 'timestamp' }, + name => { type => 'text', not_null => 1 }, + natural_person => { type => 'boolean', default => 'false' }, + notes => { type => 'text' }, + obsolete => { type => 'boolean', default => 'false' }, + payment_id => { type => 'integer' }, + phone => { type => 'text' }, + salesman_id => { type => 'integer' }, + street => { type => 'text' }, + taxincluded => { type => 'boolean' }, + taxnumber => { type => 'text' }, + taxzone_id => { type => 'integer', not_null => 1 }, + user_password => { type => 'text' }, + username => { type => 'text' }, + ustid => { type => 'text' }, + v_customer_id => { type => 'text' }, + vendornumber => { type => 'text' }, + zipcode => { type => 'text' }, +); + +__PACKAGE__->meta->primary_key_columns([ 'id' ]); + +__PACKAGE__->meta->allow_inline_column_values(1); + +__PACKAGE__->meta->foreign_keys( + business => { + class => 'SL::DB::Business', + key_columns => { business_id => 'id' }, + }, - primary_key_columns => [ 'id' ], + currency => { + class => 'SL::DB::Currency', + key_columns => { currency_id => 'id' }, + }, - allow_inline_column_values => 1, + delivery_term => { + class => 'SL::DB::DeliveryTerm', + key_columns => { delivery_term_id => 'id' }, + }, - foreign_keys => [ - business => { - class => 'SL::DB::Business', - key_columns => { business_id => 'id' }, - }, + language_obj => { + class => 'SL::DB::Language', + key_columns => { language_id => 'id' }, + }, - language_obj => { - class => 'SL::DB::Language', - key_columns => { language_id => 'id' }, - }, + payment => { + class => 'SL::DB::PaymentTerm', + key_columns => { payment_id => 'id' }, + }, - payment => { - class => 'SL::DB::PaymentTerm', - key_columns => { payment_id => 'id' }, - }, - ], + taxzone => { + class => 'SL::DB::TaxZone', + key_columns => { taxzone_id => 'id' }, + }, ); 1;