]> wagnertech.de Git - mfinanz.git/blobdiff - SL/InstanceConfiguration.pm
Kosmetik/Refactoring
[mfinanz.git] / SL / InstanceConfiguration.pm
index ac14b0ae0f340338fef98a61e5166afb500058f8..6ea88f8d1546d4011b80949b82e79a9bee5f6dde 100644 (file)
@@ -2,146 +2,56 @@ package SL::InstanceConfiguration;
 
 use strict;
 
 
 use strict;
 
-use SL::DBUtils;
+use Carp;
+use SL::DBUtils ();
 
 
-sub new {
-  my ($class) = @_;
+use parent qw(Rose::Object);
+use Rose::Object::MakeMethods::Generic (
+  'scalar --get_set_init' => [ qw(data currencies) ],
+);
 
 
-  return bless {}, $class;
-}
-
-sub init {
-  my ($self) = @_;
-
-  $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 ];
-
-  return $self;
-}
-
-sub get_default_currency {
-  my ($self) = @_;
-
-  return ($self->get_currencies)[0];
-}
-
-sub get_currencies {
-  my ($self) = @_;
-
-  return $self->{currencies} ? @{ $self->{currencies} } : ();
-}
-
-sub get_accounting_method {
-  my ($self) = @_;
-  return $self->{data}->{accounting_method};
-}
-
-sub get_inventory_system {
-  my ($self) = @_;
-  return $self->{data}->{inventory_system};
-}
-
-sub get_profit_determination {
-  my ($self) = @_;
-  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 init_data {
+  return {} if !$::auth->client;
 
 
-sub get_datev_check_on_ap_transaction {
-  my ($self) = @_;
-  return $self->{data}->{datev_check_on_ap_transaction};
-}
+  my $dbh                   = $::form->get_standard_dbh;
+  my $data                  = SL::DBUtils::selectfirst_hashref_query($::form, $dbh, qq|SELECT * FROM defaults|);
+  $data->{default_currency} = (SL::DBUtils::selectfirst_array_query($::form, $dbh, qq|SELECT name FROM currencies WHERE id = ?|, $data->{currency_id}))[0] if $data->{currency_id};
 
 
-sub get_datev_check_on_gl_transaction {
-  my ($self) = @_;
-  return $self->{data}->{datev_check_on_gl_transaction};
+  return $data;
 }
 
 }
 
-sub get_show_bestbefore {
-  my ($self) = @_;
-  return $self->{data}->{show_bestbefore};
+sub init_currencies {
+  return [] if !$::auth->client;
+  return [ map { $_->{name} } SL::DBUtils::selectall_hashref_query($::form, $::form->get_standard_dbh, qq|SELECT name FROM currencies ORDER BY id ASC|) ];
 }
 
 }
 
-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 reload {
+  my ($self)          = @_;
+  $self->{data}       = $self->init_data;
+  $self->{currencies} = $self->init_currencies;
+  return $self;
 }
 
 }
 
-sub get_ap_show_mark_as_paid {
+sub get_currencies {
   my ($self) = @_;
   my ($self) = @_;
-  return $self->{data}->{ap_show_mark_as_paid};
+  return @{ $self->currencies };
 }
 
 }
 
-sub get_sales_order_show_delete {
-  my ($self) = @_;
-  return $self->{data}->{sales_order_show_delete};
-}
+sub AUTOLOAD {
+  our $AUTOLOAD;
 
 
-sub get_purchase_order_show_delete {
-  my ($self) = @_;
-  return $self->{data}->{purchase_order_show_delete};
-}
+  my $self   =  shift;
+  my $method =  $AUTOLOAD;
+  $method    =~ s/.*:://;
 
 
-sub get_sales_delivery_order_show_delete {
-  my ($self) = @_;
-  return $self->{data}->{sales_delivery_order_show_delete};
-}
+  if ($method =~ m/^get_/) {
+    $method = substr $method, 4;
+    return $self->data->{$method} if exists $self->data->{$method};
+    croak "Invalid method 'get_${method}'";
+  }
 
 
-sub get_purchase_delivery_order_show_delete {
-  my ($self) = @_;
-  return $self->{data}->{purchase_delivery_order_show_delete};
+  croak "Invalid method '${method}'" if !$self->can($method);
+  return $self->$method(@_);
 }
 
 1;
 }
 
 1;
@@ -158,7 +68,7 @@ SL::InstanceConfiguration - Provide instance-specific configuration data
 
 =head1 SYNOPSIS
 
 
 =head1 SYNOPSIS
 
-Lx-Office has two configuration levels: installation specific
+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>.
 (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>.
@@ -256,6 +166,62 @@ corresponding record type (true or false).
 Returns the default behavior for showing the delete button for the
 corresponding record type (true or false).
 
 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
+
+=item C<get_webdav>
+
+Returns the configuration for webdav
+
+=item C<get_webdav_documents>
+
+Returns the configuration for storing documents in the corresponding webdav folder
+
+=item C<get_vertreter>
+
+Returns the configuration for "vertreter"
+
+=item C<get_parts_show_image>
+
+Returns the configuarion for show image in parts
+
+=item C<get_parts_image_css>
+
+Returns the css format string for images shown in parts
+
+=item C<get_parts_listing_image>
+
+Returns the configuartion for showing the picture in the results when you search for parts
+
 =back
 
 =head1 BUGS
 =back
 
 =head1 BUGS