gristlabs_grist-core/app/client
Alex Hall ecf2fdf71a (core) Fix summary table titles and linking when source table is hidden by ACL
Summary:
Two summary table widgets that share a source table and have compatible groupby columns can be filter linked. This diff fixes a bug where this linking is broken when the source table is hidden by access rules. The source table data isn't needed for the linking, but its metadata is, and that metadata is censored by GranularAccess. To deal with this:

- `LinkConfig._assertValid` allows blank `tableId`s specifically for linking two summary tables.
- `LinkingState.filterColValues` gets the `colId`s of groupby columns from the summary table columns rather than the source table.

A closely related problem is that the titles of summary tables are incomplete when the source table is hidden, e.g. they just say `[by A]` instead of `Table1 [by A]`. To fix this, the raw view sections of source tables are 'uncensored' in GranularAccess.

Initially I also planned to uncensor the tableId of the source table, which seemed like a better and more general fix for the blank tableId problem. But several parts of client code use blank tableIds to know that a table should be hidden, so they were left as is.

Test Plan: Added an nbrowser test for summary table linking, and a server test for uncensoring the raw view section in GranularAccess.

Reviewers: georgegevoian, paulfitz

Reviewed By: georgegevoian, paulfitz

Subscribers: paulfitz

Differential Revision: https://phab.getgrist.com/D3608
2022-09-01 19:14:47 +02:00
..
aclui (core) If invalid tableIds are present in Access Rules, avoid browser errors to show the rules anyway 2022-08-31 11:02:56 -04:00
components (core) Fix summary table titles and linking when source table is hidden by ACL 2022-09-01 19:14:47 +02:00
lib (core) Fixing ACIndex highlightMatches functions 2022-08-26 08:34:16 +02:00
models (core) Fix summary table titles and linking when source table is hidden by ACL 2022-09-01 19:14:47 +02:00
ui (core) Fix summary table titles and linking when source table is hidden by ACL 2022-09-01 19:14:47 +02:00
ui2018 (core) Fix prevent auto-expansion when user is resizing browser window 2022-09-01 12:19:09 +02:00
widgets (core) Showing a raw data section on a popup 2022-08-25 09:30:07 +02:00
accountMain.ts (core) Enable MFA configuration (and add SMS) 2022-01-19 13:55:54 -08:00
activationMain.ts (core) Add basic activation page to grist-ee 2022-08-23 10:30:52 -07:00
app.css (core) Make mobile the default mode. 2021-02-25 11:31:43 -05:00
app.js (core) Disable bfcache for all browsers 2021-11-24 09:47:00 -08:00
billingMain.ts (core) Add basic activation page to grist-ee 2022-08-23 10:30:52 -07:00
browserCheck.ts (core) fix browser check and favicon in grist-core 2022-01-05 18:15:05 -05:00
declarations.d.ts (core) Reference columns weren't added to Raw Data Views 2022-07-07 17:07:13 +02:00
errorMain.ts (core) Enable MFA configuration (and add SMS) 2022-01-19 13:55:54 -08:00
exposeModulesForTests.js (core) Some cleanup: remove old unused modules. 2020-11-20 11:23:20 -05:00
logo.css (core) Cleanup removing some old unused files, fixing logo.css, and removing #grist-app. 2020-10-09 17:04:09 -04:00
tsconfig.json (core) Migrate to SRP and add change password dialog 2022-03-16 21:35:06 -07:00