Fehler in sophomorix-groupdel?

Hallo zusammen,

beim Aufräumen auf unserem Server ist mir folgendes aufgefallen:

sophomorix-groupdel --delete-all-empty-classes

(Version 2.4.59-2) bricht nach der ersten Klasse ohne Schüler, in der aber noch ein Lehrer eingetragen ist, einfach komplett ab. Den Grund sehe ich in einem exit; in remove_class in Zeile 262. Ersetzt man dieses durch return;, dann läuft sophomorix-groupdel weiter und überprüft (wie zumindest von mir gewünscht) auch alle anderen Klassen.

Frage: bug or feature?

Viele Grüße

Andreas

Hallo Andreas!

Ich habe mir soeben mal die manpage angesehen und darum würde ich hier sagen: Feature!

 Entfernen aller leerer Klassen:
--delete-all-empty-classes
Sucht alle Klassen, die keine Mitglieder mehr haben und entfernt die Klassen.
(siehe auch --remove-teachers)
Es wird ein Backup gemacht.

und

--remove-teachers
Entfernt Lehrer, die in einer leeren Klasse eingetragen sind,
damit die Klasse entfernt werden kann.

@jeffbeck: Stimmt’s?

Beste Grüße

Thorsten

Hallo Thorsten,

Habe mir das auch nochmal angeschaut und bin aber doch eher für Bug, denn wenn z.B. die 5e keine Schüler, aber noch Lehrer hat, bricht sophomorix-groupdel --delete-all-empty-classes beim Verarbeiten dieser Klasse komplett ab und findet die völlig leere 9f dann nicht mehr…

15:04/0 server ~ # sophomorix-groupdel --delete-all-empty-classes
#### /usr/sbin/sophomorix-groupdel started ...                            ####
Checking if 10a can be deleted
Checking if 10b can be deleted
Checking if 10c can be deleted
Checking if 10d can be deleted
Checking if 10e can be deleted
Checking if 5a can be deleted
Checking if 5b can be deleted
Checking if 5c can be deleted
Checking if 5d can be deleted
Checking if 5e can be deleted
Checking if class 5e is a adminclass/hiddenclass: Yes (adminclass)
Checking if class 5e can be removed
   5e has 0 students
   5e has 6 teachers
   Group 5e is not empty
   WARNING: Not removing class 5e
   Use --remove-teachers if you want to go on!
15:04/0 server ~ #

Dieses Verhalten entspricht dann eher der Option --delete-all-empty-classes-but-only-if-there-are-no-classes-that-only-have-teachers-before-them :wink:

Andreas

Hallo Andreas,

Dieses Verhalten entspricht dann eher der Option

–delete-all-empty-classes-but-only-if-there-are-no-classes-that-only-have-teachers-before-them|

ja, das stimmt.
Aber immerhin kommt eine Meldung die genau das besagt, was man tun
sollte: nämlich erst die Lehrer aus leeren Klassen löschen und dann erst
die (tatsächlich) leeren Klassen löschen.

works for me …

LG

Holger

Habe sophomorix-groupdel für mich entsprechend geändert, m.E. ist das ein Bug.