Versionsoversigt

Ændringslog for programmet

✨ Funktioner

  • Replaced custom Visitor model with an extension of res.partner; visitors are standard partners tagged with is_checky_visitor
  • New setting to automatically link visitors to companies: creates/uses a company partner and adds the visitor as a child contact
  • Visitor selfie now mirrors the partner avatar (image_1920), unifying profile images across Odoo
  • Visitors menu/action now targets res.partner and shows only Checky visitors via a domain filter

📈 Forbedringer

  • Improved the clarity for the user when a selfie has been taken

🐞 Fejlrettelser

  • Fixed an issue where the QR code would generate an incorrect link (would link to /app and not /lang)

✨ Funktioner

  • Introduced new 'Frontdesk' model, replacing the previous 'Location' model throughout the backend and frontend
  • Admins can now configure which employees can be selected as 'hosts' directly in Checky Settings, instead of filtering by department
  • When a guest checks in, the selected host automatically receives a clearly formatted notification (via OdooBot) in the Odoo inbox and chatter. Only the person selected as host is notified.
  • Added “Mandatory” toggle on Items: admins can now mark individual checklist items as required
  • Selfie camera component with platform-aware flow: iOS uses native <input type="file" capture="user">, while Android and (optionally) Desktop use an in-app live camera that prefers the front lens

📈 Forbedringer

  • Updated all backend Python models, views, and SQL constraints to use the new Frontdesk concept, and refactored frontend and controllers to remove all legacy references to 'location_id' and replace with 'frontdesk_id' everywhere
  • New Many2many field in settings makes it easy for admins to pick available hosts (employees) without needing to update departments or groups
  • API endpoint for hosts now returns exactly the list chosen in settings (not filtered by department)
  • Notifications sent to hosts use clear formatting (bold, line breaks), making it easy to spot who checked in, at which frontdesk, and when
  • Changed Visit model so that certain field changes (e.g., status updates) are now automatically tracked and visible in the Chatter activity log
  • All automated state changes and check-ins/check-outs performed via the public API (without authentication) are now attributed to the OdooBot system user, instead of the current admin or last logged-in user. This ensures better audit trails and avoids confusing user attribution in the Chatter history
  • Improved server side validation to make sure a visit is created only when all needed data is present
  • Added translations for all the new pieces of text that got added
  • Made all columns in backend list views optional (using Odoo's optional="show"/"hide"), allowing each user to fully customize which fields are shown or hidden in visit, visitor, item, group, frontdesk, and onboarding-step lists, for a more flexible and user-friendly experience
  • Combined capability checks prevent opening an empty popup on devices without a camera; popup only appears after a successful stream

📈 Forbedringer

  • Improved frontend and backend handling for optional host selection during check-in. Host field is now truly optional in both the visitor form and API
  • Enhanced the navigation system with a new 'replaceWith' method in the PageManager to allow seamless skipping of auto-bypassed steps without polluting the history stack (e.g., skipping HostSelection if no hosts exist)
  • Visit form (backend): Now displays 'No host selected' in the Host Details tab if a host was not assigned, for clearer operator UX
  • In the Visits list view, the Host column now shows '-' if no host was selected, making it visually clear when a visit had no host

🐞 Fejlrettelser

  • Fixed frontend error when host selection is skipped, preventing a TypeError caused by accessing properties of null
  • Resolved issue where pressing Back from GroupSelection would get stuck in a skip-loop if HostSelection was bypassed automatically
  • Check-in API and form now correctly support visits with no host selected (host_id is optional everywhere).

📈 Forbedringer

  • Added more translations (specifically targeting the new settings page)
  • Made the QR code better for Android, because Android seems to struggle reading QR codes without a white border around

✨ Funktioner

  • Added a custom OWL-based notification/toast engine for the website frontend
  • Implemented a scheduled auto check-out cron job for visits, configurable in settings

📈 Forbedringer

  • Integrated notifications on the summary page for check-in and check-out flows
  • Integrated notifications on the account creation page for successful account creation
  • Improved feedback to users with clear, timely toasts after major actions
  • Visit duration is now shown correctly for ongoing visits (updates dynamically while in progress)
  • Auto Check-Out settings redesigned: stacked single-column layout with clearer labels and inline help for better readability
  • “After X time” now accepts duration in HH:MM (e.g., 00:30, 02:25) using a 24-hour input
  • Daily auto check-out time now uses 24-hour HH:MM (e.g., 11:45, 23:30) instead of decimal hours
  • Applied a small backend SCSS override to ensure the stacked layout is consistent across themes
  • More UI elements and feedback have been translated to Danish
  • Translated notifications

🐞 Fejlrettelser

  • Fixed an error on the version page, where too much content meant there was not enough room

📈 Forbedringer

  • Fixed major issues with the website template system, changelog page now renders reliably
  • Updated UI wording throughout the app to better match actual features and flows
  • Small internal refactoring for clarity and maintainability

🐞 Fejlrettelser

  • Resolved template loading errors that prevented the module from installing/upgrading
  • Fixed an error where the 'Status Checklist' on the summary page would be empty, when trying to check-out

✨ Funktioner

  • Added a public version/changelog page at /checky/_versions, listing all recent changes, features, improvements, and bug fixes

📈 Forbedringer

  • Versions and changes are now stored in a static changelog.json file for easy editing and transparency

📈 Forbedringer

  • Loading popup is now fixed and perfectly centred on all screens
  • Reduced global font-size slightly on mobile for better fit
  • Shrunk mobile input fields to match new font-size
  • Changed the “Back” button background colour to #242424
  • Handled long Danish words (e.g. “Acknowledgements”) so they no longer cause horizontal scrolling
  • Re-worded the “Purpose” helper text to a more suitable phrasing
  • User-search: placeholder font-size reduced on mobile
  • User-search: user can progress without selecting search results (item selection optional)
  • Removed the *Duplicate* option across relevant Odoo views
  • Host-selection page now auto-skips when no hosts are returned

🐞 Fejlrettelser

  • User-search: “No results” message now only appears after an attempted search with zero matches
  • User-search: cleaned up result text formatting
  • Onboarding: multiple video steps now render instead of only the first one

✨ Funktioner

  • Added full page flow to handle check-in and check-out
  • Added the ability to select Danish as a language
  • Added Odoo backend pages
  • Added settings for the module, which utilizes the default Odoo settings page