Gruppenübersicht erstellen #118

Merged
christian.merten merged 10 commits from MK/group_overview into main 11 months ago
Collaborator

closes #110

  • translations sind alle vorhanden
  • key user ist mit der neuen Darstellung der xlsx einverstanden
  • auf dev erfolgreich getestet
closes #110 - [x] translations sind alle vorhanden - [x] key user ist mit der neuen Darstellung der xlsx einverstanden - [x] auf dev erfolgreich getestet
marius.klein changed title from WIP Gruppenübersicht erstellen to Gruppenübersicht erstellen 11 months ago
marius.klein requested review from christian.merten 11 months ago

Habe einen Teil des Bugs gefixed: Wir hatten einmal MEDIA_ROOT und MEDIA_MEMBERLISTS. Das erste wird richtig aus der Konfiguration geladen, das zweite wird einfach relativ zum root directory gesetzt. Das directory auf das MEDIA_MEMBERLISTS gezeigt hat war nicht persistent (im docker container), daher kam auf testing der Fehler, dass die Datei nicht erstellt werden kann, denn das directory existierte noch nicht.

in den render_tex Funktionen gibt es daher die Abfrage:

if not os.path.exists(media_dir()):
    os.makedirs(media_dir())

Das sollten wir hier auch machen.

Habe dennoch MEDIA_MEMBERLISTS entfernt und durch MEDIA_ROOT ersetzt, daher wird das Problem jetzt nicht mehr auftreten. Trotzdem ist es gut, wenn wir es fixen.

Habe einen Teil des Bugs gefixed: Wir hatten einmal `MEDIA_ROOT` und `MEDIA_MEMBERLISTS`. Das erste wird richtig aus der Konfiguration geladen, das zweite wird einfach relativ zum root directory gesetzt. Das directory auf das `MEDIA_MEMBERLISTS` gezeigt hat war nicht persistent (im docker container), daher kam auf `testing` der Fehler, dass die Datei nicht erstellt werden kann, denn das directory existierte noch nicht. in den `render_tex` Funktionen gibt es daher die Abfrage: ``` if not os.path.exists(media_dir()): os.makedirs(media_dir()) ``` Das sollten wir hier auch machen. Habe dennoch `MEDIA_MEMBERLISTS` entfernt und durch `MEDIA_ROOT` ersetzt, daher wird das Problem jetzt nicht mehr auftreten. Trotzdem ist es gut, wenn wir es fixen.
christian.merten reviewed 11 months ago
@ -801,0 +829,4 @@
_("You are not allowed to create a group overview."))
return HttpResponseRedirect(reverse('admin:%s_%s_changelist' % (self.opts.app_label, self.opts.model_name)))
if not os.path.exists(media_dir()):

Ich würde hier eine neue Datei members/excel.py anlegen und darin eine Funktion generate_group_overview, die die Excel erstellt, befüllt und den filename zurückgibt. Den filename kannst du dann an serve_media weitergeben (siehe unten).

Hintergrund: Ich versuche in den admin.py Dateien möglichst nur das Interface zu definieren, aber sonst keine Funktionalität zu implementieren.
Außerdem wird die members/excel.py schnell länger, wenn wir die LJP Sachen umstellen.

Ich würde hier eine neue Datei `members/excel.py` anlegen und darin eine Funktion `generate_group_overview`, die die Excel erstellt, befüllt und den filename zurückgibt. Den filename kannst du dann an `serve_media` weitergeben (siehe unten). Hintergrund: Ich versuche in den `admin.py` Dateien möglichst nur das Interface zu definieren, aber sonst keine Funktionalität zu implementieren. Außerdem wird die `members/excel.py` schnell länger, wenn wir die LJP Sachen umstellen.
christian.merten marked this conversation as resolved
@ -801,0 +831,4 @@
today = f"{datetime.today():%d.%m.%Y}"
filename = f"gruppenuebersicht_jdav_{settings.SEKTION}_{today}.xlsx"
workbook = xlsxwriter.Workbook(media_path(filename))

Wenn du hier davor ein ensure_media_dir() einfügst, ist der Bug behoben (auch in contrib.media).

Wenn du hier davor ein `ensure_media_dir()` einfügst, ist der Bug behoben (auch in `contrib.media`).
christian.merten marked this conversation as resolved
@ -801,0 +880,4 @@
worksheet.set_column_pixels(6, 6, 140)
workbook.close()
with open(media_path(filename), 'rb') as xls:

Kannst du hier die neue serve_media(filename, content_type) funktion aus contrib.media benutzen?

Kannst du hier die neue `serve_media(filename, content_type)` funktion aus `contrib.media` benutzen?
christian.merten marked this conversation as resolved
Poster
Collaborator

ist erledigt und klappt jetzt auch auf dev

ist erledigt und klappt jetzt auch auf dev
christian.merten approved these changes 11 months ago

Danke!

Danke!
christian.merten merged commit d1a8e7f159 into main 11 months ago
christian.merten deleted branch MK/group_overview 11 months ago

Reviewers

christian.merten approved these changes 11 months ago
The pull request has been merged as d1a8e7f159.
Sign in to join this conversation.
No reviewers
No Milestone
No project
No Assignees
2 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: digitales/kompass#118
Loading…
There is no content yet.