65 Commits

Author SHA1 Message Date
vagrant 739415cf9d feat: Special Handling import - SH Logs, CODs, Load Emails, deduped customers 2026-05-28 04:53:25 +00:00
vagrant d087fc0f22 feat: add Special Handling schema - SH Log, COD, Load Email DocTypes + Load/Pallet fields 2026-05-28 04:22:16 +00:00
vagrant 6fe6d61779 wip: receiving dashboard, customer records, archive old 2-level paths, various fixes 2026-05-28 03:30:45 +00:00
vagrant d4ed4b1d89 fix: intake page updates, customer_intake fixes, module dir 2026-05-25 14:44:40 +00:00
Westech Admin 0997de940e feat: Customer Interaction DocType for CRM contact logs from supplemental.xlsx 2026-05-23 07:38:41 +00:00
Westech Admin 313da27e56 fix: CoR server-side PDF, driver→Employee, customer list, address fix, button enable 2026-05-22 06:02:51 +00:00
Westech Admin be06bca0cf feat: intake page rework, new Pallet fields, address fix, button rename, COR generator, theme CSS 2026-05-22 05:15:09 +00:00
Westech Admin 3c11969c89 fix(module): use symlink for westech_r2/westech_r2 to resolve Frappe module path
Frappe get_module_path uses get_pymodule_path which constructs
westech_r2.westech_r2 for module resolution. The symlink makes
both "westech_r2" and "westech_r2.westech_r2" resolve to the same
directory, fixing the 3-level deep path bug.
2026-05-21 06:00:37 +00:00
Westech Admin a1704dc1bb fix(module): add nested westech_r2/__init__.py for Frappe module resolution
Frappe get_module_path uses get_pymodule_path which expects
westech_r2.westech_r2 to be importable. The nested __init__.py
with __path__ redirection makes this work correctly.
2026-05-21 05:59:26 +00:00
Westech Admin 375bf9f2b5 chore: clean remaining pycache deletions 2026-05-21 05:50:53 +00:00
Westech Admin 8ade73a877 fix(intake): set standard=No so custom app page loads, not core frappe page
The intake page in westech_r2 app now properly overrides the core page.
Customer search, CRM auto-fill, and all business logic lives in the
westech_r2 app where it belongs. Core frappe/core/page/intake is untouched.
2026-05-21 05:50:01 +00:00
Westech Admin ee57b903d6 feat(receiving): add Receiving page with 3-stage workflow 2026-05-21 05:40:30 +00:00
Westech Admin 8f8cf5d78d Add get_scheduled_pickups to optimize_routes API 2026-05-21 01:47:24 +00:00
Westech Admin 7d8d1b1376 Fix page module paths: move all pages to correct app-level directory, add missing .py files 2026-05-21 01:45:30 +00:00
Westech Admin f48e93f96a Add missing page files: eim-portal, r2-tracking, wes-ai to westech_r2 app 2026-05-21 01:19:30 +00:00
Westech Admin 8be0cf57cf Add intake page to westech_r2 app 2026-05-21 01:17:59 +00:00
Westech Admin 17584d0002 cleanup: remove broken hyphen-named pages 2026-05-21 01:09:59 +00:00
Westech Admin bb5c8143fc fix: rename page templates to underscores 2026-05-21 00:00:46 +00:00
Westech Admin 2079e27402 fix: Load.customer_name fetch_from points to customer.customer_name 2026-05-20 23:40:03 +00:00
Westech Admin efc06dd98a fix: Load.customer points to Customer, data_status D0/D1 2026-05-20 23:32:54 +00:00
Westech Admin 5be239fced fix: Pallet data_status options to D0/D1 only 2026-05-20 23:30:09 +00:00
Westech Admin 311e74fe18 fix: data_status D0/D1 only, add fields to intake page 2026-05-20 23:28:08 +00:00
Westech Admin 4f4717463e feat: CRM integration - customer intake, service invoice generation, COR print format\n\n- Added customer-intake page (search/create customers, create pallets)\n- Added whitelisted generate_service_invoice() API for native Sales Invoice creation\n- Added COR logo image asset\n- Removed stale fixtures/doctype.json (was causing bench migrate failures) 2026-05-20 22:57:53 +00:00
Westech Admin 6a5f2a3ebb feat: Customer Records page + CRM data import (7,966 records) 2026-05-20 22:14:10 +00:00
Westech Admin 0128d1aae7 feat: Add Customer Records page shortcut to CRM workspace 2026-05-20 22:04:56 +00:00
Westech Admin 6f23c32af3 feat: Add Customer Records page with Lead integration 2026-05-20 22:03:33 +00:00
Westech Admin 2e56814a1e Fix page files: remove duplicate dirs, fix ebay-pricing HTML, ensure hyphen+underscore filenames 2026-05-20 20:55:52 +00:00
Westech Admin 9fc0a92618 Fix page JS files with full content for load-detail, load-update, route-planner, pallet-list 2026-05-20 04:20:04 +00:00
Westech Admin 34d5c9cf59 Fix load-detail and load-update page JS, add route-planner, fix pallet_list directory 2026-05-20 04:15:43 +00:00
Westech Admin 233734c09f Update pallet-list API with input row and customer_number filter 2026-05-19 21:51:50 +00:00
Westech Admin c01b62f131 Add pallet-list page with input row, customer filter, and update pallet.js 2026-05-19 21:49:34 +00:00
Westech Admin ece68b80e9 Simplify pallet-list API 2026-05-19 21:45:39 +00:00
Westech Admin 73e0cd6c79 Clean up junk pallets and update pallet-list filters 2026-05-19 21:39:32 +00:00
Westech Admin fe91302ff5 Fix 2024 pallet numbering and update pallet-list page 2026-05-19 21:28:52 +00:00
Westech Admin 73e7df4735 Add pallet-list page and Pallet form auto-fill 2026-05-19 20:57:35 +00:00
Westech Admin 232c4af3b6 Fix migration script: read cosmetic_grade from Device Condition Report, not Serial No
Serial No.cosmetic_grade is empty on production. The actual C# data lives
in Device Condition Report (42,940 records). Updated script to lookup
latest report per serial_no and map from there.
2026-05-19 18:24:48 +00:00
Westech Admin 2b57d2df56 Add data migration script for Serial No grades
Run after bench migrate. Maps cosmetic_grade C# values to new grade field:
- C5-C9 → High
- C4 → Med
- C3 → Low
- C0-C2, blank → Flagged

Requires: bench migrate has already created the new fields.
2026-05-19 18:15:09 +00:00
Westech Admin 94b5765fb0 Add Schema Diagram shortcut to Westech workspace - links to EIM schema diagram 2026-05-19 17:55:11 +00:00
Westech Admin 1ef2b63730 Fix eBay s-card parser, add credentials fallback, verified pricing pipeline
- eBay scraper: Fixed HTML parser for post-2024 s-card layout (s-card class)
- Credentials: Fixed fallback from frappe.conf when Settings doc is empty
- Source field: Normalized values (oxylabs/apify/unknown) for System Pricing DocType
- Verified: 80 Dell Latitude 5410 sold listings scraped
  - Low: 5, Median: 39.99, Avg: 58.43, High: 96.42
- Verified Serial No pricing: High/Med/Low correctly maps to market_high/median/low
- Verified CPU/RAM Fail → Flagged + Dismantle routing works
2026-05-19 16:43:47 +00:00
Westech Admin ebf907c9d5 Fix eBay HTML parser for post-2024 s-card layout, fix source field values 2026-05-19 16:33:17 +00:00
Westech Admin 750141827b Serial No: warehousing pricing + grading + hardware failure routing
- Grade options: High/Med/Low/Flagged (replaces A/B/C/D/F)
- assigned_price label → Recommended Price
- Client script: grade→price mapping (High→market_high, Med→market_median, Low→market_low)
- Flagged grade shows FLAGGED, no price, Dismantle status
- New fields: cpu_test (Pass/Fail), ram_test (Pass/Fail)
- CPU/RAM Fail → auto Flagged grade, Dismantle status, route to Dismantle warehouse
- Server-side validation prevents pricing on failed hardware
- pricing_status options updated: Needs Pricing/Priced/Flagged/Dismantle/Manual Override/Expired/Error
2026-05-19 15:33:34 +00:00
Westech Admin 5203f02f0b Fix workspace icons 2026-05-18 00:58:12 +00:00
Westech Admin f0d66d9503 Add R2 dashboards, fix workspace visibility and icons 2026-05-18 00:49:47 +00:00
Westech Admin 5453f87603 fix: workflow states match reality - Processed, Needs QA, Priced, Ready for Sale, Sold, Destroyed, Recycled 2026-05-17 21:31:14 +00:00
Westech Admin 77b86851a0 feat: complete R2 workflow - QA, pricing, sales 2026-05-17 21:05:56 +00:00
Westech Admin 047fcc49b0 feat: R2 Device QA workflow with Shipping & Receiving role 2026-05-17 20:57:06 +00:00
root 18a5bc6603 fix: inline HTML, remove render_template call 2026-05-17 16:22:05 +00:00
root 5e1486a2ba fix: correct page directory structure 2026-05-17 16:16:48 +00:00
root c2bf3a4f25 fix: move sales manager page to correct directory 2026-05-17 15:56:04 +00:00
root 2bfc159356 feat: complete sales manager pricing system 2026-05-17 15:50:40 +00:00