baodev0 and Claude Opus 5.5
bf78f3b810
feat: hồ sơ khách (ngày sinh, tỉnh/phường theo mã), gộp menu + nút tắt, thông báo theo uuid
...
- PUT v1/client/update: gender theo enum ClientGender (0 Nam/1 Nữ), thêm
birthday (cột mới), province_code/ward_code validate theo bảng provinces/wards
(phường phải thuộc tỉnh). Migration nạp dữ liệu hành chính 2025 từ
province_ward_import.sql (chỉ bảng trống), API GET v1/provinces[/{code}/wards].
- CustomerObserver/OrderObserver log giá trị cũ bằng getRawOriginal: getOriginal
trả enum object, nối chuỗi gây 500 khi khách đổi giới tính.
- ClientResource: các cờ trả boolean, CCCD chỉ trả cccd_updated (không lộ ảnh/số).
- GET v1/setting/menu trả cả items + quick_links, bỏ v1/setting/quick-links.
- Thông báo admin/khách tra theo uuid thay vì id tự tăng.
- Chặn gửi template marketing cho khách đã tắt nhận email marketing.
- Xoá ProvinceWardSeeder và Customer::$updatable không dùng.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-13 16:03:18 +07:00
..
2026-02-11 10:08:39 +07:00
2026-02-11 10:08:39 +07:00
2026-02-11 10:08:39 +07:00
2026-02-11 10:08:39 +07:00
2026-09-09 16:56:22 +07:00
2025-07-24 16:18:27 +07:00
2025-07-24 16:18:27 +07:00
2025-07-24 16:18:27 +07:00
2025-07-24 16:18:27 +07:00
2025-07-24 16:18:27 +07:00
2025-07-24 16:18:27 +07:00
2025-07-24 16:18:27 +07:00
2025-07-24 16:18:27 +07:00
2026-09-09 16:56:22 +07:00
2025-07-24 16:18:27 +07:00
2025-07-24 16:18:27 +07:00
2025-07-24 16:18:27 +07:00
2025-07-24 16:18:27 +07:00
2025-07-24 16:18:27 +07:00
2025-07-24 16:18:27 +07:00
2026-02-18 21:44:31 +07:00
2026-02-12 14:29:29 +07:00
2026-02-12 14:29:29 +07:00
2025-07-24 16:18:27 +07:00
2025-07-24 16:18:27 +07:00
2026-02-13 10:07:24 +07:00
2025-07-24 16:18:27 +07:00
2026-03-12 09:30:29 +07:00
2025-07-24 16:18:27 +07:00
2025-07-24 16:18:27 +07:00
2025-07-24 16:18:27 +07:00
2025-07-24 16:18:27 +07:00
2026-03-12 09:30:29 +07:00
2026-03-12 09:30:29 +07:00
2026-03-12 09:30:29 +07:00
2026-03-12 09:30:29 +07:00
2026-03-12 09:30:29 +07:00
2026-02-06 11:05:18 +07:00
2026-03-12 09:30:29 +07:00
2026-02-06 11:05:18 +07:00
2026-02-06 11:05:18 +07:00
2026-03-12 09:30:29 +07:00
2026-03-12 09:30:29 +07:00
2025-07-24 16:18:27 +07:00
2025-07-24 16:18:27 +07:00
2025-07-24 16:18:27 +07:00
2026-03-12 12:31:52 +07:00
2026-02-06 11:05:18 +07:00
2025-07-24 16:18:27 +07:00
2025-07-24 16:18:27 +07:00
2025-07-24 16:18:27 +07:00
2026-03-12 09:30:29 +07:00
2026-03-01 23:10:35 +07:00
2025-07-24 16:18:27 +07:00
2025-07-24 16:18:27 +07:00
2026-05-29 12:03:35 +07:00
2025-08-04 00:35:54 +07:00
2026-03-12 09:30:29 +07:00
2026-01-31 10:25:21 +07:00
2026-02-03 16:10:49 +07:00
2026-02-06 20:52:59 +07:00
2026-02-06 20:52:59 +07:00
2026-02-12 17:23:01 +07:00
2026-02-13 11:31:54 +07:00
2026-02-16 16:19:22 +07:00
2026-03-09 16:43:06 +07:00
2026-03-12 09:30:29 +07:00
2026-03-12 09:30:29 +07:00
2026-03-12 12:31:52 +07:00
2026-03-12 09:30:29 +07:00
2026-03-13 15:17:23 +07:00
2026-03-12 09:30:29 +07:00
2026-03-12 09:30:29 +07:00
2026-03-12 12:31:52 +07:00
2026-03-12 12:31:52 +07:00
2026-03-16 10:23:11 +07:00
2026-04-16 09:39:52 +07:00
2026-04-16 09:39:52 +07:00
2026-04-16 09:39:52 +07:00
2026-04-16 23:21:27 +07:00
2026-05-11 11:09:55 +07:00
2026-07-10 14:16:35 +07:00
2026-05-14 16:33:35 +07:00
2026-05-14 16:33:35 +07:00
2026-05-14 16:33:35 +07:00
2026-05-16 20:01:52 +07:00
2026-05-25 15:39:42 +07:00
2026-05-25 15:39:42 +07:00
2026-05-25 15:39:42 +07:00
2026-05-25 15:39:42 +07:00
2026-05-25 15:39:42 +07:00
2026-05-25 15:39:42 +07:00
2026-05-25 15:39:42 +07:00
2026-05-25 15:39:42 +07:00
2026-05-25 15:39:42 +07:00
2026-05-25 15:39:42 +07:00
2026-05-25 15:39:42 +07:00
2026-05-25 15:39:42 +07:00
2026-05-25 15:39:42 +07:00
2026-05-26 13:54:33 +07:00
2026-07-06 08:28:51 +07:00
2026-05-29 12:03:35 +07:00
2026-07-10 14:16:35 +07:00
2026-05-29 12:03:35 +07:00
2026-07-10 14:16:35 +07:00
2026-05-29 18:19:38 +07:00
2026-06-15 09:11:57 +07:00
2026-06-15 09:11:57 +07:00
2026-06-22 08:43:32 +07:00
2026-06-22 09:55:11 +07:00
2026-07-01 10:51:05 +07:00
2026-07-06 08:00:23 +07:00
2026-07-09 11:19:50 +07:00
2026-07-10 14:16:35 +07:00
2026-07-10 14:16:35 +07:00
2026-07-10 14:16:35 +07:00
2026-07-13 11:23:53 +07:00
2026-07-13 11:53:00 +07:00
2026-07-14 17:03:38 +07:00
2026-07-14 17:03:38 +07:00
2026-07-21 08:34:15 +07:00
2026-07-17 09:14:26 +07:00
2026-07-21 11:10:45 +07:00
2026-07-21 21:37:28 +07:00
2026-07-21 21:37:28 +07:00
2026-07-21 21:37:28 +07:00
2026-07-21 21:37:28 +07:00
2026-07-21 21:37:28 +07:00
2026-07-24 17:01:25 +07:00
2026-07-25 11:05:34 +07:00
2026-07-25 11:05:34 +07:00
2026-07-25 11:05:34 +07:00
2026-07-25 11:05:34 +07:00
2026-08-06 11:13:42 +07:00
2026-08-06 11:13:42 +07:00
2026-08-06 15:32:51 +07:00
2026-08-06 17:24:01 +07:00
2026-08-06 17:24:01 +07:00
2026-08-06 17:24:01 +07:00
2026-08-10 08:37:52 +07:00
2026-08-10 08:37:52 +07:00
2026-08-11 10:12:25 +07:00
2026-08-11 10:12:25 +07:00
2026-08-11 10:12:25 +07:00
2026-08-17 11:55:48 +07:00
2026-08-17 11:55:48 +07:00
2026-08-17 11:55:48 +07:00
2026-08-21 16:57:32 +07:00
2026-08-21 16:57:32 +07:00
2026-08-22 17:30:55 +07:00
2026-08-22 17:30:55 +07:00
2026-08-22 17:30:55 +07:00
2026-08-22 17:30:55 +07:00
2026-08-26 16:19:38 +07:00
2026-08-26 16:19:38 +07:00
2026-08-26 16:19:38 +07:00
2026-08-26 16:19:38 +07:00
2026-08-28 16:40:40 +07:00
2026-08-28 16:40:40 +07:00
2026-09-09 16:56:22 +07:00
2026-09-09 16:56:22 +07:00
2026-09-09 16:56:22 +07:00
2026-09-09 16:56:22 +07:00
2026-09-09 16:56:22 +07:00
2026-09-09 16:56:22 +07:00
2026-09-09 16:56:22 +07:00
2026-09-09 16:56:22 +07:00
2026-09-09 16:56:22 +07:00
2026-09-09 16:56:22 +07:00
2026-09-09 16:56:22 +07:00
2026-09-09 16:56:22 +07:00
2026-09-09 16:56:22 +07:00
2026-09-09 16:56:22 +07:00
2026-09-09 16:56:22 +07:00
2026-09-09 16:56:22 +07:00
2026-09-10 16:32:48 +07:00
2026-09-10 16:32:48 +07:00
2026-09-23 15:17:18 +07:00
2026-09-23 15:17:18 +07:00
2026-09-23 15:17:18 +07:00
2026-09-23 15:17:18 +07:00
2026-09-23 15:17:18 +07:00
2026-09-23 15:17:18 +07:00
2026-09-23 15:17:18 +07:00
2026-09-23 15:17:18 +07:00
2026-09-23 15:17:18 +07:00
2026-09-23 15:17:18 +07:00
2026-09-23 15:17:18 +07:00
2026-09-27 11:42:40 +07:00
2026-09-27 11:42:40 +07:00
2026-09-27 11:42:40 +07:00
2026-10-01 09:29:30 +07:00
2026-09-27 11:42:40 +07:00
2026-09-29 11:37:18 +07:00
2026-10-01 10:05:45 +07:00
2026-10-05 09:30:24 +07:00
2026-10-05 09:30:24 +07:00
2026-10-05 09:30:24 +07:00
2026-10-08 11:25:28 +07:00
2026-10-09 11:32:05 +07:00
2026-10-09 11:32:05 +07:00
2026-10-09 11:32:05 +07:00
2026-10-09 11:32:05 +07:00
2026-10-09 11:32:05 +07:00
2026-10-11 09:56:18 +07:00
2026-10-11 09:56:18 +07:00
2026-10-11 09:56:18 +07:00
2026-10-11 23:07:51 +07:00
2026-10-11 23:07:51 +07:00
2026-10-12 15:53:43 +07:00
2026-10-12 15:53:43 +07:00
2026-10-13 13:23:33 +07:00
2026-10-13 13:23:33 +07:00
2026-10-13 13:23:33 +07:00
2026-10-13 13:23:33 +07:00
2026-10-13 16:03:18 +07:00
2026-10-13 16:03:18 +07:00
2026-10-13 16:03:18 +07:00