From e549422fb649ca2299e684dc10ffe4a0f8c7efb1 Mon Sep 17 00:00:00 2001
From: Moritz Bunkus
Date: Fri, 16 Nov 2007 09:14:42 +0000
Subject: [PATCH] Das Bearbeiten der Einstellungen, die in der Tabelle
"defaults" gespeichert werden, wurde in eine eigene Maske ausgelagert, die
unter "System -> Nummernkreise und Standardkonten" aufrufbar ist. Bei
"Programm -> Benutzereinstellungen" hingegen befinden sich nur noch
Einstellungen, die pro Benutzer einstellbar sind (also die Sachen aus
%myconfig).
---
SL/AM.pm | 107 +++++++------
bin/mozilla/am.pl | 59 ++++---
locale/de/all | 7 +-
locale/de/am | 4 +
locale/de/menu | 1 +
locale/de/menunew | 1 +
menu.ini | 5 +
templates/webpages/am/config_de.html | 131 ----------------
templates/webpages/am/config_master.html | 131 ----------------
templates/webpages/am/edit_defaults_de.html | 148 ++++++++++++++++++
.../webpages/am/edit_defaults_master.html | 148 ++++++++++++++++++
11 files changed, 414 insertions(+), 328 deletions(-)
create mode 100644 templates/webpages/am/edit_defaults_de.html
create mode 100644 templates/webpages/am/edit_defaults_master.html
diff --git a/SL/AM.pm b/SL/AM.pm
index fa6e128ea..4eddb74bd 100644
--- a/SL/AM.pm
+++ b/SL/AM.pm
@@ -1474,68 +1474,83 @@ sub save_template {
return $error;
}
-sub save_preferences {
+sub save_defaults {
$main::lxdebug->enter_sub();
- my ($self, $myconfig, $form, $memberfile, $userspath, $webdav) = @_;
+ my $self = shift;
+ my %params = @_;
- map { ($form->{$_}) = split(/--/, $form->{$_}) }
- qw(inventory_accno income_accno expense_accno fxgain_accno fxloss_accno);
+ my $myconfig = \%main::myconfig;
+ my $form = $main::form;
- my @a;
- $form->{curr} =~ s/ //g;
- map { push(@a, uc pack "A3", $_) if $_ } split(/:/, $form->{curr});
- $form->{curr} = join ':', @a;
+ my $dbh = $params{dbh} || $form->get_standard_dbh($myconfig);
- # connect to database
- my $dbh = $form->dbconnect_noauto($myconfig);
+ my %accnos;
+ map { ($accnos{$_}) = split(m/--/, $form->{$_}) } qw(inventory_accno income_accno expense_accno fxgain_accno fxloss_accno);
+
+ $form->{curr} =~ s/ //g;
+ my @currencies = grep { $_ ne '' } split m/:/, $form->{curr};
+ my $currency = join ':', @currencies;
# these defaults are database wide
- # user specific variables are in myconfig
- # save defaults
+
my $query =
- qq|UPDATE defaults SET | .
- qq|inventory_accno_id = (SELECT c.id FROM chart c WHERE c.accno = ?), | .
- qq|income_accno_id = (SELECT c.id FROM chart c WHERE c.accno = ?), | .
- qq|expense_accno_id = (SELECT c.id FROM chart c WHERE c.accno = ?), | .
- qq|fxgain_accno_id = (SELECT c.id FROM chart c WHERE c.accno = ?), | .
- qq|fxloss_accno_id = (SELECT c.id FROM chart c WHERE c.accno = ?), | .
- qq|invnumber = ?, | .
- qq|cnnumber = ?, | .
- qq|sonumber = ?, | .
- qq|ponumber = ?, | .
- qq|sqnumber = ?, | .
- qq|rfqnumber = ?, | .
- qq|customernumber = ?, | .
- qq|vendornumber = ?, | .
- qq|articlenumber = ?, | .
- qq|servicenumber = ?, | .
- qq|yearend = ?, | .
- qq|curr = ?, | .
- qq|businessnumber = ?|;
- my @values = ($form->{inventory_accno}, $form->{income_accno},
- $form->{expense_accno},
- $form->{fxgain_accno}, $form->{fxloss_accno},
- $form->{invnumber}, $form->{cnnumber},
- $form->{sonumber}, $form->{ponumber},
- $form->{sqnumber}, $form->{rfqnumber},
- $form->{customernumber}, $form->{vendornumber},
- $form->{articlenumber}, $form->{servicenumber},
- $form->{yearend}, $form->{curr},
+ qq|UPDATE defaults SET
+ inventory_accno_id = (SELECT c.id FROM chart c WHERE c.accno = ?),
+ income_accno_id = (SELECT c.id FROM chart c WHERE c.accno = ?),
+ expense_accno_id = (SELECT c.id FROM chart c WHERE c.accno = ?),
+ fxgain_accno_id = (SELECT c.id FROM chart c WHERE c.accno = ?),
+ fxloss_accno_id = (SELECT c.id FROM chart c WHERE c.accno = ?),
+ invnumber = ?,
+ cnnumber = ?,
+ sonumber = ?,
+ ponumber = ?,
+ sqnumber = ?,
+ rfqnumber = ?,
+ customernumber = ?,
+ vendornumber = ?,
+ articlenumber = ?,
+ servicenumber = ?,
+ yearend = ?,
+ curr = ?,
+ businessnumber = ?|;
+ my @values = ($accnos{inventory_accno}, $accnos{income_accno}, $accnos{expense_accno},
+ $accnos{fxgain_accno}, $accnos{fxloss_accno},
+ $form->{invnumber}, $form->{cnnumber},
+ $form->{sonumber}, $form->{ponumber},
+ $form->{sqnumber}, $form->{rfqnumber},
+ $form->{customernumber}, $form->{vendornumber},
+ $form->{articlenumber}, $form->{servicenumber},
+ $form->{yearend}, $currency,
$form->{businessnumber});
do_query($form, $dbh, $query, @values);
+ $dbh->commit();
+
+ $main::lxdebug->leave_sub();
+}
+
+
+sub save_preferences {
+ $main::lxdebug->enter_sub();
+
+ my ($self, $myconfig, $form, $memberfile, $userspath, $webdav) = @_;
+
+ my $dbh = $form->get_standard_dbh($myconfig);
+
+ my ($currency, $businessnumber) = selectrow_query($form, $dbh, qq|SELECT curr, businessnumber FROM defaults|);
+
# update name
- $query = qq|UPDATE employee
- SET name = ?
- WHERE login = ?|;
+ my $query = qq|UPDATE employee SET name = ? WHERE login = ?|;
do_query($form, $dbh, $query, $form->{name}, $form->{login});
- my $rc = $dbh->commit;
- $dbh->disconnect;
+ my $rc = $dbh->commit();
# save first currency in myconfig
- $form->{currency} = substr($form->{curr}, 0, 3);
+ $currency =~ s/:.*//;
+ $form->{currency} = $currency;
+
+ $form->{businessnumber} = $businessnumber;
$myconfig = new User "$memberfile", "$form->{login}";
diff --git a/bin/mozilla/am.pl b/bin/mozilla/am.pl
index 89dd4f29f..fbb5cfd3e 100644
--- a/bin/mozilla/am.pl
+++ b/bin/mozilla/am.pl
@@ -2302,6 +2302,46 @@ sub swap_payment_terms {
$lxdebug->leave_sub();
}
+sub edit_defaults {
+ $lxdebug->enter_sub();
+
+ # get defaults for account numbers and last numbers
+ AM->defaultaccounts(\%myconfig, \%$form);
+
+ map { $form->{"defaults_${_}"} = $form->{defaults}->{$_} } keys %{ $form->{defaults} };
+
+ foreach $key (keys %{ $form->{IC} }) {
+ foreach $accno (sort keys %{ $form->{IC}->{$key} }) {
+ my $array = "ACCNOS_" . uc($key);
+ $form->{$array} ||= [];
+
+ my $value = "${accno}--" . $form->{IC}->{$key}->{$accno}->{description};
+ push @{ $form->{$array} }, {
+ 'name' => $value,
+ 'value' => $value,
+ 'selected' => $form->{IC}->{$key}->{$accno}->{id} == $form->{defaults}->{$key},
+ };
+ }
+ }
+
+ $form->{title} = $locale->text('Ranges of numbers and default accounts');
+
+ $form->header();
+ print $form->parse_html_template('am/edit_defaults');
+
+ $lxdebug->leave_sub();
+}
+
+sub save_defaults {
+ $lxdebug->enter_sub();
+
+ AM->save_defaults();
+
+ $form->redirect($locale->text('Defaults saved.'));
+
+ $lxdebug->leave_sub();
+}
+
sub _build_cfg_options {
my $idx = shift;
my $array = uc($idx) . 'S';
@@ -2319,11 +2359,6 @@ sub _build_cfg_options {
sub config {
$lxdebug->enter_sub();
- # get defaults for account numbers and last numbers
- AM->defaultaccounts(\%myconfig, \%$form);
-
- map { $form->{"defaults_${_}"} = $form->{defaults}->{$_} } keys %{ $form->{defaults} };
-
_build_cfg_options('dateformat', qw(mm-dd-yy mm/dd/yy dd-mm-yy dd/mm/yy dd.mm.yy yyyy-mm-dd));
_build_cfg_options('numberformat', qw(1,000.00 1000.00 1.000,00 1000,00));
@@ -2392,20 +2427,6 @@ sub config {
};
}
- foreach $key (keys %{ $form->{IC} }) {
- foreach $accno (sort keys %{ $form->{IC}->{$key} }) {
- my $array = "ACCNOS_" . uc($key);
- $form->{$array} ||= [];
-
- my $value = "${accno}--" . $form->{IC}->{$key}->{$accno}->{description};
- push @{ $form->{$array} }, {
- 'name' => $value,
- 'value' => $value,
- 'selected' => $form->{IC}->{$key}->{$accno}->{id} == $form->{defaults}->{$key},
- };
- }
- }
-
$form->{STYLESHEETS} = [];
foreach $item (qw(lx-office-erp.css Win2000.css)) {
push @{ $form->{STYLESHEETS} }, {
diff --git a/locale/de/all b/locale/de/all
index c030de56e..0ba69fe6b 100644
--- a/locale/de/all
+++ b/locale/de/all
@@ -309,6 +309,7 @@ aktualisieren wollen?',
'Credit Tax Account' => 'Umsatzsteuerkonto',
'Credit note (one letter abbreviation)' => 'G',
'Curr' => 'Währung',
+ 'Currencies' => 'Währungen',
'Currency' => 'Währung',
'Current' => 'Betrag',
'Current / Next Level' => 'Aktuelles / Nächstes Mahnlevel',
@@ -361,9 +362,11 @@ aktualisieren wollen?',
'December' => 'Dezember',
'Decimalplaces' => 'Dezimalstellen',
'Decrease' => 'Verringern',
+ 'Default Accounts' => 'Standardkonten',
'Default output medium' => 'Standardausgabekanal',
'Default printer' => 'Standarddrucker',
'Default template format' => 'Standardvorlagenformat',
+ 'Defaults saved.' => 'Die Standardeinstellungen wurden gespeichert.',
'Delete' => 'Löschen',
'Delete Account' => 'Konto löschen',
'Delete Dataset' => 'Datenbank löschen',
@@ -643,7 +646,6 @@ aktualisieren wollen?',
'Last Credit Note Number' => 'Letzte Gutschriftnummer',
'Last Customer Number' => 'Letzte Kundennummer',
'Last Invoice Number' => 'Letzte Rechnungsnummer',
- 'Last Numbers & Default Accounts' => 'Laufende Zähler und Standardkonten',
'Last Purchase Order Number' => 'Letzte Lieferantenautragsnummer',
'Last RFQ Number' => 'Letzte Anfragenummer',
'Last Sales Order Number' => 'Letzte Auftragsnummer',
@@ -710,6 +712,7 @@ aktualisieren wollen?',
'Method' => 'Verfahren',
'Microfiche' => 'Mikrofilm',
'Minimum Amount' => 'Mindestbetrag',
+ 'Miscellaneous' => 'Verschiedenes',
'Missing \'description\' field.' => 'Fehlendes Feld \'description\'.',
'Missing \'tag\' field.' => 'Fehlendes Feld \'tag\'.',
'Missing Method!' => 'Fehlender Voranmeldungszeitraum',
@@ -949,6 +952,8 @@ aktualisieren wollen?',
'RFQ Number' => 'Anfragenummer',
'RFQs' => 'Preisanfragen',
'ROP' => 'Mindestlagerbestand',
+ 'Ranges of numbers' => 'Nummernkreise',
+ 'Ranges of numbers and default accounts' => 'Nummernkreise und Standardkonten',
'Receipt' => 'Zahlungseingang',
'Receipt posted!' => 'Beleg gebucht!',
'Receipts' => 'Zahlungseingänge',
diff --git a/locale/de/am b/locale/de/am
index 14faf014b..9fe7ed913 100644
--- a/locale/de/am
+++ b/locale/de/am
@@ -92,6 +92,7 @@ $self->{texts} = {
'Dataset upgrade' => 'Datenbankaktualisierung',
'Date' => 'Datum',
'Date Format' => 'Datumsformat',
+ 'Defaults saved.' => 'Die Standardeinstellungen wurden gespeichert.',
'Delete' => 'Löschen',
'Delete Account' => 'Konto löschen',
'Department deleted!' => 'Abteilung gelöscht.',
@@ -199,6 +200,7 @@ $self->{texts} = {
'Queue' => 'Warteschlange',
'Quotation' => 'Angebot',
'RFQ' => 'Anfrage',
+ 'Ranges of numbers and default accounts' => 'Nummernkreise und Standardkonten',
'Revenue' => 'Erlöskonto',
'Revenues EU with UStId' => 'Erlöse EU m. UStId',
'Revenues EU without UStId' => 'Erlöse EU o. UStId',
@@ -336,6 +338,7 @@ $self->{subs} = {
'edit_account' => 'edit_account',
'edit_buchungsgruppe' => 'edit_buchungsgruppe',
'edit_business' => 'edit_business',
+ 'edit_defaults' => 'edit_defaults',
'edit_department' => 'edit_department',
'edit_language' => 'edit_language',
'edit_lead' => 'edit_lead',
@@ -371,6 +374,7 @@ $self->{subs} = {
'save_account' => 'save_account',
'save_buchungsgruppe' => 'save_buchungsgruppe',
'save_business' => 'save_business',
+ 'save_defaults' => 'save_defaults',
'save_department' => 'save_department',
'save_language' => 'save_language',
'save_lead' => 'save_lead',
diff --git a/locale/de/menu b/locale/de/menu
index 1ea504ff9..203f8c23f 100644
--- a/locale/de/menu
+++ b/locale/de/menu
@@ -91,6 +91,7 @@ $self->{texts} = {
'Purchase Orders' => 'Lieferantenaufträge',
'Quotations' => 'Angebote',
'RFQs' => 'Preisanfragen',
+ 'Ranges of numbers and default accounts' => 'Nummernkreise und Standardkonten',
'Receipt' => 'Zahlungseingang',
'Receipts' => 'Zahlungseingänge',
'Reconciliation' => 'Kontenabgleich',
diff --git a/locale/de/menunew b/locale/de/menunew
index 7a8d0fdbb..e10739839 100644
--- a/locale/de/menunew
+++ b/locale/de/menunew
@@ -90,6 +90,7 @@ $self->{texts} = {
'Purchase Orders' => 'Lieferantenaufträge',
'Quotations' => 'Angebote',
'RFQs' => 'Preisanfragen',
+ 'Ranges of numbers and default accounts' => 'Nummernkreise und Standardkonten',
'Receipt' => 'Zahlungseingang',
'Receipts' => 'Zahlungseingänge',
'Reconciliation' => 'Kontenabgleich',
diff --git a/menu.ini b/menu.ini
index f74685013..66f112623 100644
--- a/menu.ini
+++ b/menu.ini
@@ -342,6 +342,11 @@ type=receipt
[System]
+
+[System--Ranges of numbers and default accounts]
+module=am.pl
+action=edit_defaults
+
[System--UStVa Einstellungen]
module=ustva.pl
action=config_step1
diff --git a/templates/webpages/am/config_de.html b/templates/webpages/am/config_de.html
index 052204cda..3bf622af5 100644
--- a/templates/webpages/am/config_de.html
+++ b/templates/webpages/am/config_de.html
@@ -167,137 +167,6 @@
Anzahl Kopien |
|
-
-
-
- |
-
-
-
- Firmennummer |
- |
-
-
- Jahresende (mm/dd) |
- |
-
-
-
- Laufende Zähler und Standardkonten |
-
-
-
-
-
- |
-
-
-
-
-
- |
-
diff --git a/templates/webpages/am/config_master.html b/templates/webpages/am/config_master.html
index 547e53491..775bcaf30 100644
--- a/templates/webpages/am/config_master.html
+++ b/templates/webpages/am/config_master.html
@@ -167,137 +167,6 @@
Number of copies |
|
-
-
-
- |
-
-
-
- Business Number |
- |
-
-
- Year End (mm/dd) |
- |
-
-
-
- Last Numbers & Default Accounts |
-
-
-
-
-
- |
-
-
-
-
-
- |
-
diff --git a/templates/webpages/am/edit_defaults_de.html b/templates/webpages/am/edit_defaults_de.html
new file mode 100644
index 000000000..f6642303f
--- /dev/null
+++ b/templates/webpages/am/edit_defaults_de.html
@@ -0,0 +1,148 @@
+[% USE HTML %]
+
+ [% title %]
+
+
+
+
+