Skip to content

v18.0.0.23.5 - #415

Merged
FherStk merged 21 commits into
mainfrom
v18.0.0.23.5
Sep 8, 2026
Merged

v18.0.0.23.5#415
FherStk merged 21 commits into
mainfrom
v18.0.0.23.5

Conversation

@FherStk

@FherStk FherStk commented Sep 7, 2026

Copy link
Copy Markdown
Member

What's new

Guard duty board: filter by level:

Teachers can now filter the guard-duty board by education level (multi-select, e.g. ESO+Batxillerat together vs. vocational levels). The board's rows, guard assignments, break rows and PDF export all respect the selection, and selecting every level behaves identically to selecting none.

Subject enrollments now follow a student's study changes:

Changing a student's Studies field now auto-assigns their main group and regenerates their subject enrollments from that study's enrollment template, keeping any enrollment that already has grades recorded instead of discarding it.

Teaching hour reduction types (age-based reductions):

Added a new catalog for teaching-hour reduction types (e.g. the R55 reduction for teachers aged 55 and over), assignable per teacher and shown as an extra line in their weekly teaching-hours summary and schedule report.

Teachers can now export list views to CSV:

Teachers can export any list view they can already read (students, attendance, grades, enrollments...) to CSV, using Odoo's own all-or-nothing export permission.

Fixes

Guard duty board no longer shows phantom or empty rows:

Fixed the guard-duty board (and its PDF export) showing near-duplicate or entirely empty rows when a teacher's personal schedule ended a period a few minutes earlier than the surrounding standard slot.

Attendance templates could silently disappear or pile up:

Fixed the calendar-to-attendance-template sync losing a solo teacher's templates when they taught the same subject to several groups, and made superseded templates with no real history get deleted instead of piling up forever as archived records. Existing production data repaired via migration.

devel.sh was leaving some real email addresses untouched:

Extended the anonymization step to also rewrite a few address columns it was missing (LimeSurvey recipients, employees' private email, the secretariat email, and the company's own email), closing a gap in the guarantee that no real person can receive an email from a dev environment.

Department and staff hierarchy fixes:

Fixed several related issues on department/employee hierarchy: a Department Chief can now be removed without immediately assigning a replacement, only real teaching/administrative staff can be selected as a Chief, Seminar Chief or Area Manager, and nobody - including a Director who is a regular member of a department - can end up outranking the Director.

Secretary couldn't create manual subject enrollments from the student form:

Fixed the student form's subject-enrollment lines being read-only for secretary despite their access rules already granting full access, and corrected an error message that wrongly claimed a group's tutor also had this access.

Reinforcement group students were invisible on the group's own form:

Reinforcement groups had two disconnected notions of membership: a manually-edited list, and the real per-subject enrollments that actually drive attendance and grading. The group's form now shows real enrollments for both group types, making it the single source of truth for membership.

Internal changes

Shared scheduling helpers deduplicated:

Moved the float-hour comparison tolerance used by schedule-related computations into a shared mixin instead of leaving it duplicated, and dropped an unused manual ordering field from two catalog models (non-teaching types, teaching hour reduction types) in favor of ordering by name.

Related with

@FherStk

FherStk commented Sep 7, 2026

Copy link
Copy Markdown
Member Author

/changelog-clean

@FherStk
FherStk marked this pull request as ready for review September 7, 2026 23:43
@FherStk

FherStk commented Sep 8, 2026

Copy link
Copy Markdown
Member Author

/deploy-check

@FherStk
FherStk merged commit 3ad5f2e into main Sep 8, 2026
17 checks passed
@FherStk
FherStk deleted the v18.0.0.23.5 branch September 8, 2026 00:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment