'templates' nicht aus %::myconfig, sondern aus Defaults-Tabelle holen
[kivitendo-erp.git] / SL / InstanceConfiguration.pm
index 47cdd0e..d0b6b3a 100644 (file)
@@ -15,9 +15,9 @@ sub init {
 
   $self->{data} = selectfirst_hashref_query($::form, $::form->get_standard_dbh, qq|SELECT * FROM defaults|);
 
-  my $curr            =  $self->{data}->{curr} || '';
-  $curr               =~ s/\s+//g;
-  $self->{currencies} =  [ split m/:/, $curr ];
+  #To get all currencies and the default currency:
+  ($self->{data}->{curr}) = selectrow_query($::form, $::form->get_standard_dbh, qq|SELECT name AS curr FROM currencies WHERE id = (SELECT currency_id FROM defaults)|);
+  $self->{currencies}     = [ map { $_->{name} } selectall_hashref_query($::form, $::form->get_standard_dbh, qq|SELECT name FROM currencies ORDER BY id|) ];
 
   return $self;
 }
@@ -25,13 +25,13 @@ sub init {
 sub get_default_currency {
   my ($self) = @_;
 
-  return ($self->get_currencies)[0];
+  return $self->{data}->{curr};
 }
 
 sub get_currencies {
   my ($self) = @_;
 
-  return $self->{currencies} ? @{ $self->{currencies} } : ();
+  return @{ $self->{currencies} };
 }
 
 sub get_accounting_method {
@@ -49,6 +49,143 @@ sub get_profit_determination {
   return $self->{data}->{profit_determination};
 }
 
+sub get_is_changeable {
+  my ($self) = @_;
+  return $self->{data}->{is_changeable};
+}
+
+sub get_ir_changeable {
+  my ($self) = @_;
+  return $self->{data}->{ir_changeable};
+}
+
+sub get_ar_changeable {
+  my ($self) = @_;
+  return $self->{data}->{ar_changeable};
+}
+
+sub get_ap_changeable {
+  my ($self) = @_;
+  return $self->{data}->{ap_changeable};
+}
+
+sub get_gl_changeable {
+  my ($self) = @_;
+  return $self->{data}->{gl_changeable};
+}
+
+sub get_datev_check_on_sales_invoice {
+  my ($self) = @_;
+  return $self->{data}->{datev_check_on_sales_invoice};
+}
+
+sub get_datev_check_on_purchase_invoice {
+  my ($self) = @_;
+  return $self->{data}->{datev_check_on_purchase_invoice};
+}
+
+sub get_datev_check_on_ar_transaction {
+  my ($self) = @_;
+  return $self->{data}->{datev_check_on_ar_transaction};
+}
+
+sub get_datev_check_on_ap_transaction {
+  my ($self) = @_;
+  return $self->{data}->{datev_check_on_ap_transaction};
+}
+
+sub get_datev_check_on_gl_transaction {
+  my ($self) = @_;
+  return $self->{data}->{datev_check_on_gl_transaction};
+}
+
+sub get_show_bestbefore {
+  my ($self) = @_;
+  return $self->{data}->{show_bestbefore};
+}
+
+sub get_is_show_mark_as_paid {
+  my ($self) = @_;
+  return $self->{data}->{is_show_mark_as_paid};
+}
+
+sub get_ir_show_mark_as_paid {
+  my ($self) = @_;
+  return $self->{data}->{ir_show_mark_as_paid};
+}
+
+sub get_ar_show_mark_as_paid {
+  my ($self) = @_;
+  return $self->{data}->{ar_show_mark_as_paid};
+}
+
+sub get_ap_show_mark_as_paid {
+  my ($self) = @_;
+  return $self->{data}->{ap_show_mark_as_paid};
+}
+
+sub get_sales_order_show_delete {
+  my ($self) = @_;
+  return $self->{data}->{sales_order_show_delete};
+}
+
+sub get_purchase_order_show_delete {
+  my ($self) = @_;
+  return $self->{data}->{purchase_order_show_delete};
+}
+
+sub get_sales_delivery_order_show_delete {
+  my ($self) = @_;
+  return $self->{data}->{sales_delivery_order_show_delete};
+}
+
+sub get_purchase_delivery_order_show_delete {
+  my ($self) = @_;
+  return $self->{data}->{purchase_delivery_order_show_delete};
+}
+
+sub get_default_warehouse_id {
+  my ($self) = @_;
+  return ($self->{data}->{warehouse_id});
+}
+
+sub get_default_bin_id {
+  my ($self) = @_;
+  return ($self->{data}->{bin_id});
+}
+sub get_default_warehouse_id_ignore_onhand {
+  my ($self) = @_;
+  return ($self->{data}->{warehouse_id_ignore_onhand});
+}
+
+sub get_default_bin_id_ignore_onhand {
+  my ($self) = @_;
+  return ($self->{data}->{bin_id_ignore_onhand});
+}
+
+
+sub get_transfer_default {
+  my ($self) = @_;
+  return ($self->{data}->{transfer_default});
+}
+
+sub get_transfer_default_use_master_default_bin {
+  my ($self) = @_;
+  return ($self->{data}->{transfer_default_use_master_default_bin});
+}
+
+sub get_transfer_default_ignore_onhand {
+  my ($self) = @_;
+  return ($self->{data}->{transfer_default_ignore_onhand});
+}
+# currently unused - value is set via audit_control (Bücherkontrolle)
+sub get_max_future_booking_interval {
+  my ($self) = @_;
+  return ($self->{data}->{max_future_booking_interval});
+}
+
+
+
 1;
 
 __END__
@@ -63,8 +200,8 @@ SL::InstanceConfiguration - Provide instance-specific configuration data
 
 =head1 SYNOPSIS
 
-Lx-Office has two configuration levels: installation specific
-(provided by the global variable C<%::lxoffice_conf>) and instance
+kivitendo has two configuration levels: installation specific
+(provided by the global variable C<%::lx_office_conf>) and instance
 specific. The latter is provided by a global instance of this class,
 C<$::instance_conf>.
 
@@ -101,6 +238,98 @@ Returns the default inventory system, perpetual or periodic
 
 Returns the default profit determination method, balance or income
 
+
+=item C<get_is_changeable>
+
+=item C<get_ir_changeable>
+
+=item C<get_ar_changeable>
+
+=item C<get_ap_changeable>
+
+=item C<get_gl_changeable>
+
+Returns if and when these record types are changeable or deleteable after
+posting. 0 means never, 1 means always and 2 means on the same day.
+
+=item C<get_datev_check_on_sales_invoice>
+
+Returns true if datev check should be performed on sales invoices
+
+=item C<get_datev_check_on_purchase_invoice>
+
+Returns true if datev check should be performed on purchase invoices
+
+=item C<get_datev_check_on_ar_transaction>
+
+Returns true if datev check should be performed on ar transactions
+
+=item C<get_datev_check_on_ap_transaction>
+
+Returns true if datev check should be performed on ap transactions
+
+=item C<get_datev_check_on_gl_transaction>
+
+Returns true if datev check should be performed on gl transactions
+
+=item C<get_show_bestbefore>
+
+Returns the default behavior for showing best before date, true or false
+
+=item C<get_is_show_mark_as_paid>
+
+=item C<get_ir_show_mark_as_paid>
+
+=item C<get_ar_show_mark_as_paid>
+
+=item C<get_ap_show_mark_as_paid>
+
+Returns the default behavior for showing the mark as paid button for the
+corresponding record type (true or false).
+
+=item C<get_sales_order_show_delete>
+
+=item C<get_purchase_order_show_delete>
+
+=item C<get_sales_delivery_order_show_delete>
+
+=item C<get_purchase_delivery_order_show_delete>
+
+Returns the default behavior for showing the delete button for the
+corresponding record type (true or false).
+
+=item C<get_default_warehouse_id>
+
+Returns the default warehouse_id
+
+=item C<get_default_bin_id>
+
+Returns the default bin_id
+
+=item C<get_default_warehouse_id_ignore_onhand>
+
+Returns the default warehouse_id for transfers without checking the
+current stock quantity
+
+=item C<get_default_bin_id_ignore_onhand>
+
+Returns the default bin_id for transfers without checking the.
+current stock quantity
+
+
+
+=item C<get_transfer_default>
+
+=item C<get_transfer_default_use_master_default_bin>
+
+=item C<get_transfer_default_ignore_onhand>
+
+Returns the default behavior for the transfer out default feature (true or false)
+
+=item C<get_max_future_booking_interval>
+
+Returns the maximum interval value for future bookings
+
 =back
 
 =head1 BUGS