Commit graph

26 commits

Author SHA1 Message Date
root
5005af628c chore: fix sync_team_members - gracefully handle empty team members with get() default 2026-07-17 09:50:16 +00:00
root
95047f3c33 chore: fix set_title - use Opportunity.title instead of non-existent opportunity_name 2026-07-17 09:47:16 +00:00
root
9f2cad6b59 chore: fix Opportunity filter - use party_name + opportunity_from (customer field does not exist on Opportunity doctype) 2026-07-17 09:44:38 +00:00
root
11b1972f97 chore: filter Opportunity by selected Customer only, disable when no Customer 2026-07-17 09:39:27 +00:00
root
276bc18c32 chore: fix WRONG FILE PATH - write JS to correct Frappe-resolved path (two-level-deep) with full customer clear + Description visible 2026-07-16 17:46:51 +00:00
root
bab40d090d chore: force-clear customer field at Awesomplete/DOM level to prevent auto-selection 2026-07-16 17:42:13 +00:00
root
589f5437f1 chore: fix customer auto-select, add placeholder, clear on new forms 2026-07-16 17:35:43 +00:00
root
ce03f6d2d5 chore: make Opportunity mandatory, fix team members crash via bench migrate 2026-07-16 17:27:03 +00:00
root
5682e648b8 chore: remove section_break_desc from toggle_creation_fields hide list 2026-07-16 17:22:00 +00:00
root
8b9d54caa8 chore: fix Description visibility, remove opp filter, fix js path 2026-07-16 17:02:34 +00:00
root
cc76feff29 chore: hide creation-only fields on new form, filter opp by customer 2026-07-16 16:58:35 +00:00
root
e84b04ddd8 chore: fix Select dropdown options loading from Settings 2026-07-16 14:43:30 +00:00
root
7243188e97 chore: fix Select dropdowns - load options from Settings via JS 2026-07-16 14:39:19 +00:00
root
df81309281 chore: remove Card Types, merge into Team 2026-07-16 14:26:27 +00:00
root
53ffa92fb4 chore: replace old DocTypes with single Service Factory Settings 2026-07-16 14:22:34 +00:00
root
aa2725ae1f chore: add configurable Card Type DocType (like Task Types) 2026-07-16 13:39:33 +00:00
root
598e5f695b chore: add after_migrate hook to persist Desktop Icon, fix status field 2026-07-16 10:09:55 +00:00
root
6c7402da0c chore: add Engagement Task Type, Team Template, auto-title, reordered form 2026-07-16 09:56:42 +00:00
root
5102e6d4bb chore: rebuild Service Factory with Engagement Card DocType and Kanban workspace 2026-07-15 23:22:32 +00:00
573765d51e feat: add Service Factory app icon to desk grid
- Added add_to_apps_screen hook in hooks.py with custom icon
- Created service_factory SVG icon (blue rounded square)
- Added permission check module (api/permission.py)
- Assets symlink instruction in deploy README
- Icon accessible at /assets/service_factory/icons/service_factory.svg
2026-07-15 21:57:52 +00:00
e24c3e2a72 feat: add fixture seed data for portability
- Added fixture config in hooks.py for Workspace, Resource Center,
  Engagement Recipe, and Engagement Order
- Exported workspace.json (3 Service Factory workspaces)
- Created resource_center.json seed data (Engineering Team,
  Solutions Consulting)
- All configuration is now version-controlled and portable
  via 'bench migrate' on any server
2026-07-15 21:53:44 +00:00
0b0cf7e4a2 feat: Milestone 5 - Test suite for Engagement Order
- test_execution_cards_generated_on_submit: verifies Execution
  Cards are created when Engagement Order is submitted
- test_cost_rollup_on_card_update: verifies 2h logged = 50
  actual_cost, 00 projected_billing_value at 5/50 rates
- test_recipe_step_auto_populate: verifies load_recipe_steps()
- test_capacity_warning_fires: verifies warning on overallocation
- Uses FrappeTestCase pattern with setUp/helper methods
2026-07-15 20:34:47 +00:00
7c20c56433 feat: Milestones 3+4 - Frontend widgets and role-based workspaces
- Execution Card JS: live timer with Start/Pause/Stop buttons
  polling get_active_time every second, HH:MM:SS display
- Engineer Workspace: My Active Deliverables cards,
  Execution Card links with employee-filtered shortcuts
- Manager Workspace: Engagement Order/Resource Center/Recipe
  navigation, Active/Stalled/Capacity filtered shortcuts
- Director Workspace: Financial Margin Ledger, Delivery
  Performance cards, KPI shortcuts for Revenue/Cost/Margin
- hooks.py: doctype_js for Execution Card, fixtures for
  workspace auto-sync during migrate
2026-07-15 20:15:17 +00:00
1fbbbb6e7d feat: Milestone 2 - Backend controllers with capacity warnings and cost rollup
- Engagement Order: auto-populate steps on recipe change via validate()
- Engagement Order: capacity warning validator on before_save/before_submit
- Execution Card: push actual_hours to parent run step on update/submit/cancel
- Execution Card: proper time tracking with start/pause/stop workflow
- Refined per-step cost rollup from Resource Center rates
2026-07-15 19:57:27 +00:00
6b44131abe feat: Milestone 1 - All 5 DocTypes with controllers
- Resource Center + Resource Center Member child table
- Engagement Recipe + Engagement Recipe Step child table
- Engagement Order (submittable) + Engagement Order Run Step child table
- Execution Card (submittable) + Execution Card Log child table
- Server-side actions: start_work, pause_work, stop_work on Execution Card
- Cost rollup logic from Execution Card to Engagement Order
- Auto-generation of Execution Cards on Engagement Order submit
- Total duration calculation on Engagement Recipe
2026-07-15 19:54:41 +00:00
erpnext
7994bb2d17 feat: Initialize App 2026-07-15 19:39:05 +00:00