redz1029
cdfeb954fd
feat(programmer): day-sheet model + stats, streak and badges
...
Add ProgrammerDaySheet model with DaySheetStatus/DaySheetSnapshot,
computeProgrammerStats with streak, first-pass rate, approved totals,
hasCleanWeek, and tiered badge progress via computeBadges. 10 tests pass.
Co-Authored-By: claude-flow <ruv@ruv.net >
2026-09-27 21:27:03 +08:00
redz1029
f9b8831c71
feat(programmer): day rows builder + work-log workDate
...
- Add workDate field to ProgrammerTaskWorkLog (defaults to Manila day of createdAt)
- Add deltaJsonToPlainText function to quill_field.dart for Delta/plain text conversion
- Implement buildDayRows function to generate day sheet rows with proper sorting
- Implement DaySheetRow serialization and deserialization
- Add comprehensive tests for day rows builder and workDate field
- Verify backward compatibility via existing programmer_task_ledger_test
Co-Authored-By: claude-flow <ruv@ruv.net >
2026-09-27 21:04:23 +08:00
redz1029
b307f66f2c
Add PM extension (Projects, Work Logs, Comments) + Quill rich-text UI
...
Projects: Brick-backed model with list/detail screens and nav entry.
Work Logs: per-contributor time ledger, assignee running-clock +
helper logged minutes with Hours/Minutes input; pause-after-save and
helper-deduct prompts.
Comments: threaded comments with file attachments and Quill composer.
Detail screen: tabbed layout (Work Log / Comments / Activity),
editable title + description via edit dialog, Quill-rendered
descriptions with legacy plain-text fallback.
Create dialog: fixed-width (480px max), Quill description editor.
Shared QuillFieldEditor + QuillReadOnly widgets extracted for reuse.
RLS: hardened activity-log actor binding, immutable creator_id/
created_at triggers, SECURITY INVOKER visibility helper,
append-only work-log and scoped comment policies.
Brick migration for project_id FK on programmer_tasks.
Co-Authored-By: claude-flow <ruv@ruv.net >
2026-09-27 16:06:26 +08:00
redz1029
627645056b
Add Programmer Tasks module (work-log + time tracking)
...
Separate feature for the `programmer` role to record dev work by category,
distinct from the IT help-desk `tasks` feature. Modeled on the IT Service
Requests pattern (Brick offline-first model -> Riverpod stream/controller ->
list/detail screens); seed of a future Project Management workflow.
- programmer_tasks + programmer_task_activity_logs (category enum, RLS,
realtime) via supabase migration
- single assignee, self-logged or lead-assigned; assign/reassign logged
- pause-on-switch: starting a task while another runs prompts to pause the
running one, keeping one active task per user for accurate time attribution
- worked-duration math shared with help-desk tasks via a generic core in
task_duration.dart (existing callers unchanged)
- list distinguishes running vs paused with a per-task Resume shortcut
- accessible dialog labels; route /programmer-tasks + nav gated to admin/programmer
- unit/widget tests: controller lifecycle, duration math, pause-switch dialog
Co-Authored-By: claude-flow <ruv@ruv.net >
2026-09-27 01:13:33 +08:00
redz1029
3cb980b629
QA hardening: security RLS fixes, Flutter 3.47.5 upgrade, UI/validation fixes
...
Security — enforce write authorization server-side (was UI/RPC-only):
- it_service_requests RLS: block cross-office read/edit + self-approve (QA-015)
- pass_slips RLS: owner can complete but not self-approve (QA-046)
- swap_requests RLS: scope select/update to participants + admin (QA-047)
- storage: tighten it_service_attachments + task_attachments write/delete (QA-027)
- admin_user_management edge function: allow programmers to manage users (QA-016)
Fixes:
- workforce generator "uncovered shifts" false alarms (QA-043/044)
- network-map VLAN + New-location dialog validation, disabled-until-valid (QA-048)
- de-flake time-of-day-dependent dashboard metrics test (QA-045)
Toolchain:
- upgrade to Flutter 3.47.5 / Dart 3.13.4; font_awesome_flutter 11.0.0,
flutter_quill 11.6.0, pdfrx 2.6.5; clear resulting deprecations (QA-002)
analyze clean; 139 tests pass; web build succeeds. Report + evidence in docs/qa/.
Note: also carries the in-progress Brick model cleanup already present in the
working tree. QA-001 (AI keys public in the build) is deferred by owner decision.
Co-Authored-By: claude-flow <ruv@ruv.net >
2026-09-26 11:52:16 +08:00
redz1029
d813ee45a2
Network map enhancements and fixes
2026-06-05 16:42:56 +08:00
redz1029
5d0a66bb52
Initial Commit : Network Map
2026-05-21 06:29:14 +08:00
redz1029
48cd3bcd60
Offline Support
2026-04-27 06:20:39 +08:00
redz1029
872c2aab87
UI Enhancements in IT Service Request, Announcements, Workforce and notification fixes
2026-03-22 18:00:10 +08:00
redz1029
049ab2c794
Added My Schedule tab in attendance screen
...
Allow 1 Day, Whole Week and Date Range swapping
2026-03-22 11:52:25 +08:00
redz1029
3fb6fd5c93
Announcements and IT Job Checklist
2026-03-21 18:51:04 +08:00
redz1029
3af7a1e348
Added configurable shift types and holiday settings
2026-03-18 16:51:34 +08:00
redz1029
885b543fb5
Pass Slip and Leave approval/rejection push notifications
2026-03-15 22:36:33 +08:00
redz1029
9267ebee2c
No need update check for web
2026-03-12 20:38:19 +08:00
redz1029
0bd2a94ece
OTA Update attempt
2026-03-11 22:28:38 +08:00
redz1029
0f675d4274
Attendance log now record both check in and out photos and allow IT Staffs, Dispatchers and Admins to view for verification
2026-03-08 18:45:31 +08:00
redz1029
8bf0dc13d7
Workforce rotation settings and location permission handling
2026-03-08 17:31:39 +08:00
redz1029
d87b5e73d7
Team Color, image compression for attendance verification, improved wherebouts
2026-03-08 12:23:28 +08:00
redz1029
d3da8901a4
Fixed Shift Labels in Logbook and made Verified/Unverified badge clickable
2026-03-08 08:45:30 +08:00
redz1029
88432551c8
IT Service Request
2026-03-08 07:54:20 +08:00
redz1029
3dbebd4006
Attendance validation involving Location Detection + Facial Recoginition with Liveness Detection
2026-03-07 23:46:43 +08:00
redz1029
c6f536edeb
Initial Commit: Duty Schedule and Attendance Logbook
2026-03-07 10:16:28 +08:00
redz1029
7115e2df05
Fix flickering issues due to reconnecting loop
2026-03-02 22:09:29 +08:00
redz1029
e99b87bd20
Activity logs
2026-02-28 18:04:31 +08:00
redz1029
546c254326
Allow task completion even if signatories are still empty, put an indicator for completed tasks with incomplete details.
2026-02-24 22:08:53 +08:00
redz1029
56504b9e8a
Initial handling of activity logs
2026-02-22 14:14:16 +08:00
redz1029
46a84b4d95
Added Service
2026-02-21 21:57:31 +08:00
redz1029
6238c701c0
Added Task number
2026-02-21 21:37:36 +08:00
redz1029
1478667bbf
Added Action Taken on Task
2026-02-21 15:44:12 +08:00
redz1029
8d31a629ac
Added Type, Category and Signatories on task
2026-02-21 14:33:22 +08:00
redz1029
4811621dc5
Swap Accept, Reject and Escalate
2026-02-21 08:31:20 +08:00
redz1029
5ec57a1cec
Auto Task Assignment
2026-02-18 23:14:50 +08:00
redz1029
a80f09b9c0
Initial commit for teams module
2026-02-12 06:58:18 +08:00
redz1029
678a73a696
Implement Asia/Manila Time Zone
...
Handled saving of Relievers
2026-02-11 20:12:48 +08:00
redz1029
f4dea74394
* Workforce, Schedule generation and geofencing.
2026-02-09 22:19:31 +08:00
redz1029
1f16da8f88
Initial commit
2026-02-09 20:10:42 +08:00