1 package SL::DB::Helper::Record;
6 use Exporter qw(import);
7 use SL::DB::Order::TypeData;
8 use SL::DB::DeliveryOrder::TypeData;
9 use SL::DB::Reclamation::TypeData;
11 my @export_subs = qw(get_object_name_from_type get_class_from_type);
13 our @EXPORT_OK = (@export_subs);
14 our %EXPORT_TAGS = (subs => \@export_subs);
16 my %type_to_object_name = ();
17 $type_to_object_name{$_} = 'Order' for (@{(SL::DB::Order::TypeData::valid_types)});
18 $type_to_object_name{$_} = 'DeliveryOrder' for (@{(SL::DB::DeliveryOrder::TypeData::valid_types)});
19 $type_to_object_name{$_} = 'Reclamation' for (@{(SL::DB::Reclamation::TypeData::valid_types)});
20 # TODO: rewrite when invoice type data is available
21 $type_to_object_name{invoice} = 'Invoice';
22 $type_to_object_name{invoice_for_advance_payment} = 'Invoice';
23 $type_to_object_name{final_invoice} = 'Invoice';
24 $type_to_object_name{credit_note} = 'Invoice';
25 $type_to_object_name{purchase_invoice} = 'PurchaseInvoice';
27 sub get_object_name_from_type {
29 return $type_to_object_name{$type} // croak "invalid type '$type'";
32 sub get_class_from_type {
34 return 'SL::DB::' . get_object_name_from_type($type);
45 SL::DB::Helper::Record - Helper methods for record objects
49 use SL::DB::Helper::Record;
53 This modul includes helper methods for the handling of record object.
59 =item C<get_object_name_from_type $type>
61 Returns the name string for corresponding record type:
63 SL::DB::Helper::Record::get_class_from_type('sales_order');
66 =item C<get_class_from_type $type>
68 Returns the class string for corresponding record type:
70 SL::DB::Helper::Record::get_class_from_type('sales_order');
81 Tamino Steinert E<lt>tamino.steinert@tamino.stE<gt>