Revision 5d179028
Von Moritz Bunkus vor mehr als 5 Jahren hinzugefügt
SL/DB/CsvImportReport.pm | ||
---|---|---|
65 | 65 |
do_query($::form, $dbh, 'DELETE FROM csv_import_reports WHERE id = ?', $self->id); |
66 | 66 |
|
67 | 67 |
if ($self->profile_id) { |
68 |
do_query($::form, $dbh, 'DELETE FROM csv_import_profile_settings WHERE csv_import_profile_id = ?', $self->profile_id); |
|
69 |
do_query($::form, $dbh, 'DELETE FROM csv_import_profiles WHERE id = ?', $self->profile_id); |
|
68 |
my ($is_profile_used_elsewhere) = selectfirst_array_query($::form, $dbh, <<SQL, $self->profile_id); |
|
69 |
SELECT id |
|
70 |
FROM csv_import_reports |
|
71 |
WHERE profile_id = ? |
|
72 |
LIMIT 1 |
|
73 |
SQL |
|
74 |
|
|
75 |
if (!$is_profile_used_elsewhere) { |
|
76 |
do_query($::form, $dbh, 'DELETE FROM csv_import_profile_settings WHERE csv_import_profile_id = ?', $self->profile_id); |
|
77 |
do_query($::form, $dbh, 'DELETE FROM csv_import_profiles WHERE id = ?', $self->profile_id); |
|
78 |
} |
|
70 | 79 |
} |
71 | 80 |
1; |
72 | 81 |
}) or do { die SL::DB->client->error }; |
Auch abrufbar als: Unified diff
CSV-Import-Bericht: beim Löschen nur verwaiste Profile löschen
Unter gewissen Umständen kann es passieren, dass es mehrere
`csv_import_reports` mit derselben `profile_id` gibt. In so einem Fall
darf nur dann versucht werden, die Einträge aus `csv_import_profiles`
zu löschen, wenn der letzte `csv_import_reports`-Eintrag gelöscht
wird, der auf auf dieses Profil verlinkt.