]> wagnertech.de Git - kivitendo-erp.git/commitdiff
Helfermethoden in Belegobjekten.
authorSven Schöling <s.schoeling@linet-services.de>
Wed, 14 Mar 2012 12:46:46 +0000 (13:46 +0100)
committerSven Schöling <s.schoeling@linet-services.de>
Wed, 14 Mar 2012 12:46:46 +0000 (13:46 +0100)
SL/DB/DeliveryOrder.pm
SL/DB/Invoice.pm
SL/DB/Order.pm

index 11f718fb3d4a6d38303287fa16a4d8b4c29743ab..9c860bf7e6c7f69c96b1420e4992836b2a5c55b3 100644 (file)
@@ -45,4 +45,16 @@ sub sales_order {
   return first { $_->is_type('sales_order') } @{ $orders };
 }
 
+sub type {
+  return shift->customer_id ? 'sales_delivery_order' : 'purchase_delivery_order';
+}
+
+sub displayable_state {
+  my ($self) = @_;
+
+  return join '; ',
+    ($self->closed    ? $::locale->text('closed')    : $::locale->text('open')),
+    ($self->delivered ? $::locale->text('delivered') : $::locale->text('not delivered'));
+}
+
 1;
index 14c11fa7d6b5c48e6d606d80be41ff497f4294f5..c330084edcd8ecf38552257540afb49a55955e87 100644 (file)
@@ -236,6 +236,22 @@ sub _post_update_allocated {
   }
 }
 
+sub invoice_type {
+  my ($self) = @_;
+
+  return 'ar_transaction'     if !$self->invoice;
+  return 'credit_note'        if $self->type eq 'credit_note' && $self->amount < 0 && !$self->storno;
+  return 'invoice_storno'     if $self->type ne 'credit_note' && $self->amount < 0 &&  $self->storno;
+  return 'credit_note_storno' if $self->type eq 'credit_note' && $self->amount > 0 &&  $self->storno;
+  return 'invoice';
+}
+
+sub displayable_state {
+  my $self = shift;
+
+  return $self->closed ? $::locale->text('closed') : $::locale->text('open');
+}
+
 1;
 
 __END__
index 6a0367219b2388a426619978a0b82c4675b9afdd..e28a87c7d22870ae40f6f4b5d970e6daf310fe16 100644 (file)
@@ -84,6 +84,18 @@ sub is_type {
   return shift->type eq shift;
 }
 
+sub displayable_type {
+  my $type = shift->type;
+
+  return $::locale->text('Sales quotation')   if $type eq 'sales_quotation';
+  return $::locale->text('Request quotation') if $type eq 'request_quotation';
+  return $::locale->text('Sales Order')       if $type eq 'sales_order';
+  return $::locale->text('Purchase Order')    if $type eq 'purchase_order';
+
+  die 'invalid type';
+}
+
+
 sub is_sales {
   croak 'not an accessor' if @_ > 1;
   return shift->customer_id;
@@ -105,6 +117,12 @@ sub invoices {
   }
 }
 
+sub displayable_state {
+  my ($self) = @_;
+
+  return $self->closed ? $::locale->text('closed') : $::locale->text('open');
+}
+
 sub abschlag_invoices {
   return shift()->invoices(query => [ abschlag => 1 ]);
 }