#
sub check_auth {
- $::auth->assert('edit_prices');
+ if ($::form->{vc} eq 'customer') {
+ $::auth->assert('sales_edit_prices');
+ } elsif ($::form->{vc} eq 'vendor') {
+ $::auth->assert('purchase_edit_prices');
+ } else {
+ $::auth->assert('no_such_right');
+ }
}
sub init_record {
sales_quotation => 'OrderItem',
request_quotation => 'OrderItem',
invoice => 'InvoiceItem',
+ invoice_for_advance_payment => 'InvoiceItem',
+ final_invoice => 'InvoiceItem',
purchase_invoice => 'InvoiceItem',
credit_note => 'InvoiceItem',
purchase_delivery_order => 'DeliveryOrderItem',
$obj->${\"$method\_as_date"}($value);
} elsif ((ref $obj->meta->column($method)) =~ /^Rose::DB::Object::Metadata::Column::(?:Numeric|Float|DoublePrecsion)$/) {
$obj->${\"$method\_as_number"}($value);
+ } elsif ((ref $obj->meta->column($method)) =~ /^Rose::DB::Object::Metadata::Column::(?:Big)?(?:Int(?:eger)?|Serial)$/) {
+ $obj->$method(($value // '') eq '' ? undef : $value * 1);
} elsif ((ref $obj->meta->column($method)) =~ /^Rose::DB::Object::Metadata::Column::Boolean$/) {
$obj->$method(!!$value);
} else {
$obj->${\"$method\_as_date"}($::form->{$method});
} elsif ((ref $obj->meta->column($method)) =~ /^Rose::DB::Object::Metadata::Column::(?:Numeric|Float|DoublePrecsion)$/) {
$obj->${\"$method\_as\_number"}($::form->{$method});
+ } elsif ((ref $obj->meta->column($method)) =~ /^Rose::DB::Object::Metadata::Column::(?:Big)?(?:Int(?:eger)?|Serial)$/) {
+ $obj->$method(($::form->{$method} // '') eq '' ? undef : $::form->{$method} * 1)
} elsif ((ref $obj->meta->column($method)) =~ /^Rose::DB::Object::Metadata::Column::Boolean$/) {
$obj->$method(!!$::form->{$method});
} else {
}
1;
-