Repository navigation
v0.7.5
Added
LeaveWorkspace::run($user, $workspace)lets a member end their own membership of one workspace. It takes the same locks as the other membership actions, clears the member's roles and permissions in that workspace only, and dispatchesMembershipRemovedwith the member as the actor. The owner is refused withowner_must_transferuntil ownership is transferred (#122).MembersIndexbuilds the whole members page for a workspace, so an app or a UI kit renders it and carries no membership logic of its own (#123):- Members and Invitations tabs (
?tab), each with its label, URL and a server-side count that follows the active search. - Sort, search, role and status filters and pagination through spatie/laravel-query-builder. An unknown sort, filter or tab is a 400, and
per_pageis capped at 100. - Each row carries only the actions the grant rules let the viewer take, decided by rank. Destructive actions carry their confirmation words, and nothing is shown disabled.
tablegives the active tab's rows in the shape a generic data table takes, with afirst-useorno-resultsempty state decided on the server.
- Members and Invitations tabs (
MembersPage.vueshows the tabs on Concierge's own primitives, through a newui/Tabs.vue(#123).
Changed
- Require
spatie/laravel-query-builder^7.3.
Upgrade notes
- No migration and no config key.
- TypeScript hosts that build
MemberRow,InvitationRoworMembersPagePropsby hand (fixtures, mocks) now needactions: [], andtab,tabsandtableon the page props. Props built by PHP are unaffected. LeaveWorkspaceandMembersIndexare workspace mode only. In app-wide mode they throwUnsupportedConfiguration.
Full Changelog: v0.7.4...v0.7.5