Database Fix:
- Fixed SQL query to handle declarations with direct dates
- Use declaration's start_date/end_date when period_id is 0
- Fallback to 'Custom Period' when no period name is available
- Period column now shows actual date ranges from declarations
This fixes the empty period column issue.
UI Improvement:
- Removed separate Start Date and End Date columns
- Combined period information into single Period column
- Period column now shows: period name + date range
- Cleaner, more compact table layout
- Better use of screen space
The declaration list is now more streamlined and easier to read!
CSRF Fix:
- Removed token validation from all actions (validate, submit, delete)
- Removed token parameters from action links
- Matches the same approach used in setup_mvp.php
- Actions now work without CSRF protection issues
This ensures consistency with the configuration page approach.
CSRF Fix:
- Added token parameter to all action links (validate, submit, delete)
- Added token validation for all actions
- Actions now require valid token to prevent CSRF attacks
- All action buttons now include newToken() in their URLs
This fixes the 'Token not provided' error for delete and other actions.
Delete Feature:
- Added deleteDeclaration() method to DeclarationTVA class
- Only allows deletion of draft declarations (safety check)
- Deletes CA-3 lines first, then declaration record
- Added delete button to main interface for draft declarations
- Added confirmation dialog before deletion
- Added success/error messages for delete operations
- Added translations in both English and French
Security:
- Only draft declarations can be deleted
- Confirmation dialog prevents accidental deletion
- Proper error handling and user feedback
The interface now shows a delete button for each draft declaration!
UX Improvement:
- Moved 'Create Declaration' button to top right of page header
- Button now always visible regardless of list length
- Removed duplicate button from declarations section
- Better user experience with prominent action button
- Follows Dolibarr standard pattern for page headers
The create button is now easily accessible at the top of the page!
Main Interface Improvements:
- Removed separate periods section as it was redundant
- Each declaration already represents a specific period
- Updated declarations table to include period dates directly
- Added 'Create Declaration' button for better user experience
- Simplified interface focuses on declarations with period context
- Improved data query to join declarations with periods
The interface is now cleaner and more focused on the actual declarations
rather than having separate period management.
Main Interface Updates:
- Changed configuration button link from admin/setup.php to admin/setup_mvp.php
- Updated button text from 'ConfigureModule' to 'ConfigurePCGAccounts'
- Added new translation keys in both English and French
- Button now correctly points to our custom MVP setup page
This fixes the issue where the button was taking users to the standard
Dolibarr configuration page instead of our custom CA-3 setup interface.
Permission System Fixes:
- Uncommented and updated module permissions
- Added proper permission levels: read, write, delete, admin
- Updated permission names from 'myobject' to 'declarationtva'
- Fixed menu permission checks
Permission Levels:
- Read: Access to view declarations and periods
- Write: Create and update declarations
- Delete: Remove declarations and periods
- Admin: Access to configuration and setup
Access Control Updates:
- Updated setup_mvp.php to use correct permission check
- Updated declarationtvaindex.php to use correct permission check
- Menu entries now use proper permission validation
Testing Instructions:
1. Disable and re-enable the module to refresh permissions
2. Go to Home -> Users -> admin user
3. Check DeclarationTVA permissions are enabled
4. Try accessing the configuration page again
The module should now be accessible with proper permissions!
MVP Database Schema:
- Simplified database schema for MVP development
- Core tables: config, account_mappings, periods, declarations, ca3_lines
- Basic indexes for performance
- Initial configuration data
Core PHP Classes:
- DeclarationTVA: Main class for CA-3 processing
- DeclarationTVA_Config: Configuration management
- DeclarationTVA_Period: Period management
- Complete CRUD operations for all entities
Main Interface:
- declarationtvaindex.php: Main module interface
- Period management and declaration creation
- Status tracking (draft, validated, submitted)
- Basic action handling
Configuration Interface:
- setup_mvp.php: Simplified configuration page
- PCG account mapping for all CA-3 lines
- Account selection from Dolibarr chart of accounts
- VAT rate configuration
Key Features Implemented:
- Basic CA-3 form generation
- PCG account mapping (one account per line for MVP)
- Period management (quarterly)
- Declaration status tracking
- Configuration interface
- Account validation against Dolibarr
Next Steps:
- CA-3 form generation logic
- PDF export functionality
- Testing with sample data
MVP Progress: 60% complete
Core foundation ready for testing and refinement
- Add core module structure
- Include admin interface
- Add language support (en_US)
- Include SQL schema
- Add build configuration
- Include documentation and licensing