Phase 6 complete:
- add AI title generator service using gpt-5-nano
- add task popup button for biuro@project-pro.pl
- add AJAX endpoint returning title suggestions without auto-save
Phase 5 complete:
- add category mapping edit from operation edit for Fakturownia operations
- update current operation category immediately after mapping change
- support optional bulk update for matching imported operations
- close 05-05 and 05-06 PAUL summaries
Co-Authored-By: Codex <noreply@openai.com>
- Implemented a multi-select dropdown for associating tasks with wiki entries in the task edit form.
- Enhanced task popup to display related wiki entries with visibility controls based on user permissions.
- Updated the wiki main view to support bulk actions for categories, including deletion and search functionality.
- Created a new database migration for establishing many-to-many relationships between tasks and wiki entries.
- Improved styling for wiki components to enhance user experience.
- Added a new AGENTS.md file to outline communication and change management protocols.
- Added `users_permissions` table for managing user permissions.
- Created `PermissionRepository` for handling permission logic.
- Refactored `controls\Users::permissions()` to utilize the new database structure.
- Introduced AJAX endpoint for saving user permissions.
- Enhanced user management UI with permission checkboxes.
- Added vacation management template for handling employee absences.
- Implemented tests for `PermissionRepository`.
- Added sanitization and filtering for task descriptions in task_popup.php to prevent XSS attacks.
- Implemented regex patterns to remove potentially harmful HTML tags and attributes.
- Improved link and image handling to ensure only safe URLs and sources are rendered.
- Updated CSS for task popup to allow better text wrapping and overflow handling.
- Implemented tests for various scenarios of attachment name normalization in MailToTaskImporter.
- Covered cases for technical names, named files, missing extensions, and content-based detection.
- Added tests for extracting names from MIME headers, including handling of Content-Description.
- Updated client-edit template to change 'Firma' to 'Nazwa' and added 'Nazwa firmy' input field.
- Modified main-view template to reflect the new naming conventions for clients.
- Enhanced finances main-view to display a list of clients with revenue details.
- Added client selection dropdown in operation-edit template.
- Improved work-time template by adding keyboard shortcut for task confirmation.
- Introduced CrmController for handling client-related actions.
- Created FinancesController to manage finance operations and categories.
- Implemented ClientRepository for client data management.
- Developed FinanceRepository for finance operations and data handling.