Revision 0b280f98
Von Moritz Bunkus vor mehr als 17 Jahren hinzugefügt
bin/mozilla/admin.pl | ||
---|---|---|
41 | 41 |
use SL::User; |
42 | 42 |
use SL::Common; |
43 | 43 |
use SL::Inifile; |
44 |
use SL::DBUpgrade2; |
|
44 | 45 |
|
45 | 46 |
require "bin/mozilla/common.pl"; |
46 | 47 |
|
... | ... | |
570 | 571 |
} |
571 | 572 |
|
572 | 573 |
sub update_dataset { |
573 |
|
|
574 |
%needsupdate = User->dbneedsupdate(\%$form); |
|
575 |
|
|
576 | 574 |
$form->{title} = |
577 | 575 |
"Lx-Office ERP " |
578 | 576 |
. $locale->text('Database Administration') . " / " |
579 | 577 |
. $locale->text('Update Dataset'); |
580 | 578 |
|
581 |
$form->header; |
|
582 |
|
|
583 |
print qq| |
|
584 |
<body class=admin> |
|
585 |
|
|
586 |
|
|
587 |
<center> |
|
588 |
<h2>$form->{title}</h2> |
|
589 |
|; |
|
590 |
my $field_id = 0; |
|
591 |
foreach $key (sort keys %needsupdate) { |
|
592 |
if ($needsupdate{$key} ne $form->{dbversion}) { |
|
593 |
$upd .= qq|<input id="$field_id" name="db$key" type="checkbox" value="1" checked> $key\n|; |
|
594 |
$form->{dbupdate} .= "db$key "; |
|
595 |
$field_id++; |
|
596 |
} |
|
597 |
} |
|
598 |
|
|
599 |
chop $form->{dbupdate}; |
|
600 |
|
|
601 |
if ($form->{dbupdate}) { |
|
602 |
|
|
603 |
print qq| |
|
604 |
<table width=100%> |
|
605 |
<form method=post action=$form->{script}> |
|
606 |
|
|
607 |
<input type=hidden name="dbhost" value="$form->{dbhost}"> |
|
608 |
<input type=hidden name="dbport" value="$form->{dbport}"> |
|
609 |
<input type=hidden name="dbuser" value="$form->{dbuser}"> |
|
610 |
<input type=hidden name="dbpasswd" value="$form->{dbpasswd}"> |
|
611 |
<input type=hidden name="dbdefault" value="$form->{dbdefault}"> |
|
579 |
my @need_updates = User->dbneedsupdate($form); |
|
580 |
$form->{NEED_UPDATES} = \@need_updates; |
|
581 |
$form->{ALL_UPDATED} = !scalar @need_updates; |
|
612 | 582 |
|
613 |
<tr class=listheading> |
|
614 |
<th>| . $locale->text('The following Datasets need to be updated') . qq|</th> |
|
615 |
</tr> |
|
616 |
<tr> |
|
617 |
<td> |
|
618 |
|
|
619 |
$upd |
|
583 |
$form->header(); |
|
584 |
print $form->parse_html_template("admin/update_dataset"); |
|
585 |
} |
|
620 | 586 |
|
621 |
</td>
|
|
622 |
</tr>
|
|
623 |
<tr>
|
|
624 |
<td>
|
|
587 |
sub dbupdate {
|
|
588 |
$form->{stylesheet} = "lx-office-erp.css";
|
|
589 |
$form->{title} = $locale->text("Dataset upgrade");
|
|
590 |
$form->header();
|
|
625 | 591 |
|
626 |
<input name=dbupdate type=hidden value="$form->{dbupdate}"> |
|
592 |
my $rowcount = $form->{rowcount} * 1; |
|
593 |
my @update_rows = grep { $form->{"update_$_"} } (1 .. $rowcount); |
|
594 |
$form->{NOTHING_TO_DO} = !scalar @update_rows; |
|
595 |
my $saved_form = save_form(); |
|
627 | 596 |
|
628 |
<input name=callback type=hidden value="$form->{script}?action=list_users&rpw=$form->{rpw}">
|
|
597 |
$| = 1;
|
|
629 | 598 |
|
630 |
<input type=hidden name=rpw value=$form->{rpw}>
|
|
599 |
print $form->parse_html_template("admin/dbupgrade_all_header");
|
|
631 | 600 |
|
632 |
<input type=hidden name=nextsub value=dbupdate> |
|
601 |
foreach my $i (@update_rows) { |
|
602 |
restore_form($saved_form); |
|
633 | 603 |
|
634 |
<hr size=3 noshade>
|
|
604 |
map { $form->{$_} = $form->{"${_}_${i}"} } qw(dbname dbdriver dbhost dbport dbuser dbpasswd);
|
|
635 | 605 |
|
636 |
<br> |
|
637 |
<input type=submit class=submit name=action value="| |
|
638 |
. $locale->text('Continue') . qq|"> |
|
606 |
my $controls = parse_dbupdate_controls($form, $form->{dbdriver}); |
|
639 | 607 |
|
640 |
</td></tr> |
|
641 |
</table> |
|
642 |
</form> |
|
643 |
|; |
|
608 |
print $form->parse_html_template("admin/dbupgrade_header"); |
|
644 | 609 |
|
645 |
} else { |
|
610 |
$form->{dbupdate} = $form->{dbname}; |
|
611 |
$form->{$form->{dbname}} = 1; |
|
646 | 612 |
|
647 |
print $locale->text('All Datasets up to date!'); |
|
613 |
User->dbupdate($form); |
|
614 |
User->dbupdate2($form, $controls); |
|
648 | 615 |
|
616 |
print $form->parse_html_template("admin/dbupgrade_footer"); |
|
649 | 617 |
} |
650 | 618 |
|
651 |
print qq| |
|
652 |
|
|
653 |
</body> |
|
654 |
</html> |
|
655 |
|; |
|
656 |
|
|
657 |
} |
|
658 |
|
|
659 |
sub dbupdate { |
|
660 |
$form->{"stylesheet"} = "lx-office-erp.css"; |
|
661 |
$form->{"title"} = $main::locale->text("Dataset upgrade"); |
|
662 |
$form->header(); |
|
663 |
my $dbname = |
|
664 |
join(" ", |
|
665 |
map({ s/\s//g; s/^db//; $_; } |
|
666 |
grep({ $form->{$_} } |
|
667 |
split(/\s+/, $form->{"dbupdate"})))); |
|
668 |
print($form->parse_html_template("dbupgrade/header", |
|
669 |
{ "dbname" => $dbname })); |
|
670 |
|
|
671 |
User->dbupdate(\%$form); |
|
672 |
|
|
673 |
print qq| |
|
674 |
<hr> |
|
675 |
|
|
676 |
| . $locale->text('Dataset updated!') . qq| |
|
677 |
|
|
678 |
<br> |
|
679 |
|
|
680 |
<a id="enddatasetupdate" href="admin.pl?action=login&| . |
|
681 |
join("&", map({ "$_=" . $form->escape($form->{$_}); } qw(rpw))) . |
|
682 |
qq|">| . $locale->text("Continue") . qq|</a>|; |
|
683 |
|
|
619 |
print $form->parse_html_template("admin/dbupgrade_all_done"); |
|
684 | 620 |
} |
685 | 621 |
|
686 | 622 |
sub create_dataset { |
Auch abrufbar als: Unified diff
Administration: Die Funktion zur Aktualisierung von nicht aktuellen Datenbanken neu geschrieben und wieder aktiviert. Unterstützt auch die Scripte in Pg-upgrade2.