toga-ai 1.0.963 → 1.0.964
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/knowledge/1.0/apps/toga/INDEX.md +1 -0
- package/knowledge/1.0/apps/toga/features/bundleconfirmation-cart-preservation.md +1 -0
- package/knowledge/1.0/apps/toga/features/odp-esd-mcafee-descriptions.md +46 -0
- package/knowledge/INDEX.md +1 -1
- package/knowledge/clients/office-depot/profile.md +4 -2
- package/package.json +1 -1
|
@@ -4,3 +4,4 @@
|
|
|
4
4
|
|-----|---------|
|
|
5
5
|
| [Bundle Confirmation — Cart Preservation When Adding Add-On Services](features/bundleconfirmation-cart-preservation.md) | ODP TOGa Refresh 2026 fix — adding an add-on service no longer strips the 1-year tech support SKU from the cart (`bundleconfirmation.php` `?services=` block); o |
|
|
6
6
|
| [ODP Customer Search — Loyalty Number (merchantId) Persistence](features/odp-customer-search-loyalty-persistence.md) | Fixes so the ODP loyalty number (`memberId` → `Customers.merchantId`) and the validated standardized address persist through the togarefresh2026 customer-search |
|
|
7
|
+
| [ODP Retail ESD — McAfee Product Descriptions](features/odp-esd-mcafee-descriptions.md) | Where ODP Retail ESD McAfee card text comes from (`TOGA_ODP.Services`, not code) and the hardcoded-override trap in `bundleservices.php`; open before changing a |
|
|
@@ -12,6 +12,7 @@ files:
|
|
|
12
12
|
- toga/app/togarefresh2026/servicerequests/bundleconfirmation.php
|
|
13
13
|
related:
|
|
14
14
|
- ../../../clients/office-depot/features/togarefresh2026-linkbuilder-routing.md
|
|
15
|
+
- ./odp-esd-mcafee-descriptions.md
|
|
15
16
|
---
|
|
16
17
|
|
|
17
18
|
ODP TOGa Refresh 2026 fix — adding an add-on service no longer strips the 1-year tech support SKU from the cart (`bundleconfirmation.php` `?services=` block); open when a cart item vanishes or a new tech support SKU is added.
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: ODP Retail ESD — McAfee Product Descriptions
|
|
3
|
+
framework: "1.0"
|
|
4
|
+
repo: toga
|
|
5
|
+
project: TOGa
|
|
6
|
+
client: office-depot
|
|
7
|
+
type: client-feature
|
|
8
|
+
status: active
|
|
9
|
+
updated: 2026-10-06
|
|
10
|
+
owners: [mhammontree]
|
|
11
|
+
files:
|
|
12
|
+
- toga/app/togarefresh2026/servicerequests/bundleservices.php
|
|
13
|
+
- toga/app/togarefresh2026/servicerequests/mcafeeupdates.php
|
|
14
|
+
- toga/app/togarefresh2026/servicerequests/bundleconfirmation.php
|
|
15
|
+
related:
|
|
16
|
+
- ./bundleconfirmation-cart-preservation.md
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
Where ODP Retail ESD McAfee card text comes from (`TOGA_ODP.Services`, not code) and the hardcoded-override trap in `bundleservices.php`; open before changing any McAfee/ESD name, description, SKU, or price.
|
|
20
|
+
|
|
21
|
+
## Summary
|
|
22
|
+
McAfee offerings on the togarefresh2026 bundle screens are DB-driven. To change text/price, edit `TOGA_ODP.Services` rows — no code change. Check the screen does not overwrite the DB value in PHP.
|
|
23
|
+
|
|
24
|
+
## How it works
|
|
25
|
+
- Query: `TOGA_ODP.Services` (legacy DB, link `db_toga`), `active > 0`, filtered by `clientServiceCategoryId`; joined `ServiceTags` → `TOGA.Tags.icon` for the card image.
|
|
26
|
+
- Category picks the price tier:
|
|
27
|
+
- `185` — computer bought in store (default).
|
|
28
|
+
- `186` — `computerBoughtInStore=no`; sets `$_SESSION['itemBoughtInStore'] = false`.
|
|
29
|
+
- `183` — ids 101873/101875/101876.
|
|
30
|
+
- Rows (prod, 2026-10-06):
|
|
31
|
+
|
|
32
|
+
| Product | SKU | cat 185 id / price | cat 186 id / price |
|
|
33
|
+
|---|---|---|---|
|
|
34
|
+
| Total Protection 1-Device | 8960105 | 101877 / $9.99 | 101880 / $19.99 |
|
|
35
|
+
| McAfee+ Premium Individual | 9786195 | 101878 / $29.99 | 101881 / $39.99 |
|
|
36
|
+
| McAfee+ Advanced Individual | 9264758 | 101879 / $49.99 | 101882 / $59.99 |
|
|
37
|
+
|
|
38
|
+
- Each row has its own `shortDescription` / `longDescription` (Total = 1 device; Premium = unlimited devices + privacy/data-removal; Advanced = unlimited + $1M identity theft coverage/restoration).
|
|
39
|
+
- `bundleservices.php` McAfee loop (~line 1020) shows `shortDescription` on the card and passes the same variable to `openDetailsModal`. `mcafeeupdates.php` (~349) and `bundleconfirmation.php` (~198) read DB text directly. togarefresh2023 `bundleservices.php` reads DB (short, then long) with no override.
|
|
40
|
+
|
|
41
|
+
## Gotchas
|
|
42
|
+
- A hardcoded `$mcafeeShortDescription = 'McAfee Total Protection for 1 device.'` after the DB load made every card and Details modal show the same text. Removed in TRUE-82542. If DB edits do not show up, look for a PHP override first.
|
|
43
|
+
- Card echoes DB text unescaped (`<p class="bunldeMicrosoft"><?php echo $mcafeeShortDescription ?>`). Some `Services` rows store HTML-encoded text (e.g. id 193 `We'll`), so do not escape-fix without checking stored data. Details modal uses `textContent` (safe). Not fixed — out of scope.
|
|
44
|
+
|
|
45
|
+
## Change history
|
|
46
|
+
- 2026-10-06 — Removed hardcoded McAfee short-description override in togarefresh2026 `bundleservices.php`; cards + Details modal now show per-product DB text (TRUE-82542) (mhammontree)
|
package/knowledge/INDEX.md
CHANGED
|
@@ -13,7 +13,7 @@ _Auto-generated by `knowledge.js index`. Do not hand-edit._
|
|
|
13
13
|
- **webhook** (Webhook) — 1 doc(s) → [1.0/apps/webhook/INDEX.md](1.0/apps/webhook/INDEX.md)
|
|
14
14
|
- **walmarttechservices** (Walmart Tech Services) — 1 doc(s) → [1.0/apps/walmarttechservices/INDEX.md](1.0/apps/walmarttechservices/INDEX.md)
|
|
15
15
|
- **test** (Test) — 16 doc(s) → [1.0/apps/test/INDEX.md](1.0/apps/test/INDEX.md)
|
|
16
|
-
- **toga** (TOGa) —
|
|
16
|
+
- **toga** (TOGa) — 4 doc(s) → [1.0/apps/toga/INDEX.md](1.0/apps/toga/INDEX.md)
|
|
17
17
|
- **store** (Store) — 3 doc(s) → [1.0/apps/store/INDEX.md](1.0/apps/store/INDEX.md)
|
|
18
18
|
- **tools** (Tools) — 25 doc(s) → [1.0/apps/tools/INDEX.md](1.0/apps/tools/INDEX.md)
|
|
19
19
|
|
|
@@ -3,18 +3,20 @@ title: Office Depot
|
|
|
3
3
|
framework: "2.0"
|
|
4
4
|
apps:
|
|
5
5
|
- voice-to-voice
|
|
6
|
+
- toga
|
|
6
7
|
project: TOGa Voice
|
|
7
8
|
client: office-depot
|
|
8
9
|
type: profile
|
|
9
10
|
status: active
|
|
10
|
-
updated: 2026-
|
|
11
|
-
owners: [akhokhani]
|
|
11
|
+
updated: 2026-10-06
|
|
12
|
+
owners: [akhokhani, mhammontree]
|
|
12
13
|
files: []
|
|
13
14
|
related:
|
|
14
15
|
- features/odp-tech-support.md
|
|
15
16
|
- ../../2.0/apps/voice-to-voice/architecture.md
|
|
16
17
|
- ../../2.0/apps/voice-to-voice/features/ticket-api-integration.md
|
|
17
18
|
- ../../1.0/apps/togadesk/architecture.md
|
|
19
|
+
- ../../1.0/apps/toga/features/odp-esd-mcafee-descriptions.md
|
|
18
20
|
---
|
|
19
21
|
|
|
20
22
|
Office Depot — first TOGa Voice (`voice-to-voice`) tenant: inbound phone tech-support for ODP store associates writing tickets to TOGa Desk 1.0 via the Agilant Ticket API; open for ODP voice config, identifiers, and call flow.
|
package/package.json
CHANGED