Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision 19fda876

Von Tamino Steinert vor etwa 2 Jahren hinzugefügt

  • ID 19fda8760d825977284e0b01ed32558bd7c0032d
  • Vorgänger eeec1d5e
  • Nachfolger 9cf4a1e5

Order: nutze TypeData

Unterschiede anzeigen:

SL/DB/Order.pm
use SL::RecordLinks;
use Rose::DB::Object::Helpers qw(as_tree strip);
use SL::DB::Order::TypeData qw(:types);
use SL::DB::Order::TypeData qw(:types validate_type);
use SL::DB::Reclamation::TypeData qw(:types);
__PACKAGE__->meta->add_relationship(
......
sub type {
my $self = shift;
die "invalid type: " . $self->record_type if (!any { $self->record_type eq $_ } (
SALES_ORDER_TYPE(),
PURCHASE_ORDER_TYPE(),
REQUEST_QUOTATION_TYPE(),
SALES_QUOTATION_TYPE(),
));
SL::DB::Order::TypeData::validate_type($self->record_type);
return $self->record_type;
}
......
}
sub displayable_type {
my $type = shift->type;
return $::locale->text('Sales quotation') if $type eq SALES_QUOTATION_TYPE();
return $::locale->text('Request quotation') if $type eq REQUEST_QUOTATION_TYPE();
return $::locale->text('Sales Order') if $type eq SALES_ORDER_TYPE();
return $::locale->text('Purchase Order') if $type eq PURCHASE_ORDER_TYPE();
my ($self) = @_;
die 'invalid type';
return $self->type_data->text('list');
}
sub displayable_name {
......
sub number {
my $self = shift;
return if !$self->type;
my %number_method = (
SALES_ORDER_TYPE() => 'ordnumber',
SALES_QUOTATION_TYPE() => 'quonumber',
PURCHASE_ORDER_TYPE() => 'ordnumber',
REQUEST_QUOTATION_TYPE() => 'quonumber',
);
return $self->${ \ $number_method{$self->type} }(@_);
my $nr_key = $self->type_data->properties('nr_key');
return $self->$nr_key(@_);
}
sub customervendor {

Auch abrufbar als: Unified diff