Phase 3: Optimize & clean up — unified projects, account enhancements, new tenant fix
- Unify reserve_components + capital_projects into single projects model with full CRUD backend and new Projects page frontend - Rewrite Capital Planning to read from unified projects/planning endpoint; add empty state directing users to Projects page when no planning items exist - Add default designation to assessment groups with auto-set on first creation; units now require an assessment group (pre-populated with default) - Add primary account designation (one per fund type) and balance adjustment via journal entries against equity offset accounts (3000/3100) - Add computed investment fields (interest earned, maturity value, days remaining) with PostgreSQL date arithmetic fix for DATE - DATE integer result - Restructure sidebar: investments in Accounts tab, Year-End under Reports, Planning section with Projects and Capital Planning - Fix new tenant creation seeding unwanted default chart of accounts — new tenants now start with a blank slate Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -10,10 +10,8 @@ import {
|
||||
IconReportAnalytics,
|
||||
IconChartSankey,
|
||||
IconShieldCheck,
|
||||
IconPigMoney,
|
||||
IconBuildingBank,
|
||||
IconUsers,
|
||||
IconFileText,
|
||||
IconSettings,
|
||||
IconCrown,
|
||||
IconCategory,
|
||||
@@ -31,7 +29,6 @@ const navSections = [
|
||||
items: [
|
||||
{ label: 'Accounts', icon: IconListDetails, path: '/accounts' },
|
||||
{ label: 'Budgets', icon: IconReportAnalytics, path: '/budgets/2026' },
|
||||
{ label: 'Investments', icon: IconPigMoney, path: '/investments' },
|
||||
],
|
||||
},
|
||||
{
|
||||
@@ -52,8 +49,8 @@ const navSections = [
|
||||
{
|
||||
label: 'Planning',
|
||||
items: [
|
||||
{ label: 'Capital Projects', icon: IconBuildingBank, path: '/capital-projects' },
|
||||
{ label: 'Reserves', icon: IconShieldCheck, path: '/reserves' },
|
||||
{ label: 'Projects', icon: IconShieldCheck, path: '/projects' },
|
||||
{ label: 'Capital Planning', icon: IconBuildingBank, path: '/capital-projects' },
|
||||
{ label: 'Vendors', icon: IconUsers, path: '/vendors' },
|
||||
],
|
||||
},
|
||||
@@ -70,6 +67,7 @@ const navSections = [
|
||||
{ label: 'Budget vs Actual', path: '/reports/budget-vs-actual' },
|
||||
{ label: 'Aging Report', path: '/reports/aging' },
|
||||
{ label: 'Sankey Diagram', path: '/reports/sankey' },
|
||||
{ label: 'Year-End', path: '/reports/year-end' },
|
||||
],
|
||||
},
|
||||
],
|
||||
@@ -77,7 +75,6 @@ const navSections = [
|
||||
{
|
||||
label: 'Admin',
|
||||
items: [
|
||||
{ label: 'Year-End', icon: IconFileText, path: '/year-end' },
|
||||
{ label: 'Settings', icon: IconSettings, path: '/settings' },
|
||||
],
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user