Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision 6af007ae

Von Moritz Bunkus vor mehr als 11 Jahren hinzugefügt

  • ID 6af007aef5ff57abc085bf61c6b2d228baac7b25
  • Vorgänger 368f144b
  • Nachfolger ce8306e0

Nummernkreise/Standardkonten in Mandantenkonfigurationsdialog verschoben

Unterschiede anzeigen:

SL/AM.pm
return $error;
}
sub save_defaults {
$main::lxdebug->enter_sub();
my $self = shift;
my %params = @_;
my $myconfig = \%main::myconfig;
my $form = $main::form;
my $dbh = $params{dbh} || $form->get_standard_dbh($myconfig);
my %accnos;
map { ($accnos{$_}) = split(m/--/, $form->{$_}) } qw(inventory_accno income_accno expense_accno fxgain_accno fxloss_accno ar_paid_accno);
# these defaults are database wide
my $query =
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 = ?),
ar_paid_accno_id = (SELECT c.id FROM chart c WHERE c.accno = ?),
invnumber = ?,
cnnumber = ?,
sonumber = ?,
ponumber = ?,
sqnumber = ?,
rfqnumber = ?,
customernumber = ?,
vendornumber = ?,
articlenumber = ?,
servicenumber = ?,
assemblynumber = ?,
sdonumber = ?,
pdonumber = ?,
businessnumber = ?,
weightunit = ?,
language_id = ?|;
my @values = ($accnos{inventory_accno}, $accnos{income_accno}, $accnos{expense_accno},
$accnos{fxgain_accno}, $accnos{fxloss_accno}, $accnos{ar_paid_accno},
$form->{invnumber}, $form->{cnnumber},
$form->{sonumber}, $form->{ponumber},
$form->{sqnumber}, $form->{rfqnumber},
$form->{customernumber}, $form->{vendornumber},
$form->{articlenumber}, $form->{servicenumber},
$form->{assemblynumber},
$form->{sdonumber}, $form->{pdonumber},
$form->{businessnumber}, $form->{weightunit},
conv_i($form->{language_id}));
do_query($form, $dbh, $query, @values);
$main::lxdebug->message(0, "es gibt rowcount: " . $form->{rowcount});
for my $i (1..$form->{rowcount}) {
if ($form->{"curr_$i"} ne $form->{"old_curr_$i"}) {
$query = qq|UPDATE currencies SET name = ? WHERE name = ?|;
do_query($form, $dbh, $query, $form->{"curr_$i"}, $form->{"old_curr_$i"});
}
}
if (length($form->{new_curr}) > 0) {
$query = qq|INSERT INTO currencies (name) VALUES (?)|;
do_query($form, $dbh, $query, $form->{new_curr});
}
$dbh->commit();
$main::lxdebug->leave_sub();
}
sub save_preferences {
$main::lxdebug->enter_sub();
......
return $defaults;
}
sub defaultaccounts {
$main::lxdebug->enter_sub();
my ($self, $myconfig, $form) = @_;
# connect to database
my $dbh = $form->dbconnect($myconfig);
# get defaults from defaults table
my $query = qq|SELECT * FROM defaults|;
my $sth = $dbh->prepare($query);
$sth->execute || $form->dberror($query);
$form->{defaults} = $sth->fetchrow_hashref("NAME_lc");
$form->{defaults}{IC} = $form->{defaults}{inventory_accno_id};
$form->{defaults}{IC_income} = $form->{defaults}{income_accno_id};
$form->{defaults}{IC_expense} = $form->{defaults}{expense_accno_id};
$form->{defaults}{FX_gain} = $form->{defaults}{fxgain_accno_id};
$form->{defaults}{FX_loss} = $form->{defaults}{fxloss_accno_id};
$form->{defaults}{AR_paid} = $form->{defaults}{ar_paid_accno_id};
$form->{defaults}{weightunit} ||= 'kg';
$sth->finish;
$query = qq|SELECT c.id, c.accno, c.description, c.link
FROM chart c
WHERE c.link LIKE '%IC%'
ORDER BY c.accno|;
$sth = $dbh->prepare($query);
$sth->execute || $self->dberror($query);
while (my $ref = $sth->fetchrow_hashref("NAME_lc")) {
foreach my $key (split(/:/, $ref->{link})) {
if ($key =~ /IC/) {
my $nkey = $key;
if ($key =~ /cogs/) {
$nkey = "IC_expense";
}
if ($key =~ /sale/) {
$nkey = "IC_income";
}
%{ $form->{IC}{$nkey}{ $ref->{accno} } } = (
id => $ref->{id},
description => $ref->{description}
);
}
}
}
$sth->finish;
$query = qq|SELECT c.id, c.accno, c.description
FROM chart c
WHERE c.category = 'I'
AND c.charttype = 'A'
ORDER BY c.accno|;
$sth = $dbh->prepare($query);
$sth->execute || $self->dberror($query);
while (my $ref = $sth->fetchrow_hashref("NAME_lc")) {
%{ $form->{IC}{FX_gain}{ $ref->{accno} } } = (
id => $ref->{id},
description => $ref->{description}
);
}
$sth->finish;
$query = qq|SELECT c.id, c.accno, c.description
FROM chart c
WHERE c.category = 'E'
AND c.charttype = 'A'
ORDER BY c.accno|;
$sth = $dbh->prepare($query);
$sth->execute || $self->dberror($query);
while (my $ref = $sth->fetchrow_hashref("NAME_lc")) {
%{ $form->{IC}{FX_loss}{ $ref->{accno} } } = (
id => $ref->{id},
description => $ref->{description}
);
}
$sth->finish;
# now get the tax rates and numbers
$query = qq|SELECT c.id, c.accno, c.description,
t.rate * 100 AS rate, t.taxnumber
FROM chart c, tax t
WHERE c.id = t.chart_id|;
$sth = $dbh->prepare($query);
$sth->execute || $form->dberror($query);
while (my $ref = $sth->fetchrow_hashref("NAME_lc")) {
$form->{taxrates}{ $ref->{accno} }{id} = $ref->{id};
$form->{taxrates}{ $ref->{accno} }{description} = $ref->{description};
$form->{taxrates}{ $ref->{accno} }{taxnumber} = $ref->{taxnumber}
if $ref->{taxnumber};
$form->{taxrates}{ $ref->{accno} }{rate} = $ref->{rate} if $ref->{rate};
}
# Abfrage für Standard Umlaufvermögenskonto
$query =
qq|SELECT id, accno, description, link | .
qq|FROM chart | .
qq|WHERE link LIKE ? |.
qq|ORDER BY accno|;
$sth = prepare_execute_query($form, $dbh, $query, '%AR%');
$sth->execute || $form->dberror($query);#
while (my $ref = $sth->fetchrow_hashref("NAME_lc")) {
foreach my $item (split(/:/, $ref->{link})) {
if ($item eq "AR_paid") {
%{ $form->{IC}{AR_paid}{ $ref->{accno} } } = (
id => $ref->{id},
description => $ref->{description}
);
}
}
}
$sth->finish;
#Get currencies:
$query = qq|SELECT name AS curr FROM currencies ORDER BY id|;
$form->{CURRENCIES} = selectall_hashref_query($form, $dbh, $query);
#Which of them is the default currency?
$query = qq|SELECT name AS defaultcurrency FROM currencies WHERE id = (SELECT currency_id FROM defaults LIMIT 1);|;
($form->{defaultcurrency}) = selectrow_query($form, $dbh, $query);
$dbh->disconnect;
$main::lxdebug->leave_sub();
}
sub closedto {
$main::lxdebug->enter_sub();
SL/Controller/ClientConfig.pm
use strict;
use parent qw(SL::Controller::Base);
use List::Util qw(first);
use SL::DB::Chart;
use SL::DB::Currency;
use SL::DB::Default;
use SL::DB::Language;
use SL::DB::Unit;
use SL::Helper::Flash;
use SL::Locale::String qw(t8);
__PACKAGE__->run_before('check_auth');
use Rose::Object::MakeMethods::Generic (
'scalar --get_set_init' => [ qw(defaults all_warehouses posting_options payment_options accounting_options inventory_options profit_options) ],
'scalar --get_set_init' => [ qw(defaults all_warehouses all_weightunits all_languages all_currencies posting_options payment_options accounting_options inventory_options profit_options accounts) ],
);
sub action_edit {
......
}
sub action_save {
my ($self, %params) = @_;
my ($self, %params) = @_;
my $defaults = delete($::form->{defaults}) || {};
my $defaults = delete($::form->{defaults}) || {};
my $entered_currencies = delete($::form->{currencies}) || [];
my $original_currency_id = $self->defaults->currency_id;
# undef several fields if an empty value has been selected.
foreach (qw(warehouse_id bin_id warehouse_id_ignore_onhand bin_id_ignore_onhand)) {
undef $defaults->{$_} if !$defaults->{$_};
}
$self->defaults->update_attributes(%{ $defaults });
$self->defaults->assign_attributes(%{ $defaults });
my %errors_idx;
# Handle currencies
my (%new_currency_names);
foreach my $existing_currency (@{ $self->all_currencies }) {
my $new_name = $existing_currency->name;
my $new_currency = first { $_->{id} == $existing_currency->id } @{ $entered_currencies };
$new_name = $new_currency->{name} if $new_currency;
if (!$new_name) {
$errors_idx{0} = t8('Currency names must not be empty.');
} elsif ($new_currency_names{$new_name}) {
$errors_idx{1} = t8('Currency names must be unique.');
}
if ($new_name) {
$new_currency_names{$new_name} = 1;
$existing_currency->name($new_name);
}
}
if ($::form->{new_currency} && $new_currency_names{ $::form->{new_currency} }) {
$errors_idx{1} = t8('Currency names must be unique.');
}
my @errors = map { $errors_idx{$_} } sort keys %errors_idx;
if (@errors) {
flash('error', @errors);
return $self->edit_form;
}
# Save currencies. As the names must be unique we cannot simply save
# them as they are -- the user might want to swap to names. So make
# them unique first and assign the actual names in a second step.
my %currency_names_by_id = map { ($_->id => $_->name) } @{ $self->all_currencies };
$_->update_attributes(name => '__039519735__' . $_->{id}) for @{ $self->all_currencies };
$_->update_attributes(name => $currency_names_by_id{ $_->{id} }) for @{ $self->all_currencies };
# Create new currency if required
my $new_currency;
if ($::form->{new_currency}) {
$new_currency = SL::DB::Currency->new(name => $::form->{new_currency});
$new_currency->save;
}
# If the user wants the new currency to be the default then replace
# the ID placeholder with the proper value. However, if no new
# currency has been created then don't change the value at all.
if (-1 == $self->defaults->currency_id) {
$self->defaults->currency_id($new_currency ? $new_currency->id : $original_currency_id);
}
$self->defaults->save;
flash_later('info', t8('Client Configuration saved!'));
......
# initializers
#
sub init_defaults { SL::DB::Default->get }
sub init_all_warehouses { SL::DB::Manager::Warehouse->get_all_sorted }
sub init_defaults { SL::DB::Default->get }
sub init_all_warehouses { SL::DB::Manager::Warehouse->get_all_sorted }
sub init_all_languages { SL::DB::Manager::Language->get_all_sorted }
sub init_all_currencies { SL::DB::Manager::Currency->get_all_sorted }
sub init_all_weightunits { SL::DB::Manager::Unit->find_by(name => 'g')->convertible_units }
sub init_posting_options {
[ { title => t8("never"), value => 0 },
......
{ title => t8("income"), value => "income" }, ]
}
sub init_accounts {
my %accounts;
foreach my $chart (@{ SL::DB::Manager::Chart->get_all(where => [ link => { like => '%IC%' } ], sort_by => 'accno ASC') }) {
my %added;
foreach my $link (split m/:/, $chart->link) {
my $key = lc($link =~ /cogs/ ? 'IC_expense' : $link =~ /sale/ ? 'IC_income' : $link);
next if $added{$key};
$added{$key} = 1;
$accounts{$key} ||= [];
push @{ $accounts{$key} }, $chart;
}
}
$accounts{fx_gain} = SL::DB::Manager::Chart->get_all(where => [ category => 'I', charttype => 'A' ], sort_by => 'accno ASC');
$accounts{fx_loss} = SL::DB::Manager::Chart->get_all(where => [ category => 'E', charttype => 'A' ], sort_by => 'accno ASC');
$accounts{ar_paid} = SL::DB::Manager::Chart->get_all(where => [ link => { like => '%AR_paid%' } ], sort_by => 'accno ASC');
return \%accounts;
}
#
# filters
#
......
sub edit_form {
my ($self) = @_;
$self->render('client_config/form', title => t8('Client Configuration'));
$self->render('client_config/form', title => t8('Client Configuration'),
make_chart_title => sub { $_[0]->accno . '--' . $_[0]->description });
}
1;
bin/mozilla/am.pl
$main::lxdebug->leave_sub();
}
sub edit_defaults {
$main::lxdebug->enter_sub();
my $form = $main::form;
my %myconfig = %main::myconfig;
my $locale = $main::locale;
# get defaults for account numbers and last numbers
AM->defaultaccounts(\%myconfig, \%$form);
$form->{ALL_UNITS} = AM->convertible_units(AM->retrieve_all_units(), 'g');
map { $form->{"defaults_${_}"} = $form->{defaults}->{$_} } keys %{ $form->{defaults} };
# default language
my $all_languages = SL::DB::Manager::Language->get_all;
# cash = IST-Versteuerung, accrual = SOLL-Versteuerung
foreach my $key (keys %{ $form->{IC} }) {
foreach my $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',
{ ALL_LANGUAGES => $all_languages, });
$main::lxdebug->leave_sub();
}
sub save_defaults {
$main::lxdebug->enter_sub();
my $form = $main::form;
my $locale = $main::locale;
AM->save_defaults();
$form->redirect($locale->text('Defaults saved.'));
$main::lxdebug->leave_sub();
}
sub _build_cfg_options {
my $form = $main::form;
my %myconfig = %main::myconfig;
locale/de/all
'Add custom variable' => 'Benutzerdefinierte Variable erfassen',
'Add link: select records to link with' => 'Verknüpfungen hinzufügen: zu verknüpfende Belege auswählen',
'Add links' => 'Verknüpfungen hinzufügen',
'Add new currency' => 'Neue Währung hinzufügen',
'Add note' => 'Notiz erfassen',
'Add printer' => 'Drucker hinzufügen',
'Add unit' => 'Einheit hinzufügen',
......
'Company Name' => 'Firmenname',
'Company name' => 'Firmenname',
'Compare to' => 'Gegenüberstellen zu',
'Configuration' => 'Einstellungen',
'Configuration of individual TODO items' => 'Konfiguration für die einzelnen Aufgabenlistenpunkte',
'Configure' => 'Konfigurieren',
'Confirm' => 'Bestätigen',
......
'Currencies' => 'Währungen',
'Currency' => 'Währung',
'Currency (database ID)' => 'Währung (Datenbank-ID)',
'Currency name' => 'Währungsname',
'Currency names must be unique.' => 'Währungsnamen müssen eindeutig sein.',
'Currency names must not be empty.' => 'Währungsnamen dürfen nicht leer sein.',
'Current / Next Level' => 'Aktuelles / Nächstes Mahnlevel',
'Current Earnings' => 'Gewinn',
'Current assets account' => 'Konto für Umlaufvermögen',
......
'Default template format' => 'Standardvorlagenformat',
'Default unit' => 'Standardeinheit',
'Default value' => 'Standardwert',
'Defaults saved.' => 'Die Standardeinstellungen wurden gespeichert.',
'Delete' => 'Löschen',
'Delete Account' => 'Konto löschen',
'Delete Contact' => 'Ansprechperson löschen',
......
'Edit templates' => 'Vorlagen bearbeiten',
'Edit the Delivery Order' => 'Lieferschein bearbeiten',
'Edit the configuration for periodic invoices' => 'Konfiguration für wiederkehrende Rechnungen bearbeiten',
'Edit the currency names in order to rename them.' => 'Bearbeiten Sie den Namen, um eine Währung umzubennen.',
'Edit the purchase_order' => 'Bearbeiten des Lieferantenauftrags',
'Edit the request_quotation' => 'Bearbeiten der Preisanfrage',
'Edit the sales_order' => 'Bearbeiten des Auftrags',
......
'Hide by default' => 'Standardmäßig verstecken',
'Hide help text' => 'Hilfetext verbergen',
'Hide settings' => 'Einstellungen verbergen',
'Hints' => 'Hinweise',
'History' => 'Historie',
'History Search' => 'Historien Suche',
'History Search Engine' => 'Historien Suchmaschine',
......
'RFQs' => 'Preisanfragen',
'ROP' => 'Mindestlagerbestand',
'Ranges of numbers' => 'Nummernkreise',
'Ranges of numbers and default accounts' => 'Nummernkreise und Standardkonten',
'Re-run analysis' => 'Analyse wiederholen',
'Receipt' => 'Zahlungseingang',
'Receipt posted!' => 'Beleg gebucht!',
menu.ini
module=controller.pl
action=ClientConfig/edit
[System--Ranges of numbers and default accounts]
module=am.pl
action=edit_defaults
[System--UStVa Einstellungen]
module=ustva.pl
action=config_step1
templates/webpages/am/edit_defaults.html
[%- USE T8 %]
[%- USE HTML %]
<div class="listtop">[% title %]</div>
<form method="post" action="am.pl"name="Form">
<input type="hidden" name="type" value="defaults">
<p>
<table>
<tr class="listheading">
<th colspan="4">[% 'Ranges of numbers' | $T8 %]</th>
</tr>
<tr>
<th align="right" nowrap>[% 'Last Invoice Number' | $T8 %]</th>
<td><input name="invnumber" size="10" value="[% HTML.escape(defaults_invnumber) %]"></td>
<th align="right" nowrap>[% 'Last Customer Number' | $T8 %]</th>
<td><input name="customernumber" size="10" value="[% HTML.escape(defaults_customernumber) %]"></td>
</tr>
<tr>
<th align="right" nowrap>[% 'Last Credit Note Number' | $T8 %]</th>
<td><input name="cnnumber" size="10" value="[% HTML.escape(defaults_cnnumber) %]"></td>
<th align="right" nowrap>[% 'Last Vendor Number' | $T8 %]</th>
<td><input name="vendornumber" size="10" value="[% HTML.escape(defaults_vendornumber) %]"></td>
</tr>
<tr>
<th align="right" nowrap>[% 'Last Sales Order Number' | $T8 %]</th>
<td><input name="sonumber" size="10" value="[% HTML.escape(defaults_sonumber) %]"></td>
</tr>
<tr>
<th align="right" nowrap>[% 'Last Purchase Order Number' | $T8 %]</th>
<td><input name="ponumber" size="10" value="[% HTML.escape(defaults_ponumber) %]"></td>
<th align="right" nowrap>[% 'Last Article Number' | $T8 %]</th>
<td><input name="articlenumber" size="10" value="[% HTML.escape(defaults_articlenumber) %]"></td>
</tr>
<tr>
<th align="right" nowrap>[% 'Last Sales Quotation Number' | $T8 %]</th>
<td><input name="sqnumber" size="10" value="[% HTML.escape(defaults_sqnumber) %]"></td>
<th align="right" nowrap>[% 'Last Service Number' | $T8 %]</th>
<td><input name="servicenumber" size="10" value="[% HTML.escape(defaults_servicenumber) %]"></td>
</tr>
<tr>
<th align="right" nowrap>[% 'Last RFQ Number' | $T8 %]</th>
<td><input name="rfqnumber" size="10" value="[% HTML.escape(defaults_rfqnumber) %]"></td>
<th align="right" nowrap>[% 'Last Assembly Number' | $T8 %]</th>
<td><input name="assemblynumber" size="10" value="[% HTML.escape(defaults_assemblynumber) %]"></td>
</tr>
<tr>
<th align="right" nowrap>[% 'Last Sales Delivery Order Number' | $T8 %]</th>
<td><input name="sdonumber" size="10" value="[% HTML.escape(defaults_sdonumber) %]"></td>
</tr>
<tr>
<th align="right" nowrap>[% 'Last Purchase Delivery Order Number' | $T8 %]</th>
<td><input name="pdonumber" size="10" value="[% HTML.escape(defaults_pdonumber) %]"></td>
</tr>
<tr class="listheading">
<th colspan="4">[% 'Default Accounts' | $T8 %]</th>
</tr>
<tr>
<th align="right" nowrap>[% 'Inventory Account' | $T8 %]</th>
<td colspan="3">
<select name="inventory_accno">
[%- FOREACH row = ACCNOS_IC %]
<option value="[% HTML.escape(row.value) %]"[% IF row.selected %] selected[% END %]>[% HTML.escape(row.name) %]</option>
[%- END %]
</select>
</td>
</tr>
<tr>
<th align="right" nowrap>[% 'Revenue Account' | $T8 %]</th>
<td colspan="3">
<select name="income_accno">
[%- FOREACH row = ACCNOS_IC_INCOME %]
<option value="[% HTML.escape(row.value) %]"[% IF row.selected %] selected[% END %]>[% HTML.escape(row.name) %]</option>
[%- END %]
</select>
</td>
</tr>
<tr>
<th align="right" nowrap>[% 'Expense Account' | $T8 %]</th>
<td colspan="3">
<select name="expense_accno">
[%- FOREACH row = ACCNOS_IC_EXPENSE %]
<option value="[% HTML.escape(row.value) %]"[% IF row.selected %] selected[% END %]>[% HTML.escape(row.name) %]</option>
[%- END %]
</select>
</td>
</tr>
<tr>
<th align="right" nowrap>[% 'Foreign Exchange Gain' | $T8 %]</th>
<td colspan="3">
<select name="fxgain_accno">
[%- FOREACH row = ACCNOS_FX_GAIN %]
<option value="[% HTML.escape(row.value) %]"[% IF row.selected %] selected[% END %]>[% HTML.escape(row.name) %]</option>
[%- END %]
</select>
</td>
</tr>
<tr>
<th align="right" nowrap>[% 'Foreign Exchange Loss' | $T8 %]</th>
<td colspan="3">
<select name="fxloss_accno">
[%- FOREACH row = ACCNOS_FX_LOSS %]
<option value="[% HTML.escape(row.value) %]"[% IF row.selected %] selected[% END %]>[% HTML.escape(row.name) %]</option>
[%- END %]
</select>
</td>
</tr>
<tr>
<th align="right" nowrap>[% 'Current assets account' | $T8 %]</th>
<td colspan="3">
<select name="ar_paid_accno">
[%- FOREACH row = ACCNOS_AR_PAID %]
<option value="[% HTML.escape(row.value) %]"[% IF row.selected %] selected[% END %]>[% HTML.escape(row.name) %]</option>
[%- END %]
</select>
</td>
</tr>
<tr class="listheading">
<th colspan="4">[% 'Miscellaneous' | $T8 %]</th>
</tr>
<tr>
<th align="right">[% 'Business Number' | $T8 %]</th>
<td colspan="3"><input name="businessnumber" size="25" value="[% HTML.escape(defaults_businessnumber) %]"></td>
</tr>
<tr>
<th align="right">[% 'Default currency' | $T8 %]</th>
<td colspan="3">[% HTML.escape(defaultcurrency) %]</td>
</tr>
<tr>
<input type="hidden" name="rowcount" value="[% CURRENCIES.size %]">
<th align="right">[% 'Currencies' | $T8 %]</th>
<td colspan="3">[% FOREACH row = CURRENCIES %]<input name="curr_[% loop.count %]" size="3" value="[% HTML.escape(row.curr) %]">
<input type=hidden name="old_curr_[% loop.count %]" value="[% HTML.escape(row.curr) %]">
[% END %]
<input name="new_curr" size="3" value="">
</td>
</tr>
<tr>
<th align="right">[% 'Weight unit' | $T8 %]</th>
<!-- <td colspan="3"><input name="weightunit" size="20" maxlength="5" value="[% HTML.escape(defaults_weightunit) %]"></td> -->
<td>
[%- INCLUDE 'generic/multibox.html'
name = 'weightunit',
default = defaults_weightunit,
style = 'size:20; maxength:5',
DATA = ALL_UNITS,
id_key = 'name',
label_key = 'name',
-%]
</td>
</tr>
<tr>
<th align="right">[% 'Default Customer/Vendor Language' | $T8 %]</th>
<td>
[%- INCLUDE 'generic/multibox.html'
name = 'language_id',
default = defaults_language_id,
style = 'size:20; maxength:5',
DATA = ALL_LANGUAGES,
id_key = 'id',
label_key = 'description',
show_empty = 1
-%]
</td>
</tr>
<tr class="listheading">
<th colspan="4">[% 'Configuration' | $T8 %]</th>
</tr>
<tr>
<th align="right">[% 'Accounting method' | $T8 %] </th>
<td colspan="3"><input name="accounting_method" size="20" readonly="readonly" value="[% HTML.escape(defaults_accounting_method) | $T8 %]"></td>
</tr>
<tr>
<th align="right">[% 'Inventory system' | $T8 %] </th>
<td colspan="3"><input name="inventory_system" size="20" readonly="readonly" value="[% HTML.escape(defaults_inventory_system) | $T8 %]"></td>
</tr>
<tr>
<th align="right">[% 'Profit determination' | $T8 %] </th>
<td colspan="3"><input name="profit_determination" size="20" readonly="readonly" value="[% HTML.escape(defaults_profit_determination) | $T8 %]"></td>
</tr>
<tr>
<th align="right">[% 'Chart of accounts' | $T8 %] </th>
<td colspan="3"><input name="coa" size="20" readonly="readonly" value="[% HTML.escape(defaults_coa) | $T8 %]"></td>
</tr>
</table>
</p>
<hr height="3" noshade>
<p><input type="submit" class="submit" name="action" value="[% 'Save' | $T8 %]"></p>
<hr height="3" noshade>
</p>
</form>
templates/webpages/client_config/_default_accounts.html
[%- USE HTML -%][%- USE LxERP -%][%- USE L -%][%- USE T8 -%]
[% SET style="width: 600px" %]
<div id="default_accounts">
<div class='listheading'>[% LxERP.t8('Default Accounts') %]</div>
<table>
<tr>
<td align="right">[% LxERP.t8("Inventory Account") %]</td>
<td>[% L.select_tag('defaults.inventory_accno_id', SELF.accounts.ic, default=SELF.defaults.inventory_accno_id, title_sub=\make_chart_title, style=style) %]</td>
</tr>
<tr>
<td align="right">[% LxERP.t8("Revenue Account") %]</td>
<td>[% L.select_tag('defaults.income_accno_id', SELF.accounts.ic_income, default=SELF.defaults.income_accno_id, title_sub=\make_chart_title, style=style) %]</td>
</tr>
<tr>
<td align="right">[% LxERP.t8("Expense Account") %]</td>
<td>[% L.select_tag('defaults.expense_accno_id', SELF.accounts.ic_expense, default=SELF.defaults.expense_accno_id, title_sub=\make_chart_title, style=style) %]</td>
</tr>
<tr>
<td align="right">[% LxERP.t8("Foreign Exchange Gain") %]</td>
<td>[% L.select_tag('defaults.fxgain_accno_id', SELF.accounts.fx_gain, default=SELF.defaults.fxgain_accno_id, title_sub=\make_chart_title, style=style) %]</td>
</tr>
<tr>
<td align="right">[% LxERP.t8("Foreign Exchange Loss") %]</td>
<td>[% L.select_tag('defaults.fxloss_accno_id', SELF.accounts.fx_loss, default=SELF.defaults.fxloss_accno_id, title_sub=\make_chart_title, style=style) %]</td>
</tr>
<tr>
<td align="right">[% LxERP.t8("Current assets account") %]</td>
<td>[% L.select_tag('defaults.ar_paid_accno_id', SELF.accounts.ar_paid, default=SELF.defaults.ar_paid_accno_id, title_sub=\make_chart_title, style=style) %]</td>
</tr>
</table>
</div>
templates/webpages/client_config/_miscellaneous.html
[%- USE LxERP -%][%- USE L -%]
[%- USE LxERP -%][%- USE L -%][%- USE HTML -%]
[% SET style="width: 200px" %]
<div id="miscellaneous">
<div class='listheading'>[% LxERP.t8('Weight') %]</div>
<div class="listheading">[% LxERP.t8("Miscellaneous") %]</div>
<table>
<tr>
<td align="right">[% LxERP.t8('Show weights') %]</td>
<td>
[% L.yes_no_tag('defaults.show_weight', SELF.defaults.show_weight) %]
<td align="right">[% LxERP.t8("Business Number") %]</td>
<td>[% L.input_tag('defaults.businessnumber', SELF.defaults.businessnumber, style=style) %]</td>
</tr>
<tr>
<td align="right">[% LxERP.t8('Default Customer/Vendor Language') %]</td>
<td>[% L.select_tag('defaults.language_id', SELF.all_languages, title_key='description', default=SELF.defaults.language_id, with_empty=1, style=style) %]</td>
</tr>
</table>
<div class="listheading">[% LxERP.t8("Currencies") %]</div>
<table>
<tr>
<th></th>
<th>[% LxERP.t8("Default currency") %]</th>
<th>[% LxERP.t8("Currency name") %]</th>
<th>[% LxERP.t8("Hints") %]</th>
</tr>
[% FOREACH currency = SELF.all_currencies %]
<tr>
<td align="right">[% IF loop.count == 1 %][% LxERP.t8("Currencies") %][% END %]</td>
<td align="center">
[% L.hidden_tag("currencies[+].id", currency.id) %]
[% L.radio_button_tag('defaults.currency_id', value=currency.id, id='defaults.currency_id_' _ currency.id, checked=(SELF.defaults.currency_id == currency.id)) %]
</td>
<td>
[% LxERP.t8('Show the weights of articles and the total weight in orders, invoices and delivery notes?') %]<br>
[% L.input_tag("currencies[].name", currency.name, style=style) %]
</td>
<td>[% IF loop.count == 1 %][% LxERP.t8("Edit the currency names in order to rename them.") %][%- END %]</td>
</tr>
[% END %]
<tr>
<td align="right">[% LxERP.t8("Add new currency") %]</td>
<td align="center">[% L.radio_button_tag('defaults.currency_id', value=-1, id='defaults.currency_id__1', checked=(SELF.defaults.currency_id == -1)) %]</td>
<td>[% L.input_tag("new_currency", FORM.new_currency, style=style) %]</td>
</tr>
</table>
<div class="listheading">[% LxERP.t8("Weight") %]</div>
<table>
<tr>
<td align="right">[% LxERP.t8("Weight unit") %]</td>
<td>[% L.select_tag('defaults.weightunit', SELF.all_weightunits, default=SELF.defaults.weightunit, value_key='name', title_key='name', style=style) %]</td>
</tr>
<tr>
<td align="right">[% LxERP.t8('Show weights') %]</td>
<td>[% L.yes_no_tag('defaults.show_weight', SELF.defaults.show_weight, style=style) %]</td>
<td>[% LxERP.t8('Show the weights of articles and the total weight in orders, invoices and delivery notes?') %]</td>
</tr>
</table>
</div>
templates/webpages/client_config/_ranges_of_numbers.html
[%- USE LxERP -%][%- USE L -%][%- USE HTML -%]
<div id="ranges_of_numbers">
<div class='listheading'>[% LxERP.t8('Ranges of numbers') %]</div>
<table>
<tr>
<td align="right" nowrap>[% LxERP.t8('Last Invoice Number') %]</td>
<td>[% L.input_tag("defaults.invnumber", SELF.defaults.invnumber, size="15") %]</td>
<td align="right" nowrap>[% LxERP.t8('Last Customer Number') %]</td>
<td>[% L.input_tag("defaults.customernumber", SELF.defaults.customernumber, size="15") %]</td>
</tr>
<tr>
<td align="right" nowrap>[% LxERP.t8('Last Credit Note Number') %]</td>
<td>[% L.input_tag("defaults.cnnumber", SELF.defaults.cnnumber, size="15") %]</td>
<td align="right" nowrap>[% LxERP.t8('Last Vendor Number') %]</td>
<td>[% L.input_tag("defaults.vendornumber", SELF.defaults.vendornumber, size="15") %]</td>
</tr>
<tr>
<td align="right" nowrap>[% LxERP.t8('Last Sales Order Number') %]</td>
<td>[% L.input_tag("defaults.sonumber", SELF.defaults.sonumber, size="15") %]</td>
</tr>
<tr>
<td align="right" nowrap>[% LxERP.t8('Last Purchase Order Number') %]</td>
<td>[% L.input_tag("defaults.ponumber", SELF.defaults.ponumber, size="15") %]</td>
<td align="right" nowrap>[% LxERP.t8('Last Article Number') %]</td>
<td>[% L.input_tag("defaults.articlenumber", SELF.defaults.articlenumber, size="15") %]</td>
</tr>
<tr>
<td align="right" nowrap>[% LxERP.t8('Last Sales Quotation Number') %]</td>
<td>[% L.input_tag("defaults.sqnumber", SELF.defaults.sqnumber, size="15") %]</td>
<td align="right" nowrap>[% LxERP.t8('Last Service Number') %]</td>
<td>[% L.input_tag("defaults.servicenumber", SELF.defaults.servicenumber, size="15") %]</td>
</tr>
<tr>
<td align="right" nowrap>[% LxERP.t8('Last RFQ Number') %]</td>
<td>[% L.input_tag("defaults.rfqnumber", SELF.defaults.rfqnumber, size="15") %]</td>
<td align="right" nowrap>[% LxERP.t8('Last Assembly Number') %]</td>
<td>[% L.input_tag("defaults.assemblynumber", SELF.defaults.assemblynumber, size="15") %]</td>
</tr>
<tr>
<td align="right" nowrap>[% LxERP.t8('Last Sales Delivery Order Number') %]</td>
<td>[% L.input_tag("defaults.sdonumber", SELF.defaults.sdonumber, size="15") %]</td>
</tr>
<tr>
<td align="right" nowrap>[% LxERP.t8('Last Purchase Delivery Order Number') %]</td>
<td>[% L.input_tag("defaults.pdonumber", SELF.defaults.pdonumber, size="15") %]</td>
</tr>
</table>
</div>
templates/webpages/client_config/form.html
[%- USE T8 %][%- USE L %][% USE LxERP %][% USE HTML %]
[%- USE JavaScript -%]
[%- USE L %][% USE LxERP %][% USE HTML %][%- USE JavaScript -%]
<script type="text/javascript" src="js/common.js"></script>
<script type="text/javascript" src="js/parts_language_selection.js"></script>
<script type="text/javascript">
......
<form action='controller.pl' method='POST'>
<div class="tabwidget">
<ul>
<li><a href="#posting_configuration">[% 'Posting Configuration' | $T8 %]</a></li>
<li><a href="#datev_check_configuration">[% 'DATEV check configuration' | $T8 %]</a></li>
<li><a href="#orders_deleteable">[% 'Orders / Delivery Orders deleteable' | $T8 %]</a></li>
<li><a href="#warehouse">[% 'Warehouse' | $T8 %]</a></li>
<li><a href="#miscellaneous">[% 'Miscellaneous' | $T8 %]</a></li>
<li><a href="#miscellaneous">[% LxERP.t8('Miscellaneous') %]</a></li>
<li><a href="#ranges_of_numbers">[% LxERP.t8('Ranges of numbers') %]</a></li>
<li><a href="#default_accounts">[% LxERP.t8('Default Accounts') %]</a></li>
<li><a href="#posting_configuration">[% LxERP.t8('Posting Configuration') %]</a></li>
<li><a href="#datev_check_configuration">[% LxERP.t8('DATEV check configuration') %]</a></li>
<li><a href="#orders_deleteable">[% LxERP.t8('Orders / Delivery Orders deleteable') %]</a></li>
<li><a href="#warehouse">[% LxERP.t8('Warehouse') %]</a></li>
</ul>
[% PROCESS 'client_config/_ranges_of_numbers.html' %]
[% PROCESS 'client_config/_default_accounts.html' %]
[% PROCESS 'client_config/_posting_configuration.html' %]
[% PROCESS 'client_config/_datev_check_configuration.html' %]
[% PROCESS 'client_config/_orders_deleteable.html' %]

Auch abrufbar als: Unified diff