Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision 696aad9c

Von Moritz Bunkus vor etwa 17 Jahren hinzugefügt

  • ID 696aad9cd711ed3a92721db045ad0b7067bb1a17
  • Vorgänger de06210f
  • Nachfolger 85f74d13

Die Tabelle "warehouse_access" gibt es in der offiziellen Version nicht. Fix für Bug 820.

Unterschiede anzeigen:

SL/AM.pm
return 0;
}
do_query($form, $dbh, qq|DELETE FROM warehouse_access WHERE warehouse_id = ?|, conv_i($form->{id}));
do_query($form, $dbh, qq|DELETE FROM bin WHERE warehouse_id = ?|, conv_i($form->{id}));
do_query($form, $dbh, qq|DELETE FROM warehouse WHERE id = ?|, conv_i($form->{id}));
do_query($form, $dbh, qq|DELETE FROM bin WHERE warehouse_id = ?|, conv_i($form->{id}));
do_query($form, $dbh, qq|DELETE FROM warehouse WHERE id = ?|, conv_i($form->{id}));
$dbh->commit();
SL/Form.pm
my ($self, $dbh, $param) = @_;
my ($key, $bins_key, $q_access, @values);
my ($key, $bins_key);
if ('' eq ref $param) {
$key = $param;
} else {
$key = $param->{key};
$bins_key = $param->{bins};
if ($param->{access}) {
$q_access =
qq| AND EXISTS (
SELECT wa.employee_id
FROM warehouse_access wa
WHERE (wa.employee_id = (SELECT id FROM employee WHERE login = ?))
AND (wa.warehouse_id = w.id)
AND (wa.access IN ('ro', 'rw')))|;
push @values, $param->{access};
}
if ($param->{no_personal}) {
$q_access .= qq| AND (w.personal_warehouse_of IS NULL)|;
} elsif ($param->{personal}) {
$q_access .= qq| AND (w.personal_warehouse_of = ?)|;
push @values, conv_i($param->{personal});
}
}
my $query = qq|SELECT w.* FROM warehouse w
WHERE (NOT w.invalid) AND
((SELECT COUNT(b.*) FROM bin b WHERE b.warehouse_id = w.id) > 0)
$q_access
ORDER BY w.sortkey|;
$self->{$key} = selectall_hashref_query($self, $dbh, $query, @values);
$self->{$key} = selectall_hashref_query($self, $dbh, $query);
if ($bins_key) {
$query = qq|SELECT id, description FROM bin WHERE warehouse_id = ?|;
bin/mozilla/do.pl
my $units = AM->retrieve_units(\%myconfig, $form, "dimension");
my $units_data = AM->unit_select_data($units, undef, undef, $part_info->{unit});
my $access = $auth->check_right($form->{login}, 'all_warehouses') ? undef : $form->{login};
$form->get_lists('warehouses' => { 'key' => 'WAREHOUSES',
'bins' => 'BINS',
'access' => $access, });
'bins' => 'BINS' });
redo_stock_info('stock_info' => $stock_info, 'add_empty_row' => !$form->{closed});

Auch abrufbar als: Unified diff