Skip to content

v2.0.0

Choose a tag to compare

@webard webard released this 29 Sep 11:50
· 5 commits to 2.x since this release

The first release: the Filament screens for happenv-com/laravel-access-control 2.x. The package's major follows the library's.

Features

  • Roles × permissions matrix — a Filament table with modules as collapsible groups, a row per subject and per verb, a column per role; a subject's row grants or clears all of its verbs. Registered by the plugin as the Access control page with Add role and Delete role, or placed anywhere with PermissionMatrix.
  • PermissionEditor — the permissions of one role or one user, for any schema: a form section, a tab, a page of its own. Saves independently of the form around it; for a user it lists the roles that already grant each permission.
  • Live or deferred saving — every click written at once, or staged until Save permissions (with Discard and a warning before leaving). ->deferred() on the plugin or per component.
  • Counters — ->counters() puts what each role holds of a group into the group's header.
  • Safe concurrent edits — every write re-reads the record under a row lock and replays the operator's intent; PermissionsUpdated is dispatched with what actually changed.
  • Authorization — Laravel abilities, policies or access-control permission enums per operation; a voter's refusal reaches the operator in their language.
  • Surfaces — narrow a screen to what a surface offers; grants held outside it stay listed and revocable.
  • PermissionSelector — the catalogue as a form field saved with the form.
  • Translations: English, Polish, German.

Requirements

PHP 8.3 – 8.5 · Laravel 12, 13 · Filament 4, 5 · laravel-access-control ^2.3