Skip to content

Conversation

@jorikfon
Copy link
Contributor

No description provided.

jorikfon and others added 9 commits January 21, 2025 11:16
- Add validation for ModuleUsersGroups-related POST data
- Check for 'mod_usrgr_' prefix in POST keys before processing
- Prevent unnecessary calls to updateUserGroup method
- Improve code readability with explicit condition checks
Currently translated at 100.0% (37 of 37 strings)

Translation: MIKOPBX/ModuleUsersGroups
Translate-URL: https://weblate.mikopbx.com/projects/mikopbx/moduleusersgroups/ja/
- Create UpdateUserGroupAction with all group update logic
- Remove updateUserGroup/getUserIdFromNumber/updateOrCreateGroupMembership from UsersGroups
- Update UsersGroupsConf to use UpdateUserGroupAction for both API v2 and v3
- Add API_V3_EMPLOYEES constant for endpoint path
- Improve error handling with PBXApiResult
- Add logging for successful and failed updates

Related to #26

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

Co-Authored-By: Claude <noreply@anthropic.com>
- Add cleanupOrphanedGroupMembers() method to remove invalid references
- Call cleanup automatically in onAfterModuleEnable()
- Compare GroupMembers.user_id against valid Users.id from main database
- Log cleanup statistics (deleted count)
- Handle cases after module reinstall or backup restore

This prevents orphaned records when employees are deleted
but their group membership records remain in module database.

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

Co-Authored-By: Claude <noreply@anthropic.com>
Fixes issue with incorrect group member count display.

Changes:
- Add automatic user population in SetDefaultGroupAction
- Create fillUsersWithoutGroup() method to add users without group
- Add GetGroupsStatsAction for dynamic member count display
- Add CleanupOrphanedMembersAction for database cleanup
- Update UsersGroupsConf to call cleanup on module enable
- Add dynamic counter updates in frontend JavaScript

When default group is set, all users without group membership
are automatically added to the default group.

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

Co-Authored-By: Claude <noreply@anthropic.com>
Implements customizable voice notification when user attempts to call
a number forbidden by group isolation settings.

Key features:
- Custom sound support via moduleusersgroups-forbidden
- Automatic language selection based on system settings
- Fallback to standard Asterisk ss-noservice sound
- Guaranteed call handling without interruption
- Support for 15+ languages out of the box

Technical implementation:
- New dialplan context users-group-forbidden
- PLAYBACKSTATUS check for missing custom sounds
- Automatic fallback ensures no silent failures
- Custom dialplan hook support for extensions

Documentation includes:
- Complete setup guide with audio file preparation
- Multi-language file structure examples
- Testing script for verification
- FAQ and troubleshooting section

Fixes #9

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

Co-Authored-By: Claude <noreply@anthropic.com>
- Simplified and restructured README.md and README_RU.md
- Removed technical implementation details and code examples
- Focused on user-friendly instructions with step-by-step guides
- Reorganized content for easier screenshot integration
- Added comprehensive FAQ section
- Improved troubleshooting section with practical solutions
- Renamed module to "Phone Groups Management" for clarity
- Consolidated voice notification setup section
- Reduced document length while maintaining all essential information

The new documentation style is more accessible to regular users
while technical details remain available for developers separately.

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

Co-Authored-By: Claude <noreply@anthropic.com>
@jorikfon jorikfon merged commit 0cb5c95 into master Jan 20, 2026
1 of 3 checks passed
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.

4 participants