save_and_ap_transaction => 0,
save_and_invoice => 0,
delete => sub { $::instance_conf->get_sales_delivery_order_show_delete },
+ new_controller => 0,
},
properties => {
customervendor => "customer",
transnumber => 'sdonumber',
},
part_classification_query => [ "used_for_sale" => 1 ],
- right => "sales_delivery_order_edit",
+ rights => {
+ edit => "sales_delivery_order_edit",
+ view => "sales_delivery_order_edit | sales_delivery_order_view",
+ },
},
PURCHASE_DELIVERY_ORDER_TYPE() => {
text => {
save_and_ap_transaction => 0,
save_and_invoice => 0,
delete => sub { $::instance_conf->get_sales_delivery_order_show_delete },
+ new_controller => 0,
},
properties => {
customervendor => "vendor",
transnumber => 'pdonumber',
},
part_classification_query => [ "used_for_purchase" => 1 ],
- right => "purchase_delivery_order_edit",
+ rights => {
+ edit => "purchase_delivery_order_edit",
+ view => "purchase_delivery_order_edit | purchase_delivery_order_view",
+ },
},
SUPPLIER_DELIVERY_ORDER_TYPE() => {
text => {
- delete => t8('Delivery Order has been deleted'),
- saved => t8('Delivery Order has been saved'),
+ delete => t8('Supplier Delivery Order has been deleted'),
+ saved => t8('Supplier Delivery Order has been saved'),
add => t8("Add Supplier Delivery Order"),
edit => t8("Edit Supplier Delivery Order"),
attachment => t8("supplier_delivery_order_list"),
save_and_ap_transaction => 0,
save_and_invoice => 0,
delete => sub { $::instance_conf->get_sales_delivery_order_show_delete },
+ new_controller => 1,
},
properties => {
customervendor => "vendor",
transnumber => 'sudonumber',
},
part_classification_query => [ "used_for_purchase" => 1 ],
- right => "purchase_delivery_order_edit",
+ rights => {
+ edit => "purchase_delivery_order_edit",
+ view => "purchase_delivery_order_edit | purchase_delivery_order_view",
+ },
},
RMA_DELIVERY_ORDER_TYPE() => {
text => {
save_and_ap_transaction => 0,
save_and_invoice => 0,
delete => sub { $::instance_conf->get_sales_delivery_order_show_delete },
+ new_controller => 1,
},
properties => {
customervendor => "customer",
transnumber => 'rdonumber',
},
part_classification_query => [ "used_for_sale" => 1 ],
- right => "sales_delivery_order_edit",
+ rights => {
+ edit => "sales_delivery_order_edit",
+ view => "sales_delivery_order_edit | sales_delivery_order_view",
+ },
},
);
sub validate_type {
my ($type) = @_;
- return $valid_types{$type} // confess "invalid type '$type'";
+ return $valid_types{$type} // croak "invalid type '$type'";
}
sub get {
my ($type, $key) = @_;
+ croak "invalid type '$type'" unless exists $type_data{$type};
+
my $ret = $type_data{$type}->{$key} // die "unknown property '$key'";
ref $ret eq 'CODE'
sub get3 {
my ($type, $topic, $key) = @_;
- my $ret = $type_data{$type}{$topic}{$key} // die "unknown property '$key' in topic '$topic' for type '$type'";
+ croak "invalid type '$type'" unless exists $type_data{$type};
+
+ my $ret = $type_data{$type}{$topic}{$key} // croak "unknown property '$key' in topic '$topic' for type '$type'";
ref $ret eq 'CODE'
? $ret->()