Skip to content

Feature/migration#3

Merged
scottgrayson merged 39 commits intomainfrom
feature/migration
Oct 6, 2025
Merged

Feature/migration#3
scottgrayson merged 39 commits intomainfrom
feature/migration

Conversation

@scottgrayson
Copy link
Copy Markdown
Contributor

@scottgrayson scottgrayson commented Oct 6, 2025

tags and favorites

scott grayson and others added 30 commits September 18, 2025 15:16
- Add LibraryItemPolicy for authorization
- Create UserSearchSelect component for user search
- Add BulkManagePermissionsAction for bulk permission management
- Create PermissionsColumn to display current permissions
- Register policy in service provider
- Add permissions column to table (toggleable, hidden by default)
- Add bulk permission management action to toolbar
- Support for view/edit permissions with inheritance
- Cascade permissions to children option
- User search by name and email
- Display permissions with owner/creator distinction
- Update PermissionService to use configurable user model
- Update UserSearchSelect to use configurable user model
- Update LibraryItemPermission to use configurable user model
- All components now use config('auth.providers.users.model') with fallback
- Improves plugin portability across different Laravel applications
- Add Tapp\FilamentLibrary\Database\Seeders\ namespace to composer.json autoload
- This allows the LibrarySeeder to be properly autoloaded when running commands
- Add method_exists() checks for trait methods in policy
- Provide fallback implementations when User model doesn't have HasLibraryAccess trait
- Ensures plugin works out of the box without requiring trait on User model
- Maintains backward compatibility while allowing customization
- Add PERMISSIONS.md with usage examples and API reference
- Document basic usage, advanced configuration, and troubleshooting
- Include code examples for common permission operations
- Explain UI components and security considerations
- Change make(string ) to make(?string  = null) to match parent class
- Fixes PHP compatibility error with Filament\Tables\Columns\Column::make()
- Ensures proper inheritance and method compatibility
- Change success() method visibility from protected to public
- Fixes compatibility error with parent Filament\Actions\Action class
- Ensures proper method accessibility for action callbacks
- Change make(string ) to make(?string  = null) to match parent class
- Fixes PHP compatibility error with Filament\Forms\Components\Field::make()
- Ensures proper inheritance and method compatibility for form components
- Change search fields from 'name' to 'first_name,last_name,email'
- Add getDisplayName() method to properly combine first_name and last_name
- Fixes SQL error when searching for users in permission bulk action
- Maintains compatibility with User model's getNameAttribute() accessor
…issions

- Add reordered navigation items (Library, Search All, My Documents, etc.)
- Implement Google Drive-style ownership model (Creator, Owner, Editor/Viewer)
- Add personal folder auto-creation for users
- Create new library pages (MyLibrary, SharedWithMe, CreatedByMe, PublicLibrary, SearchAll)
- Add admin-only root-level creation restrictions
- Implement proper active state detection for navigation
- Add external link creation to My Documents page
- Update breadcrumbs and page titles to match navigation
- Add comprehensive permission system with role-based access
- Improve user search with flexible name field support
- Add ownership transfer functionality
- Update all breadcrumb references to use 'Library' instead of 'Public Library'
- Update PERMISSIONS.md with new ownership model
- Enhance folder picker components
- Update permissions column display
- Add external link support migration
- Add favorites functionality with star toggle in table
- Create Favorites page with proper navigation
- Add HasLibraryFavorites trait for user-library relationships
- Refactor permissions from HasLibraryAccess trait to LibraryItemPolicy
- Add isLibraryAdmin method to LibraryUser trait
- Update documentation and changelog
- Add tags filter to library items table
- Improve permission system architecture
- Remove HasLibraryAccess.php (replaced by policy-based permissions)
- Integrate updates to LibraryItem model and related components
- Merge latest changes from feature branches
- Fix file upload actions to use default media collection with ->toMediaCollection()
- Fix duplicate breadcrumbs in EditLibraryItemPage by starting with parent
- Move views to src/Resources/views and make publishing optional
- Create missing views: tags-column, permissions-column, video-embed
- Remove custom media collection usage in favor of default collection
- Update service provider to load views from src directory
- Make name column always visible (not toggleable)
- Make tags column toggleable but visible by default
- Make all other columns toggleable and hidden by default
- Update permissions column to show inherited values (Private/Public) instead of 'inherit'
- Update tag colors to use standard Filament semantic colors for proper styling
- Fix syntax error in column configuration
- Restore and Force delete actions now only visible when deleted_at != null
- Ensures these actions only appear for soft-deleted items
- Improves UX by hiding irrelevant actions for active items
scott grayson and others added 9 commits October 6, 2025 09:58
- Remove incorrect method call on bulk actions
- RestoreBulkAction and ForceDeleteBulkAction don't have this method
- Fixes method not found error
- Add 'Owner' permission level to the select options
- Remove 'Cascade to Children' toggle from the form
- Restrict bulk permissions action to library admins only
- Move visibility check to the action itself for better encapsulation
- Add general access select field with Private/Anyone can view options
- Update PermissionService to handle general_access field
- Update bulkAssignPermissions to set general access level on items
- Add owner role mapping in assignPermission method
- Remove cascade functionality from bulk permissions
- Move general access to the top of the form
- Add section separations between general access and user permissions
- Clarify that permission level applies to selected users
- Improve form descriptions and helper text for better UX
- Make it clear that general access is for overall item visibility
- Replace non-existent Section component with Fieldset
- Fieldset provides similar grouping functionality
- Maintains form organization and visual separation
- Fixes 'Class not found' error
- Replace non-existent Fieldset with Placeholder components
- Use Placeholder to create section headers and descriptions
- Maintains form organization without complex components
- Fixes 'Class not found' error for Fieldset
- Remove BulkManagePermissionsAction from LibraryItemResource toolbar
- Remove unused import for BulkManagePermissionsAction
- Add comment to BulkManagePermissionsAction indicating it's currently unused
- Keep the action file for potential future use
@scottgrayson scottgrayson merged commit e0c0c93 into main Oct 6, 2025
1 of 9 checks passed
@andreia andreia deleted the feature/migration branch January 22, 2026 20:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant