Repository navigation
Export as its own permission; explain empty team grouping in statistics - #304
Merged
Merged
Conversation
Exporting the response and check-in lists used to need manage rights, so a sports officer who may see all statistics had no way to hand out the lists. `export` is now its own permission, shown in the admin settings and the setup wizard. Version000027 seeds it from manage_appointments (mode and groups), so no install changes its effective access on update. Managers do not hold it implicitly. Guests never do. `getPermissions` reports `canExport`; the mobile app has no export, so no capability flag. psalm-baseline.xml gets the two entries every migration needs (UnusedClass, and DeprecatedMethod for the IConfig write that keeps the group list readable by older versions), like Version000021.
…hers The team axis only sections by the teams an admin selected under "Response summary teams". Without any, which is the default, every person lands in Others while the select still offers "Teams", so the grouping looked broken. The page now says why. The team-axis path of StatisticsService gets unit tests, and an e2e spec covers the hint and a real team.
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.
Summary
Two commits, from a report by Jörg: a sports officer with "May see everyone's statistics" could not export the participant lists, and grouping statistics by Teams seemed to do nothing.
Export is a permission of its own (
export)POST /api/exportandGET /api/export/seriescheckcanExport()instead ofcanManageAppointments(). Guests are blocked.Version000027seeds the permission frommanage_appointments(mode and groups, "all" included), so no install changes its effective access on update. Managers do not hold it implicitly.canExport; German added for all four l10n files.getPermissionsgainscanExport(additive). The Flutter client has no export and parses permissions defensively, so no capability flag.Statistics: grouping by Teams
VisibilityService::getTeamMembers()reading only direct Circles members (getMembers()), not members via groups or nested teams. Unverified, and it would also affect team visibility of appointments.Testing
StatisticsService.42-export-permission.spec.jsand43-statistics-teams.spec.jsare new and unrun. The Circles OCS calls infixtures/nextcloud.js(create team, add member) were written from memory; the real-team test skips itself when the Teams app is off. Please run./scripts/check.sh --e2elocally.For a human to decide
psalm-baseline.xmlgets two hand-written entries for the new migration (UnusedClass, andDeprecatedMethod: setAppValue), like Version000021 has. The typed setter would avoid the deprecation but collides withIConfig::setAppValueon the next save (see the V21 note), so I keptIConfig.🤖 Generated with Claude Code
https://claude.ai/code/session_01Kpc7muDbWFZzdBdzZKrkNN
Generated by Claude Code