1 # @tag: erzeugnisnummern
2 # @description: Erzeugnisnummern und Artikelnummern sollen eindeutig sein.
3 # @depends: release_3_0_0
10 die("This script cannot be run from the command line.") unless ($main::form);
14 die($dbup_locale->text("Database update error:") . "<br>$msg<br>" . $DBI::errstr);
18 my ($query, $may_fail) = @_;
20 if (!$dbh->do($query)) {
21 mydberror($query) unless ($may_fail);
28 if ( $main::form->{'continued'} ) {
30 foreach my $i (1 .. $main::form->{rowcount}) {
31 $update_query = qq|UPDATE parts SET partnumber = '| . $main::form->{"partnumber_$i"} . qq|' WHERE id = | . $main::form->{"partid_$i"};
32 do_query($update_query);
38 my $query = qq|SELECT id, partnumber, description, unit, notes, assembly, ean, inventory_accno_id
40 WHERE (SELECT COUNT(*)
42 WHERE p.partnumber=pa.partnumber)
44 ORDER BY partnumber;|;
46 my $sth = $dbh->prepare($query);
47 $sth->execute || $main::form->dberror($query);
49 $main::form->{PARTS} = [];
50 while (my $ref = $sth->fetchrow_hashref("NAME_lc")) {
51 map {$ref->{$_} = $::locale->{iconv_utf8}->convert($ref->{$_})} keys %$ref;
52 push @{ $main::form->{PARTS} }, $ref;
55 if ( scalar @{ $main::form->{PARTS} } > 0 ) {
60 $query = qq|ALTER TABLE parts ADD UNIQUE (partnumber)|;
63 $query = qq|ALTER TABLE defaults ADD assemblynumber TEXT|;
69 sub print_error_message {
70 print $main::form->parse_html_template("dbupgrade/erzeugnisnummern");