Revision 34af475f
Von Moritz Bunkus vor mehr als 11 Jahren hinzugefügt
SL/Controller/Admin.pm | ||
---|---|---|
# actions: database administration
|
||
#
|
||
|
||
sub action_database_administration {
|
||
sub action_create_dataset_login {
|
||
my ($self) = @_;
|
||
|
||
$::form->{dbhost} ||= $::auth->{DB_config}->{host} || 'localhost';
|
||
$::form->{dbport} ||= $::auth->{DB_config}->{port} || 5432;
|
||
$::form->{dbuser} ||= $::auth->{DB_config}->{user} || 'kivitendo';
|
||
$::form->{dbpasswd} ||= $::auth->{DB_config}->{password};
|
||
$::form->{dbdefault} ||= 'template1';
|
||
|
||
$self->render('admin/dbadmin', title => t8('Database Administration'));
|
||
$self->database_administration_login_form(
|
||
title => t8('Create Dataset'),
|
||
next_action => 'create_dataset',
|
||
);
|
||
}
|
||
|
||
sub action_create_dataset {
|
||
... | ... | |
$self->redirect_to(action => 'database_administration');
|
||
}
|
||
|
||
sub action_delete_dataset_login {
|
||
my ($self) = @_;
|
||
|
||
$self->database_administration_login_form(
|
||
title => t8('Delete Dataset'),
|
||
next_action => 'delete_dataset',
|
||
);
|
||
}
|
||
|
||
sub action_delete_dataset {
|
||
my ($self) = @_;
|
||
$self->delete_dataset_form;
|
||
... | ... | |
# actions: locking, unlocking
|
||
#
|
||
|
||
sub action_show_lock {
|
||
my ($self) = @_;
|
||
|
||
$self->render(
|
||
"admin/show_lock",
|
||
title => "kivitendo " . t8('Administration'),
|
||
);
|
||
}
|
||
|
||
sub action_unlock_system {
|
||
my ($self) = @_;
|
||
|
||
... | ... | |
sub action_lock_system {
|
||
my ($self) = @_;
|
||
|
||
SL::System::InstallationLock->unlock;
|
||
SL::System::InstallationLock->lock;
|
||
flash_later('info', t8('Lockfile created!'));
|
||
$self->redirect_to(action => 'show');
|
||
}
|
||
... | ... | |
my ($self, $action) = @_;
|
||
|
||
$::request->layout(SL::Layout::Dispatcher->new(style => 'admin'));
|
||
$::request->layout->use_stylesheet("lx-office-erp.css");
|
||
$::form->{favicon} = "favicon.ico";
|
||
%::myconfig = (
|
||
countrycode => 'de',
|
||
... | ... | |
sub setup_client {
|
||
my ($self) = @_;
|
||
|
||
$self->client((first { $_->is_default } @{ $self->all_clients }) || $self->all_clients->[0]) if !$self->client;
|
||
$self->client(SL::DB::Manager::AuthClient->get_default || $self->all_clients->[0]) if !$self->client;
|
||
$::auth->set_client($self->client->id);
|
||
}
|
||
|
||
|
||
#
|
||
# displaying forms
|
||
#
|
||
... | ... | |
sub login_form {
|
||
my ($self, %params) = @_;
|
||
my $version = $::form->read_version;
|
||
$::request->layout->no_menu(1);
|
||
$self->render('admin/adminlogin', title => t8('kivitendo v#1 administration', $version), %params, version => $version);
|
||
}
|
||
|
||
... | ... | |
$self->render('admin/edit_printer', %params);
|
||
}
|
||
|
||
sub database_administration_login_form {
|
||
my ($self, %params) = @_;
|
||
|
||
$self->render(
|
||
'admin/dbadmin',
|
||
dbhost => $::form->{dbhost} || $::auth->{DB_config}->{host} || 'localhost',
|
||
dbport => $::form->{dbport} || $::auth->{DB_config}->{port} || 5432,
|
||
dbuser => $::form->{dbuser} || $::auth->{DB_config}->{user} || 'kivitendo',
|
||
dbpasswd => $::form->{dbpasswd} || $::auth->{DB_config}->{password},
|
||
dbdefault => $::form->{dbdefault} || 'template1',
|
||
%params,
|
||
);
|
||
}
|
||
|
||
sub create_dataset_form {
|
||
my ($self, %params) = @_;
|
||
$self->render('admin/create_dataset', title => (t8('Database Administration') . " / " . t8('Create Dataset')));
|
SL/DB/Manager/AuthClient.pm | ||
---|---|---|
columns => { SIMPLE => 'ALL' } );
|
||
}
|
||
|
||
sub get_default {
|
||
return $_[0]->get_first(where => [ is_default => 1 ]);
|
||
}
|
||
|
||
1;
|
SL/Layout/Admin.pm | ||
---|---|---|
package SL::Layout::Admin;
|
||
|
||
use strict;
|
||
use parent qw(SL::Layout::Base);
|
||
use parent qw(SL::Layout::V3);
|
||
|
||
sub init_sub_layouts {
|
||
[ SL::Layout::None->new ]
|
||
use SL::Menu;
|
||
|
||
use Rose::Object::MakeMethods::Generic (
|
||
scalar => [ qw(no_menu) ],
|
||
);
|
||
|
||
|
||
sub init_menu {
|
||
Menu->new('admin-menu.ini');
|
||
}
|
||
|
||
sub start_content {
|
||
"<div id='admin' class='admin'>\n";
|
||
}
|
||
|
||
sub end_content {
|
||
"</div>\n";
|
||
sub render {
|
||
my ($self) = @_;
|
||
|
||
$self->presenter->render(
|
||
'menu/menuv3',
|
||
force_ul_width => 1,
|
||
skip_frame_header => 1,
|
||
menu => $self->no_menu ? '' : $self->print_menu,
|
||
);
|
||
}
|
||
|
||
1;
|
SL/Layout/V3.pm | ||
---|---|---|
}
|
||
|
||
sub pre_content {
|
||
&render;
|
||
$_[0]->render;
|
||
}
|
||
|
||
sub start_content {
|
admin-menu.ini | ||
---|---|---|
[Users, Clients and User Groups]
|
||
|
||
[Users, Clients and User Groups--List Users, Clients and User Groups]
|
||
module=controller.pl
|
||
action=Admin/show
|
||
|
||
[Users, Clients and User Groups--Add User]
|
||
module=controller.pl
|
||
action=Admin/new_user
|
||
|
||
[Users, Clients and User Groups--Add Client]
|
||
module=controller.pl
|
||
action=Admin/new_client
|
||
|
||
[Users, Clients and User Groups--Add User Group]
|
||
module=controller.pl
|
||
action=Admin/new_group
|
||
|
||
[Database Management]
|
||
|
||
[Database Management--Create Dataset]
|
||
module=controller.pl
|
||
action=Admin/create_dataset_login
|
||
|
||
[Database Management--Delete Dataset]
|
||
module=controller.pl
|
||
action=Admin/delete_dataset_login
|
||
|
||
[Printer Management]
|
||
|
||
[Printer Management--List Printers]
|
||
module=controller.pl
|
||
action=Admin/list_printers
|
||
|
||
[Printer Management--Add Printer]
|
||
module=controller.pl
|
||
action=Admin/new_printer
|
||
|
||
[System]
|
||
|
||
[System--Lock and unlock installation]
|
||
module=controller.pl
|
||
action=Admin/show_lock
|
||
|
||
[System--To user login]
|
||
module=controller.pl
|
||
action=LoginScreen/user_login
|
||
|
||
[System--Logout]
|
||
module=controller.pl
|
||
action=Admin/logout
|
locale/de/all | ||
---|---|---|
'Accounting method' => 'Versteuerungsart',
|
||
'Accrual' => 'Soll-Versteuerung',
|
||
'Accrual accounting' => 'Soll-Versteuerung',
|
||
'Actions' => 'Aktionen',
|
||
'Active' => 'Aktiv',
|
||
'Active?' => 'Aktiviert?',
|
||
'Add' => 'Erfassen',
|
||
... | ... | |
'Add Part' => 'Ware erfassen',
|
||
'Add Price Factor' => 'Preisfaktor erfassen',
|
||
'Add Pricegroup' => 'Preisgruppe erfassen',
|
||
'Add Printer' => 'Drucker hinzufügen',
|
||
'Add Project' => 'Projekt erfassen',
|
||
'Add Purchase Delivery Order' => 'Lieferschein (Einkauf) erfassen',
|
||
'Add Purchase Order' => 'Lieferantenauftrag erfassen',
|
||
... | ... | |
'Add new currency' => 'Neue Währung hinzufügen',
|
||
'Add new custom variable' => 'Neue benutzerdefinierte Variable erfassen',
|
||
'Add note' => 'Notiz erfassen',
|
||
'Add printer' => 'Drucker hinzufügen',
|
||
'Add unit' => 'Einheit hinzufügen',
|
||
'Address' => 'Adresse',
|
||
'Administration' => 'Administration',
|
||
... | ... | |
'Database Connection Test' => 'Test der Datenbankverbindung',
|
||
'Database Host' => 'Datenbankcomputer',
|
||
'Database ID' => 'Datenbank-ID',
|
||
'Database Management' => 'Datenbankadministration',
|
||
'Database User' => 'Datenbankbenutzer',
|
||
'Database host and port' => 'Datenbankhost und -port',
|
||
'Database login (#1)' => 'Datenbankanmeldung (#1)',
|
||
'Database name' => 'Datenbankname',
|
||
'Database settings' => 'Datenbankeinstellungen',
|
||
'Database template' => 'Datenbankvorlage',
|
||
... | ... | |
'Ertrag' => 'Ertrag',
|
||
'Ertrag prozentual' => 'Ertrag prozentual',
|
||
'Escape character' => 'Escape-Zeichen',
|
||
'Everyone can log in.' => 'Alle können sich anmelden.',
|
||
'Exact' => 'Genau',
|
||
'Example: http://kivitendo.de' => 'Beispiel: http://kivitendo.de',
|
||
'Excel' => 'Excel',
|
||
... | ... | |
'Help Template Variables' => 'Hilfe zu Dokumenten-Variablen',
|
||
'Help on column names' => 'Hilfe zu Spaltennamen',
|
||
'Here' => 'Hier',
|
||
'Here you only provide the credentials for logging into the database.' => 'Hier geben Sie nur die Logindaten für die Anmeldung an der Datenbank ein.',
|
||
'Here\'s an example command line:' => 'Hier ist eine Kommandozeile, die als Beispiel dient:',
|
||
'Hide Filter' => 'Filter verbergen',
|
||
'Hide by default' => 'Standardmäßig verstecken',
|
||
... | ... | |
'If the default transfer out always succeed use this bin for negative stock quantity.' => 'Standardlagerplatz für Auslagern ohne Prüfung auf Bestand',
|
||
'If you enter values for the part number and / or part description then only those bins containing parts whose part number or part description match your input will be shown.' => 'Wenn Sie für die Artikelnummer und / oder die Beschreibung etwas eingeben, so werden nur die Lagerplätze angezeigt, in denen Waren eingelagert sind, die Ihre Suchbegriffe enthalten.',
|
||
'If you have not chosen for example the category revenue for a tax and you choose an revenue account to create a transfer in the general ledger, this tax will not be displayed in the tax dropdown.' => 'Wenn Sie z.B. die Kategory Erlös für eine Steuer nicht gewählt haben und ein Erlöskonto beim Erstellen einer Dialogbuchung wählen, wird diese Steuer auch nicht im Dropdown-Menü für die Steuern angezeigt.',
|
||
'If you lock the system normal users won\'t be able to log in.' => 'Wenn Sie das System sperren, so werden sich normale Benutzer nicht mehr anmelden können.',
|
||
'If you see this message, you most likely just setup your LX-Office and haven\'t added any entry types. If this is the case, the option is accessible for administrators in the System menu.' => 'Wenn Sie diese Meldung sehen haben Sie wahrscheinlich ein frisches LX-Office Setup und noch keine Buchungsgruppen eingerichtet. Ein Administrator kann dies im Systemmenü erledigen.',
|
||
'If you select a base unit then you also have to enter a factor.' => 'Wenn Sie eine Basiseinheit auswählen, dann müssen Sie auch einen Faktor eingeben.',
|
||
'If you want to change any of these parameters then press the "Back" button, edit the file "config/kivitendo.conf" and login into the admin module again.' => 'Wenn Sie einen der Parameter ändern wollen, so drücken Sie auf den "Zurück"-Button, bearbeiten Sie die Datei "config/kivitendo.conf", und melden Sie sich erneut im Administrationsbereich an.',
|
||
... | ... | |
'List Accounts' => 'Konten anzeigen',
|
||
'List Languages' => 'Sprachen anzeigen',
|
||
'List Price' => 'Listenpreis',
|
||
'List Printers' => 'Drucker anzeigen',
|
||
'List Transactions' => 'Buchungsliste',
|
||
'List Users, Clients and User Groups' => 'Benutzer, Mandanten und Benutzergruppen anzeigen',
|
||
'List current background jobs' => 'Aktuelle Hintergrund-Jobs anzeigen',
|
||
'List export' => 'Export anzeigen',
|
||
'List of bank accounts' => 'Liste der Bankkonten',
|
||
... | ... | |
'Loading...' => 'Wird geladen...',
|
||
'Local Tax Office Preferences' => 'Angaben zum Finanzamt',
|
||
'Lock System' => 'System sperren',
|
||
'Lock and unlock installation' => 'Installation sperren/entsperren',
|
||
'Lock file handling failed. Please verify that the directory "#1" is writeable by the webserver.' => 'Die Lockdateibehandlung schlug fehl. Bitte stellen Sie sicher, dass der Webserver das Verzeichnis "#1" beschreiben darf.',
|
||
'Lockfile created!' => 'System gesperrt!',
|
||
'Lockfile removed!' => 'System entsperrt!',
|
||
... | ... | |
'No warehouse has been created yet or the quantity of the bins is not configured yet.' => 'Es wurde noch kein Lager angelegt, bzw. die dazugehörigen Lagerplätze sind noch nicht konfiguriert.',
|
||
'No.' => 'Position',
|
||
'None' => 'Kein',
|
||
'Normal users cannot log in.' => 'Normale Benutzer können sich nicht anmelden.',
|
||
'Not Discountable' => 'Nicht rabattierfähig',
|
||
'Not delivered' => 'Nicht geliefert',
|
||
'Not done yet' => 'Noch nicht fertig',
|
||
... | ... | |
'Nothing has been selected for transfer.' => 'Es wurde nichts zum Umlagern ausgewählt.',
|
||
'Nothing selected!' => 'Es wurde nichts ausgewählt!',
|
||
'Nothing stocked yet.' => 'Noch nichts eingelagert.',
|
||
'Nothing will be created or deleted at this stage!' => 'In diesem Schritt wird nichts angelegt oder gelöscht!',
|
||
'Nov' => 'Nov',
|
||
'November' => 'November',
|
||
'Number' => 'Nummer',
|
||
... | ... | |
'Periodicity' => 'Periodizität',
|
||
'Perpetual inventory' => 'Bestandsmethode',
|
||
'Personal settings' => 'Persönliche Einstellungen',
|
||
'Pg Database Administration' => 'Datenbankadministration',
|
||
'Phone' => 'Telefon',
|
||
'Phone1' => 'Telefon 1 ',
|
||
'Phone2' => 'Telefon 2',
|
||
... | ... | |
'The account 3804 already exists, the update will be skipped.' => 'Das Konto 3804 existiert schon, das Update wird übersprungen.',
|
||
'The account 3804 will not be added automatically.' => 'Das Konto 3804 wird nicht automatisch hinzugefügt.',
|
||
'The action you\'ve chosen has not been executed because the document does not contain any item yet.' => 'Die von Ihnen ausgewählte Aktion wurde nicht ausgeführt, weil der Beleg noch keine Positionen enthält.',
|
||
'The administration area is always accessible.' => 'Der Administrationsbereich ist immer zugänglich.',
|
||
'The application "#1" was not found on the system.' => 'Die Anwendung "#1" wurde auf dem System nicht gefunden.',
|
||
'The assembly has been created.' => 'Das Erzeugnis wurde hergestellt.',
|
||
'The assistant could not find anything wrong with #1. Maybe the problem has been solved in the meantime.' => 'Der Korrekturassistent konnte kein Problem bei #1 feststellen. Eventuell wurde das Problem in der Zwischenzeit bereits behoben.',
|
||
... | ... | |
'The following users will have access to this client' => 'Die folgenden Benutzer werden auf diesen Mandanten Zugriff haben',
|
||
'The formula needs the following syntax:<br>For regular article:<br>Variablename= Variable Unit;<br>Variablename2= Variable2 Unit2;<br>...<br>###<br>Variable + ( Variable2 / Variable )<br><b>Please be beware of the spaces in the formula</b><br>' => 'Die Formeln müssen in der folgenden Syntax eingegeben werden:<br>Bei normalen Artikeln:<br>Variablenname = Variable Einheit;<br>Variablenname2 = Variable2 Einheit2;<br>...<br>###<br>Variable + Variable2 * ( Variable - Variable2 )<br>Variablennamen und Einheiten dürfen nur aus alphanumerischen Zeichen bestehen.<br>Es muss jeweils die Gesamte Zeile eingegeben werden',
|
||
'The greetings have been saved.' => 'Die Anreden wurden gespeichert',
|
||
'The installation is currently locked.' => 'Die Installation ist momentan gesperrt.',
|
||
'The installation is currently unlocked.' => 'Die Installation ist momentan entsperrt.',
|
||
'The items are imported accoring do their number "X" regardless of the column order inside the file.' => 'Die Einträge werden in der Reihenfolge ihrer Indizes "X" unabhängig von der Spaltenreihenfolge in der Datei importiert.',
|
||
'The link target to add has been created from the existing record.' => 'Das auszuwählende Verknüpfungsziel wurde aus dem bestehenden Beleg erstellt.',
|
||
'The list has been printed.' => 'Die Liste wurde ausgedruckt.',
|
||
... | ... | |
'This group is valid for the following clients' => 'Diese Gruppe ist für die folgenden Mandanten gültig',
|
||
'This has been changed in this version, therefore please change the "old" bins to some real warehouse bins.' => 'Das wurde in dieser Version umgestellt, bitte ändern Sie die Freitext-Lagerplätze auf vorhandene Lagerplätze.',
|
||
'This has been changed in this version.' => 'Ab dieser Version ist dies nicht mehr so.',
|
||
'This is a preliminary check for existing sources. Nothing will be created or deleted at this stage!' => 'In diesem Schritt werden bestehende Datenbanken gesucht. Es werden noch keine Änderungen vorgenommen!',
|
||
'This is a very critical problem.' => 'Dieses Problem ist sehr schwerwiegend.',
|
||
'This is the client to be selected by default on the login screen.' => 'Dies ist derjenige Mandant, der im Loginbildschirm standardmäßig ausgewählt sein wird.',
|
||
'This is the default bin for ignoring onhand' => 'Standardlagerplatz für Auslagern ohne Bestandsprüfung',
|
||
... | ... | |
'Users that have access to this client' => 'Benutzer mit Zugriff auf diesen Mandanten',
|
||
'Users with access' => 'Benutzer mit Zugriff',
|
||
'Users with access to this client' => 'Benutzer mit Zugriff auf diesen Mandanten',
|
||
'Users, Clients and User Groups' => 'Benutzer, Mandanten und Benutzergruppen',
|
||
'VAT ID' => 'UStdID-Nr',
|
||
'Valid' => 'Gültig',
|
||
'Valid from' => 'Gültig ab',
|
scripts/locales.pl | ||
---|---|---|
use Getopt::Long;
|
||
use IO::Dir;
|
||
use List::Util qw(first);
|
||
use POSIX;
|
||
use Pod::Usage;
|
||
|
||
$OUTPUT_AUTOFLUSH = 1;
|
||
... | ... | |
my $locales_dir = ".";
|
||
my $bindir = "$basedir/bin/mozilla";
|
||
my @progdirs = ( "$basedir/SL" );
|
||
my $menufile = "menu.ini";
|
||
my @menufiles = ("${basedir}/menu.ini", "${basedir}/admin-menu.ini");
|
||
my @javascript_dirs = ($basedir .'/js', $basedir .'/templates/webpages');
|
||
my $javascript_output_dir = $basedir .'/js';
|
||
my $submitsearch = qr/type\s*=\s*[\"\']?submit/i;
|
||
... | ... | |
push @progfiles, map { m:^(.+)/([^/]+)$:; [ $2, $1 ] } grep { /\.pm$/ } map { find_files($_) } @progdirs;
|
||
|
||
# put customized files into @customfiles
|
||
my (@menufiles, %dir_h);
|
||
my %dir_h;
|
||
|
||
if ($opt_n) {
|
||
@customfiles = ();
|
||
@menufiles = ($menufile);
|
||
} else {
|
||
tie %dir_h, 'IO::Dir', $basedir;
|
||
@menufiles = map { "$basedir/$_" } grep { /.*?_$menufile$/ } keys %dir_h;
|
||
unshift @menufiles, "$basedir/$menufile";
|
||
push @menufiles, map { "$basedir/$_" } grep { /.*_menu.ini$/ } keys %dir_h;
|
||
}
|
||
|
||
my @dbplfiles;
|
||
... | ... | |
close $fh;
|
||
}
|
||
|
||
sub slurp {
|
||
my $file = shift;
|
||
do { local ( @ARGV, $/ ) = $file; <> }
|
||
}
|
||
|
||
__END__
|
||
|
||
=head1 NAME
|
templates/webpages/admin/create_dataset.html | ||
---|---|---|
|
||
<h1>[% HTML.escape(title) %]</h1>
|
||
|
||
<p><a href="controller.pl?action=Admin/database_administration">[% LxERP.t8('Back') %]</a></p>
|
||
|
||
<form method="post" action="controller.pl">
|
||
<p>
|
||
[% LxERP.t8('You can either create a new database or chose an existing database.') %]
|
templates/webpages/admin/dbadmin.html | ||
---|---|---|
|
||
[% INCLUDE 'common/flash.html' %]
|
||
|
||
<h1>[% HTML.escape(title) %]</h1>
|
||
<h1>[% LxERP.t8("Database login (#1)", title) %]</h1>
|
||
|
||
<p><a href="controller.pl?action=Admin/show">[% LxERP.t8('Back') %]</a></p>
|
||
<p>[% LxERP.t8('Here you only provide the credentials for logging into the database.') %] [% LxERP.t8('Nothing will be created or deleted at this stage!') %]</p>
|
||
|
||
<form method="post" action="controller.pl">
|
||
<table>
|
||
<tr>
|
||
<th align="right">[% LxERP.t8('Host') %]</th>
|
||
<td>[% L.input_tag('dbhost', FORM.dbhost, size=30, class="initial_focus") %]</td>
|
||
<td>[% L.input_tag('dbhost', dbhost, size=30, class="initial_focus") %]</td>
|
||
<th align="right">[% LxERP.t8('Port') %]</th>
|
||
<td>[% L.input_tag('dbport', FORM.dbport, size=6) %]</td>
|
||
<td>[% L.input_tag('dbport', dbport, size=6) %]</td>
|
||
</tr>
|
||
|
||
<tr>
|
||
<th align="right">[% LxERP.t8('Database User') %]</th>
|
||
<td>[% L.input_tag("dbuser", FORM.dbuser, size=30) %]</td>
|
||
<td>[% L.input_tag("dbuser", dbuser, size=30) %]</td>
|
||
<th align="right">[% LxERP.t8('Password') %]</th>
|
||
<td>[% L.input_tag("dbpasswd", FORM.dbpasswd, type='password', size=30) %]</td>
|
||
<td>[% L.input_tag("dbpasswd", dbpasswd, type='password', size=30) %]</td>
|
||
</tr>
|
||
|
||
<tr>
|
||
<th align="right">[% LxERP.t8('Database template') %]</th>
|
||
<td>[% L.input_tag("dbdefault", FORM.dbdefault, size=30) %]</td>
|
||
<td>[% L.input_tag("dbdefault", dbdefault, size=30) %]</td>
|
||
</tr>
|
||
</table>
|
||
|
||
<div>
|
||
[% L.hidden_tag("action", 'Admin/dispatch') %]
|
||
[% L.submit_tag('action_create_dataset', LxERP.t8('Create Dataset')) %]
|
||
[% L.submit_tag('action_delete_dataset', LxERP.t8('Delete Dataset')) %]
|
||
</div>
|
||
</form>
|
||
[% L.hidden_tag("action", 'Admin/dispatch') %]
|
||
|
||
<p>[% LxERP.t8('This is a preliminary check for existing sources. Nothing will be created or deleted at this stage!') %]</p>
|
||
<p>
|
||
[% L.submit_tag('action_' _ next_action, LxERP.t8('Login')) %]
|
||
</p>
|
||
</form>
|
templates/webpages/admin/delete_dataset.html | ||
---|---|---|
|
||
<h1>[% HTML.escape(title) %]</h1>
|
||
|
||
<p><a href="controller.pl?action=Admin/database_administration">[% LxERP.t8('Back') %]</a></p>
|
||
|
||
<p>
|
||
[% LxERP.t8('You can only delete datasets that are not in use.') %]
|
||
[% LxERP.t8('If you want to delete such a dataset you have to edit the client(s) that are using the dataset in question and have them use another dataset.') %]
|
templates/webpages/admin/edit_client.html | ||
---|---|---|
|
||
<h1>[% HTML.escape(title) %]</h1>
|
||
|
||
<p>[% L.link(SELF.url_for(action="show"), LxERP.t8("Back")) %]</p>
|
||
|
||
<form method="post" action="controller.pl" id="form">
|
||
[% L.hidden_tag("client.id", SELF.client.id) %]
|
||
[% L.hidden_tag("action", "") %]
|
templates/webpages/admin/edit_group.html | ||
---|---|---|
|
||
<h1>[% HTML.escape(title) %]</h1>
|
||
|
||
<p>[% L.link(SELF.url_for(action="show"), LxERP.t8("Back")) %]</p>
|
||
|
||
<form method="post" action="controller.pl" id="form">
|
||
[% L.hidden_tag("group.id", SELF.group.id) %]
|
||
[% L.hidden_tag("action", "") %]
|
templates/webpages/admin/edit_printer.html | ||
---|---|---|
|
||
[% INCLUDE 'common/flash.html' %]
|
||
|
||
[% IF !SELF.all_clients.size %]
|
||
<div class="error">
|
||
[% LxERP.t8("Error") %]:
|
||
[% LxERP.t8("No clients have been created yet.") %]
|
||
</div>
|
||
|
||
[%- ELSE %]
|
||
|
||
<h1>[% HTML.escape(title) %]</h1>
|
||
|
||
<form method="post">
|
||
[% L.hidden_tag("client.id", SELF.client.id) %]
|
||
[% L.hidden_tag("action", 'Admin/dispatch') %]
|
||
[% L.hidden_tag("printer.id", SELF.printer.id) %]
|
||
|
||
<table>
|
||
<tr>
|
||
<th align="right">[% LxERP.t8('Client') %]</th>
|
||
<td>[% L.select_tag("client.id", SELF.all_clients, default=SELF.client.id, title_key='name') %]</td>
|
||
<tr>
|
||
|
||
<tr>
|
||
<th align="right">[% LxERP.t8('Printer Description') %]</th>
|
||
<td>[% L.input_tag("printer.printer_description", SELF.printer.printer_description, size=30, class="initial_focus") %]</td>
|
||
... | ... | |
</p>
|
||
|
||
</form>
|
||
|
||
[% END %]
|
templates/webpages/admin/edit_user.html | ||
---|---|---|
|
||
<h1>[% HTML.escape(title) %]</h1>
|
||
|
||
<p>[% L.link(SELF.url_for(action="show"), LxERP.t8("Back")) %]</p>
|
||
|
||
<form method="post" action="controller.pl" id="form">
|
||
[% L.hidden_tag("user.id", SELF.user.id) %]
|
||
[% L.hidden_tag("action", "") %]
|
templates/webpages/admin/list_printers.html | ||
---|---|---|
[% LxERP.t8("No clients have been created yet.") %]
|
||
</div>
|
||
|
||
<div>
|
||
<a href="[% SELF.url_for(action='show') %]">[% LxERP.t8("Back") %]</a>
|
||
</div>
|
||
|
||
[%- ELSE %]
|
||
|
||
<div>
|
||
[% LxERP.t8("Actions") %]:
|
||
<span class="link_separator"></span>
|
||
<a href="[% SELF.url_for(action='show') %]">[% LxERP.t8("Back") %]</a>
|
||
<span class="link_separator">|</span>
|
||
<a href="[% SELF.url_for(action='new_printer', 'client.id'=SELF.client.id) %]">[% LxERP.t8("Add printer") %]</a>
|
||
</div>
|
||
|
||
<hr>
|
||
|
||
<p>
|
||
[% LxERP.t8("Client to configure the printers for") %]:
|
||
[% L.select_tag('client.id', SELF.all_clients, id='client_id', title_key='name', default=SELF.client.id) %]
|
templates/webpages/admin/show.html | ||
---|---|---|
|
||
<h1>[% HTML.escape(title) %]</h1>
|
||
|
||
<div>
|
||
[% LxERP.t8("Actions") %]:
|
||
<span class="link_separator"></span>
|
||
[% L.link(SELF.url_for(action="new_user"), LxERP.t8("Add User")) %]
|
||
<span class="link_separator">|</span>
|
||
[% L.link(SELF.url_for(action="new_client"), LxERP.t8("Add Client")) %]
|
||
<span class="link_separator">|</span>
|
||
[% L.link(SELF.url_for(action="new_group"), LxERP.t8("Add User Group")) %]
|
||
<span class="link_separator">|</span>
|
||
[% L.link(SELF.url_for(action="database_administration"), LxERP.t8("Pg Database Administration")) %]
|
||
<span class="link_separator">|</span>
|
||
[% L.link(SELF.url_for(action="list_printers"), LxERP.t8("Printer Management")) %]
|
||
<span class="link_separator">|</span>
|
||
[% IF SELF.is_locked %]
|
||
[% L.link(SELF.url_for(action="unlock_system"), LxERP.t8("Unlock System")) %]
|
||
[% ELSE %]
|
||
[% L.link(SELF.url_for(action="lock_system"), LxERP.t8("Lock System")) %]
|
||
[% END %]
|
||
<span class="link_separator">|</span>
|
||
[% L.link(SELF.url_for(action="logout"), LxERP.t8("Logout")) %]
|
||
<span class="link_separator">|</span>
|
||
[% L.link(SELF.url_for(controller="LoginScreen", action="user_login"), LxERP.t8("To user login")) %]
|
||
</div>
|
||
|
||
<hr>
|
||
|
||
<div class="tabwidget">
|
||
<ul>
|
||
<li><a href="#user_list">[%- LxERP.t8("User list") %]</a></li>
|
templates/webpages/admin/show_lock.html | ||
---|---|---|
[%- USE HTML %][%- USE LxERP -%][%- USE L -%]
|
||
|
||
[% INCLUDE 'common/flash.html' %]
|
||
|
||
<h1>[% HTML.escape(title) %]</h1>
|
||
|
||
[% IF SELF.is_locked %]
|
||
<p>
|
||
[% LxERP.t8("The installation is currently locked.") %]
|
||
[% LxERP.t8("Normal users cannot log in.") %]
|
||
[% LxERP.t8("The administration area is always accessible.") %]
|
||
</p>
|
||
|
||
<p><a href="[% SELF.url_for(action='unlock_system') %]">[% LxERP.t8("Unlock System") %]</a></p>
|
||
|
||
[% ELSE %]
|
||
|
||
<p>
|
||
[% LxERP.t8("The installation is currently unlocked.") %]
|
||
[% LxERP.t8("Everyone can log in.") %]
|
||
</p>
|
||
|
||
<p>
|
||
[% LxERP.t8("If you lock the system normal users won't be able to log in.") %]
|
||
[% LxERP.t8("The administration area is always accessible.") %]
|
||
</p>
|
||
|
||
<p><a href="[% SELF.url_for(action='lock_system') %]">[% LxERP.t8("Lock System") %]</a></p>
|
||
|
||
[% END %]
|
templates/webpages/menu/menuv3.html | ||
---|---|---|
[%- USE T8 %]
|
||
[% USE HTML %][%- USE LxERP -%]
|
||
[% UNLESS skip_frame_header %]
|
||
<script type="text/javascript" src="js/quicksearch_input.js"></script>
|
||
<script type="text/javascript">
|
||
<!--
|
||
... | ... | |
<img src="image/[% IF MYCONFIG.stylesheet == 'lx-office-erp.css' %]spinner-blue.gif[% ELSE %]spinner-white.gif[% END %]" alt="[% LxERP.t8('Loading...') %]">
|
||
</span>
|
||
</div>
|
||
[% END %]
|
||
<div id="menuv3">
|
||
|
||
[% menu %]
|
Auch abrufbar als: Unified diff
Administrationsbereich mit Menüsystem versehen