Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision 951c7c92

Von Tamino Steinert vor mehr als 1 Jahr hinzugefügt

  • ID 951c7c921b67ceebeded8e8e86a912b2e7ebc144
  • Vorgänger 449fa8e3
  • Nachfolger 467f6a49

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_INTAKE_TYPE(),
SALES_ORDER_TYPE(),
PURCHASE_ORDER_TYPE(),
REQUEST_QUOTATION_TYPE(),
SALES_QUOTATION_TYPE(),
PURCHASE_QUOTATION_INTAKE_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_INTAKE_TYPE() => 'ordnumber',
SALES_ORDER_TYPE() => 'ordnumber',
SALES_QUOTATION_TYPE() => 'quonumber',
PURCHASE_ORDER_TYPE() => 'ordnumber',
REQUEST_QUOTATION_TYPE() => 'quonumber',
PURCHASE_QUOTATION_INTAKE_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