feat(messaging): Add broadcast messaging system for owners and managers

- Add BroadcastMessage and MessageRecipient models for sending messages to groups or individuals
- Add Messages page with compose form and sent messages list
- Support targeting by role (owners, managers, staff, customers) or individual users
- Add can_send_messages permission (owners always, managers by default with revocable permission)
- Add autofill search dropdown with infinite scroll for selecting individual recipients
- Add staff permission toggle for managers' messaging access
- Integrate Messages link in sidebar for users with permission

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
poduck
2025-12-08 02:33:27 -05:00
parent 67ce2c433c
commit a4b23e44b6
17 changed files with 1782 additions and 27 deletions

View File

@@ -66,6 +66,9 @@ TENANT_APPS = [
'smoothschedule.scheduling.schedule', # Resource scheduling with configurable concurrency
'smoothschedule.scheduling.contracts', # Contract/e-signature system
# Communication Domain (tenant-isolated)
'smoothschedule.communication.messaging', # Broadcast messaging system
# Commerce Domain (tenant-isolated)
'smoothschedule.commerce.payments', # Stripe Connect payments bridge
]