- Commented out floating help button HTML in print_module.html and print_lost_labels.html
- Commented out floating help button CSS in both templates
- Help page functionality not implemented yet, will be added in future updates
- Allows templates to render without 500 errors
- Added 'labels' and 'warehouse' modules to default admin user access
- Admin user now has access to: quality, warehouse, labels, settings modules
- Enables labels printing module on dashboard for admin users on fresh installations
- Added order_for_labels table to initialize_db.py with columns:
* comanda_productie: Production order code (indexed)
* cod_articol: Article code
* descr_com_prod: Production order description
* cantitate: Quantity
* com_achiz_client: Client purchase order
* nr_linie_com_client: Client order line number
* customer_name: Customer name
* customer_article_number: Customer's article reference
* open_for_order: Open for order flag
* line_number: Line number reference
* printed_labels: Print status (indexed, default 0)
* data_livrara: Delivery date
* dimensiune: Dimensions
* Indexes on: comanda_productie, printed_labels, created_at
- Added order_for_labels schema verification to db_schema_verifier.py
- Table supports labels printing module with proper indexing for queries
- Timestamps: created_at, updated_at for audit trail
- Created labels module with complete structure in app/modules/labels/
- Implemented print_module.py with database functions:
* get_unprinted_orders_data() - Retrieve unprinted orders from database
* get_printed_orders_data() - Retrieve printed orders from database
* update_order_printed_status() - Mark orders as printed
* search_orders_by_cp_code() - Search orders by production code
- Created routes.py with Flask Blueprint and API endpoints:
* GET /labels/ - Module home page with feature launchers
* GET /labels/print-module - Main label printing interface
* GET /labels/print-lost-labels - Lost label reprinting interface
* GET /labels/api/unprinted-orders - API for unprinted orders
* GET /labels/api/printed-orders - API for printed orders
* POST /labels/api/search-orders - Search orders API
* POST /labels/api/update-printed-status/<id> - Update status API
- Migrated HTML templates from legacy app with theme support:
* print_module.html - Thermal label printing with QZ Tray integration
* print_lost_labels.html - Lost label search and reprint interface
* Added comprehensive CSS variables for dark/light mode theming
* Preserved all original JavaScript functionality for printing
- Created index.html module home page with feature launchers
- Registered labels blueprint in app/__init__.py with /labels prefix
- Added 'Label Printing' module card to dashboard with print icon
All functionality preserved from original implementation:
- QZ Tray thermal printer integration
- JsBarcode barcode generation (horizontal + vertical)
- PDF export fallback
- Session-based authentication for all routes
- Database integration with proper error handling
- Created warehouse_orders.py module with 8 order management functions
- Added /warehouse/set-orders-on-boxes route and 7 API endpoints
- Implemented 4-tab interface: assign, find, move, and view orders
- Changed assign input from dropdown to text field with BOX validation
- Fixed location join issue in warehouse.py (use boxes_crates.location_id)
- Added debouncing flag to prevent multiple rapid form submissions
- Added page refresh after successful order assignment
- Disabled assign button during processing
- Added page refresh with 2 second delay for UX feedback
- Added CP code validation in inventory page
- Improved modal styling with theme support
- Fixed set_boxes_locations page to refresh box info after assignments
- Summarizes all work completed on database triggers and inventory
- Documents approved/rejected quantity logic from old app
- Outlines warehouse inventory implementation
- Provides deployment instructions and verification steps
- Includes testing checklist and future enhancement ideas
- Production-ready status confirmation
- Add SchemaVerifier class for automatic database schema verification and repair
- Implement warehouse_manager (Level 75) and warehouse_worker (Level 35) roles
- Add zone-based access control for warehouse workers
- Implement worker-manager binding system with zone filtering
- Add comprehensive database auto-repair on Docker initialization
- Remove Module Access section from user form (role-based access only)
- Add autocomplete attributes to password fields for better UX
- Include detailed documentation for warehouse implementation
- Update initialize_db.py with schema verification as Step 0
- Changed notification to small popup on right side of screen
- Added smooth slide-in/slide-out animations
- Positioned at top-right (30px from edges)
- Higher z-index (9999) to appear above all content
- Improved shadow and padding for better visibility
- Only affects FG scan page
- Added default date/time handling in save_fg_scan() function
- Backend now uses current date/time if values not provided
- Added hidden date/time form fields in frontend
- Updated JavaScript to populate hidden fields before submission
- Prevents null database errors when scanning orders
- Add boxes_crates database table with BIGINT IDs and 8-digit auto-numbered box_numbers
- Implement boxes CRUD operations (add, edit, update, delete, delete_multiple)
- Create boxes route handlers with POST actions for all operations
- Add boxes.html template with 3-panel layout matching warehouse locations module
- Implement barcode generation and printing with JsBarcode and QZ Tray integration
- Add browser print fallback for when QZ Tray is not available
- Simplify create box form to single button with auto-generation
- Fix JavaScript null reference errors with proper element validation
- Convert tuple data to dictionaries for Jinja2 template compatibility
- Register boxes blueprint in Flask app initialization