gristlabs_grist-core/app/client/models
Paul Fitzpatrick 4ab096d179 (core) granular access control in the presence of schema changes
Summary:
 - Support schema changes in the presence of non-trivial ACL rules.
 - Fix update of `aclFormulaParsed` when updating formulas automatically after schema change.
 - Filter private metadata in broadcasts, not just fetches.  Censorship method is unchanged, just refactored.
 - Allow only owners to change ACL rules.
 - Force reloads if rules are changed.
 - Track rule changes within bundle, for clarity during schema changes - tableId and colId changes create a muddle otherwise.
 - Show or forbid pages dynamically depending on user's access to its sections. Logic unchanged, just no longer requires reload.
 - Fix calculation of pre-existing rows touched by a bundle, in the presence of schema changes.
 - Gray out acl page for non-owners.

Test Plan: added tests

Reviewers: dsagal

Reviewed By: dsagal

Differential Revision: https://phab.getgrist.com/D2734
2021-03-01 13:49:31 -05:00
..
entities (core) Making cells colors effective also in Card and Card List views 2021-02-09 15:08:44 +01:00
AppModel.ts (core) move client code to core 2020-10-02 13:24:21 -04:00
BaseRowModel.js (core) Update ACL resources/rules when tables/columns get renamed 2021-01-04 22:03:01 -05:00
BillingModel.ts (core) move client code to core 2020-10-02 13:24:21 -04:00
ClientColumnGetters.ts (core) hide long sequences of unchanged rows in diffs 2020-11-19 18:19:54 -05:00
ColumnACIndexes.ts (core) move client code to core 2020-10-02 13:24:21 -04:00
ColumnFilter.ts (core) move client code to core 2020-10-02 13:24:21 -04:00
ConnectState.ts (core) move client code to core 2020-10-02 13:24:21 -04:00
DataRowModel.ts (core) move client code to core 2020-10-02 13:24:21 -04:00
DataTableModel.js (core) move client code to core 2020-10-02 13:24:21 -04:00
DataTableModelWithDiff.ts (core) preserve row removals in diffs more reliably 2021-02-11 11:57:42 -05:00
DocData.ts (core) Checks that an ACL formula can be parsed, and prevent saving unparsable ACL rules. 2020-12-15 09:43:37 -05:00
DocModel.ts (core) Update ACL resources/rules when tables/columns get renamed 2021-01-04 22:03:01 -05:00
DocPageModel.ts (core) granular access control in the presence of schema changes 2021-03-01 13:49:31 -05:00
errors.ts (core) granular access control in the presence of schema changes 2021-03-01 13:49:31 -05:00
gristConfigCache.ts (core) move client code to core 2020-10-02 13:24:21 -04:00
gristUrlState.ts (core) Implement much of the general AccessRules UI. 2020-12-07 14:48:41 -05:00
HomeModel.ts (core) move client code to core 2020-10-02 13:24:21 -04:00
MetaRowModel.js (core) move client code to core 2020-10-02 13:24:21 -04:00
MetaTableModel.js (core) move client code to core 2020-10-02 13:24:21 -04:00
modelUtil.js (core) move client code to core 2020-10-02 13:24:21 -04:00
NotifyModel.ts (core) give more detailed reasons for access denied when memos are present 2021-02-15 17:02:24 -05:00
QuerySet.ts (core) Fix an insidious bug in RefCountMap, manifesting as JS errors some time after import. 2020-11-06 09:24:56 -05:00
rowset.ts (core) hide long sequences of unchanged rows in diffs 2020-11-19 18:19:54 -05:00
rowuid.js (core) move client code to core 2020-10-02 13:24:21 -04:00
SearchModel.ts (core) move client code to core 2020-10-02 13:24:21 -04:00
SectionFilter.ts (core) move client code to core 2020-10-02 13:24:21 -04:00
TableData.ts (core) move client code to core 2020-10-02 13:24:21 -04:00
TableModel.js (core) move client code to core 2020-10-02 13:24:21 -04:00
TreeModel.ts (core) move client code to core 2020-10-02 13:24:21 -04:00
UserManagerModel.ts (core) Add a Users dropdown to AccessRules page. 2021-01-22 09:20:40 -05:00
UserPrefs.ts (core) move client code to core 2020-10-02 13:24:21 -04:00
WorkspaceInfo.ts (core) move client code to core 2020-10-02 13:24:21 -04:00