v18.0.0.23.3 - #401
Merged
Merged
Conversation
Bumps [actions/github-script](https://github.com/actions/github-script) from 7 to 9. - [Release notes](https://github.com/actions/github-script/releases) - [Commits](actions/github-script@v7...v9) --- updated-dependencies: - dependency-name: actions/github-script dependency-version: '9' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com>
…lt' of https://github.com/ElPuig/EMS into v18.0.0.23.3
Member
Author
|
/changelog-clean |
Member
Author
|
/deploy-check |
Member
Author
|
/deploy-check |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What's new
Head of Studies, Deputy Head of Studies and Quality coordinator gained access to Communications:
Notices and Surveys were previously only reachable by academic admins; these three roles can now use both, each scoped to what they should see - Head of Studies/Deputy see and manage their own records, the Quality coordinator gets read access to every survey centre-wide but can only edit the ones they created themselves.
Notices can target a student's personal address, corporate address, or both:
Replaces a hardcoded "corporate first" fallback with an explicit per-notice choice, including sending to both addresses separately when a student has them, and warning (instead of silently dropping) a student who has no address matching the chosen option.
Notice signature is now configurable, and replies route to the actual sender:
A previously hardcoded English-only signature is now a centre-wide default (editable per notice), and replies now go to whoever actually sent the notice instead of a fixed technical address.
Notices and Surveys lists default to "Show only mine":
Matches the same comfortable default already used elsewhere in the app - one click away from seeing everyone else's records, with no change to who can edit what.
Attendance correction requests list defaults to showing only Pending:
Standalone Accepted/Rejected filters and group-by are also available, so approvers aren't stuck scrolling through the full historic list to find what still needs a decision.
Changes
Tutors can edit most of a student's personal and demographic data:
Document ID, passport, medical ID, NUSS, car plate, birth date/country, citizenship and special educational needs are now editable by the tutor of that student - previously locked to admin/secretary only, even though tutors are the ones who actually notice data-entry mistakes. Student ID, the student's own email, and the computed "Adult" field stay admin/secretary-only as requested.
Student contact form separates personal and corporate email:
A student's contact form now shows a clearly labelled "Personal email" alongside a read-only "Corporate email" mirror, instead of one ambiguous "Email" field that looked interchangeable with the student's institutional address.
Vehicle-plate label no longer assumes a car:
Relabeled from a car-specific wording to a vehicle-neutral one.
Adding a new family contact no longer requires a DNI/NIE or passport:
That information is frequently unavailable when a contact is first added, so it's now optional at creation time.
Fixes
Several fields showed in English or with a wrong label regardless of the interface language:
Attendance-correction statuses (Pending/Accepted/Rejected), a Notice recipient option ("Both"), and a mislabeled surname field (a leftover from an unrelated, uninstalled module) all now render correctly translated in Catalan and Spanish - verified directly against the stored translations in the database, not just the translation files.
Academic admins were silently restricted to their own notices, and had no access to Surveys at all:
A permissions rule meant to be an alternative was instead being combined with every other rule, so an admin only ever saw the notices they personally created; Surveys had no access rows for admins whatsoever, despite already being listed in that menu. Both fixed.
Browser tours across the app were fragile against non-English admin accounts:
Many tours assert on literal English button/label text, which only works if the admin account driving them happens to have English as its language - not guaranteed on every environment. Audited and fixed across the large majority of the test suite (45+ files), plus two survey tours that broke separately because their fixtures were created as a different user than the one the "show only mine" default filter checks against.
The "Add contact" wizard silently failed to save for tutors:
An access-rights gap meant a tutor could fill in the whole form but the save would fail with no clear explanation. Fixed with an authorized bypass that reuses the exact same rule already governing whether the "Add contact" button is shown, so both stay in sync.
First/last name fields had reversed read-only behaviour for tutors:
The surname field was unexpectedly editable while the first-name field was correctly locked - fixed so both follow the same rule.
Several curriculum models crashed on the built-in "Duplicate" action:
Study, Subject, Level, Content, Criteria and Outcome all raised a raw database error instead of duplicating cleanly, due to an unhandled unique-code constraint. Duplication is disabled on all six for now.
A deploy could abort over an unrelated branch's stale state:
The deploy script's git pull step fetched every branch instead of just the one being deployed, so a completely unrelated broken branch reference could fail the whole deploy. Now scoped to only the branch actually being deployed.
Internal changes
Expanded regression coverage for the access-control and permission fixes above:
New tests cover Notice/Survey role-based visibility, the attendance-correction filters, and the tutor contact-wizard authorization bug, including real before/after checks rather than just asserting the fixed behaviour in isolation.
Developer and user documentation updated for all the above:
New or updated English developer docs, and trilingual (English/Catalan/Spanish) manuals for the roles affected (admin, head of studies) - this area previously had little to no user-facing documentation.
Investigated, not fixed: a data-quality gap in family contact names:
A sizeable share of existing family contacts have no first name recorded, only a single word stored as the surname - confirmed as a real historical data gap rather than a search/display bug. Flagged to the developer to decide on a one-off data migration; no migration has been run yet.
Related with