Projekt

Allgemein

Profil

Aktionen

GX-Bug #55691

geschlossen

Das Löschen von Kategorien und Artikeln sendet irreführende Daten

Von Kevin Sekin vor etwa 6 Jahren hinzugefügt. Vor fast 3 Jahren aktualisiert.

Status:
Erledigt
Priorität:
Normal
Zugewiesen an:
Tobias Schindler
Kategorie:
Adminbereich
Zielversion:
% erledigt:

100%

Geschätzter Aufwand:
Steps to reproduce:
Betroffene Versionen:
Unbestimmt
Release Notes Langtext:

Beschreibung

Step 1. Erstelle eine Kategorie.
Step 2. Erstelle einen Artikel welcher zur neuen Katogorie und zur Kategorie Top gehört.
Step 3. Nun lösche den Artikel und die neue Kategorie.

In diesem Fall passiert folgendes in categories.php:

$_POST['multi_categories'] wird mit der KategorieID gefüllt.

$_POST['multi_products'] wird mit dem zu löschenden Artikel gefüllt.

$_POST['multi_products_categories'] wird mit den Kategorien der jeweiligen zu löschenden Artikeln gefüllt.

Was schließlich passiert:
Step 1: Die Kategorie wird gelöscht. Dabei wird der Artikel übersprungen, da er in der Kategorie Top auch existiert.
Step 2: Der Artikel wird gelöscht. Dabei kommt es zu einem Fehler, denn ursprünglich würde hier als Referenz $_POST['multi_products_categories'] übergeben.

Es kommt zum Fehler, weil der zu löschende Code des Artikels glaubt, das dieser Artikel in 2 Kategorien zu finden ist und nicht in 1.
(Das findest du in ProductWriteService.inc.php -> Zeile 246. Die If Bedingung)

Um diesen Fehler zu beheben, habe ich nun Code geschrieben, welcher durch die "multi_products_categories" iteriert und alle gelöschten Kategorien aus diesem Array entfernt. Diesen findest du in categories.php auf Zeile 464ff.

Dieser Code ist nicht unbedingt die beste Lösung. Es gilt hier herauszufinden warum wir überhaupt die Kategorien von Artikeln beim Aufruf von Löschen bereits mitübergeben, statt diese aus der Datenbank zu holen und zu schauen ob dieser Teil refactored werden könnte.

Wenn dies nicht möglich ist, wäre es auch interessant zu schauen ob mein Code verbessert werden könnte.

Bei Fragen einfach an mich wenden.



Zugehörige Tickets

Nachfolger von GX-Entwicklung - GX-Bug #55385: Durch das Löschen von Kategorien und Artikeln kann es dazu kommen, dass verwaiste Artikel in der Datenbank zurückbleibenErledigtTorben Wark

Aktionen
Aktionen #1

Von Kevin Sekin vor etwa 6 Jahren aktualisiert

  • Nachfolger von GX-Bug #55385: Durch das Löschen von Kategorien und Artikeln kann es dazu kommen, dass verwaiste Artikel in der Datenbank zurückbleiben wurde hinzugefügt
Aktionen #2

Von Kevin Sekin vor etwa 6 Jahren aktualisiert

  • Status wurde von Anerkannt zu Erledigt geändert
  • % erledigt wurde von 0 zu 100 geändert
Aktionen #3

Von Daniel Wu vor etwa 6 Jahren aktualisiert

  • Zielversion wurde von 3.8.1.1 zu 3.8.2.0 beta1 geändert
Aktionen #4

Von Moritz Bunjes vor fast 3 Jahren aktualisiert

  • Tags 3.8_bugfix_lost_articles wurde gelöscht
Aktionen

Auch abrufbar als: Atom PDF