v1.0.7

New 🚀

  • Duty tracking

image.png

Fixes

  • Fixed some issues
  • Improved UI

SQL Changes

-- Duty time tracking table
CREATE TABLE IF NOT EXISTS `luxu_admin_duty_sessions` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `staff_id` int(10) unsigned NOT NULL,
  `start_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `end_time` datetime DEFAULT NULL,
  `duration_seconds` int(10) unsigned DEFAULT NULL,
  `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  KEY `idx_staff_id` (`staff_id`),
  KEY `idx_start_time` (`start_time`),
  KEY `idx_end_time` (`end_time`),
  CONSTRAINT `fk_duty_sessions_staff` FOREIGN KEY (`staff_id`)
    REFERENCES `luxu_admin_group_members` (`id`)
    ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- Daily aggregated duty time
CREATE TABLE IF NOT EXISTS `luxu_admin_duty_daily_stats` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `staff_id` int(10) unsigned NOT NULL,
  `date` date NOT NULL,
  `total_seconds` int(10) unsigned NOT NULL DEFAULT 0,
  `session_count` int(10) unsigned NOT NULL DEFAULT 0,
  `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `updated_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  UNIQUE KEY `uk_staff_date` (`staff_id`, `date`),
  KEY `idx_date` (`date`),
  CONSTRAINT `fk_duty_daily_stats_staff` FOREIGN KEY (`staff_id`)
    REFERENCES `luxu_admin_group_members` (`id`)
    ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- Add duty_start_time to the group_members table
ALTER TABLE `luxu_admin_group_members`
ADD COLUMN IF NOT EXISTS `current_duty_start` datetime DEFAULT NULL AFTER `gender`,
ADD COLUMN IF NOT EXISTS `total_duty_seconds` int(10) unsigned NOT NULL DEFAULT 0 AFTER `current_duty_start`;

🗣️ Locales

  "no_staff_data_available": "No staff data available",
  "not_on_duty": "Not on Duty",
  "on_duty": "On Duty",
  "on_duty_for": "On duty for",
  "online_staff": "Online Staff",
  "refresh": "Refresh",
  "sessions_today": "Sessions Today",
  "staff_duty_overview": "Staff Duty Overview",
  "this_month": "This Month",
  "this_week": "This Week",
  "top_performers": "Top Performers",
  "total_duty_time": "Total Duty Time"

📁 Files Changed

  • web/
  • bridge/client/inventory.lua
  • bridge/server/inventory.lua
  • client/cl_main.lua
  • client/modules/actions.lua
  • client/modules/developer.lua
  • client/modules/nui.lua
  • client/modules/sprites.lua
  • client/utils/hooks.lua
  • client/utils/noclip.lua
  • config/config.json
  • fxmanifest.lua
  • locales/en.json
  • locales/fr.json
  • locales/pt.json
  • server/database_checker.lua
  • server/index.js
  • server/modules/developer.lua