Skip to content

Conversation

@nabinhait
Copy link
Member

Fixed multiple issues reported on #51385

@github-actions github-actions bot added the needs-tests This PR needs automated unit-tests. label Jan 2, 2026
@coderabbitai
Copy link
Contributor

coderabbitai bot commented Jan 2, 2026

📝 Walkthrough

Walkthrough

This PR performs a broad configuration update across multiple ERPNext modules, primarily targeting workspace definitions, sidebar navigation, desktop icons, and settings DocTypes. Changes include updating all modified timestamps to 2026-01-02, restructuring workspace content and shortcuts (many shortcuts arrays emptied), adding UI configuration fields (hide_toolbar, grid_page_length, row_format) to settings DocTypes, reorganizing workspace sidebar items with updated icons and navigation targets, and minor Python import formatting adjustments.

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~50 minutes

Possibly related PRs

Suggested labels

needs-tests, skip-release-notes

Suggested reviewers

  • ruthra-kumar
  • rohitwaghchaure
  • mihir-kandoi

Pre-merge checks and finishing touches

❌ Failed checks (1 warning)
Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. You can run @coderabbitai generate docstrings to improve docstring coverage.
✅ Passed checks (2 passed)
Check name Status Explanation
Title check ✅ Passed The PR title 'fix: erpnext workspaces cleanup' accurately describes the main change: cleaning up multiple ERPNext workspace configurations and settings files.
Description check ✅ Passed The PR description references a specific GitHub issue (#51385) that the changes address, providing context for the workspace cleanup modifications throughout the codebase.
✨ Finishing touches
  • 📝 Generate docstrings

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 7

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
erpnext/workspace_sidebar/accounting.json (1)

208-208: Fix typo in label.

The label contains a spelling error: "Payment Reconciliaition" should be "Payment Reconciliation".

🔎 Proposed fix
-   "label": "Payment Reconciliaition",
+   "label": "Payment Reconciliation",
🧹 Nitpick comments (4)
erpnext/workspace_sidebar/quality.json (1)

143-147: Consider label consistency with DocType name.

The label "Feedback Template" links to "Quality Feedback Template". While the shortened label is more concise for the UI, consider whether it maintains sufficient clarity in the Quality module context.

If other templates in this section use the full "Quality [Type] Template" naming pattern, maintaining consistency might improve user understanding.

Optional: Use full DocType name in label
-   "label": "Feedback Template",
+   "label": "Quality Feedback Template",
erpnext/workspace_sidebar/support.json (1)

141-146: Note: Label-DocType name mismatch.

The label is simplified to "Settings" while link_to references "Support Settings" (the actual DocType name). While functionally correct, this creates a mismatch between what users see and the underlying DocType. This pattern appears consistent with other modules in this PR, but consider whether a unified label would improve clarity.

erpnext/workspace_sidebar/taxes.json (2)

93-103: Missing icon field for consistency.

The "Tax Withholding Group" link item is missing an icon field, while all other Link items in this configuration have icons specified (e.g., lines 60, 72, 84). This creates visual inconsistency in the UI.

🔎 Suggested fix
  {
   "child": 1,
   "collapsible": 1,
+  "icon": "users",
   "indent": 0,
   "keep_closed": 0,
   "label": "Tax Withholding Group",
   "link_to": "Tax Withholding Group",
   "link_type": "DocType",
   "show_arrow": 0,
   "type": "Link"
  },

128-149: Missing icon fields for report links.

Both "TDS Computation Summary" and "Tax Withholding Details" report links are missing icon fields, while all other Link items in this configuration include icons. This creates visual inconsistency.

🔎 Suggested fix
  {
   "child": 1,
   "collapsible": 1,
+  "icon": "file-chart-column",
   "indent": 0,
   "keep_closed": 0,
   "label": "TDS Computation Summary",
   "link_to": "TDS Computation Summary",
   "link_type": "Report",
   "show_arrow": 0,
   "type": "Link"
  },
  {
   "child": 1,
   "collapsible": 1,
+  "icon": "file-spreadsheet",
   "indent": 0,
   "keep_closed": 0,
   "label": "Tax Withholding Details",
   "link_to": "Tax Withholding Details",
   "link_type": "Report",
   "show_arrow": 0,
   "type": "Link"
  }
📜 Review details

Configuration used: Path: .coderabbit.yml

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between d4702ac and de22130.

📒 Files selected for processing (49)
  • erpnext/accounts/dashboard_chart/bank_balance/bank_balance.json
  • erpnext/accounts/doctype/accounts_settings/accounts_settings.json
  • erpnext/accounts/doctype/currency_exchange_settings/currency_exchange_settings.json
  • erpnext/accounts/doctype/pos_settings/pos_settings.json
  • erpnext/accounts/doctype/repost_accounting_ledger_settings/repost_accounting_ledger_settings.json
  • erpnext/accounts/doctype/repost_accounting_ledger_settings/repost_accounting_ledger_settings.py
  • erpnext/accounts/doctype/subscription_settings/subscription_settings.json
  • erpnext/buying/doctype/buying_settings/buying_settings.json
  • erpnext/buying/workspace/buying/buying.json
  • erpnext/crm/doctype/appointment_booking_settings/appointment_booking_settings.json
  • erpnext/crm/doctype/appointment_booking_settings/appointment_booking_settings.py
  • erpnext/crm/doctype/crm_settings/crm_settings.json
  • erpnext/crm/workspace/crm/crm.json
  • erpnext/desktop_icon/banking.json
  • erpnext/desktop_icon/settings.json
  • erpnext/desktop_icon/taxes.json
  • erpnext/manufacturing/doctype/manufacturing_settings/manufacturing_settings.json
  • erpnext/manufacturing/workspace/manufacturing/manufacturing.json
  • erpnext/projects/doctype/projects_settings/projects_settings.json
  • erpnext/projects/workspace/projects/projects.json
  • erpnext/quality_management/workspace/quality/quality.json
  • erpnext/selling/doctype/selling_settings/selling_settings.json
  • erpnext/selling/workspace/selling/selling.json
  • erpnext/setup/doctype/global_defaults/global_defaults.json
  • erpnext/stock/doctype/delivery_settings/delivery_settings.json
  • erpnext/stock/doctype/item_variant_settings/item_variant_settings.json
  • erpnext/stock/doctype/stock_reposting_settings/stock_reposting_settings.json
  • erpnext/stock/doctype/stock_settings/stock_settings.json
  • erpnext/stock/workspace/stock/stock.json
  • erpnext/support/doctype/support_settings/support_settings.json
  • erpnext/support/doctype/support_settings/support_settings.py
  • erpnext/support/workspace/support/support.json
  • erpnext/workspace_sidebar/accounting.json
  • erpnext/workspace_sidebar/assets.json
  • erpnext/workspace_sidebar/banking.json
  • erpnext/workspace_sidebar/budget.json
  • erpnext/workspace_sidebar/buying.json
  • erpnext/workspace_sidebar/crm.json
  • erpnext/workspace_sidebar/financial_reports.json
  • erpnext/workspace_sidebar/manufacturing.json
  • erpnext/workspace_sidebar/projects.json
  • erpnext/workspace_sidebar/quality.json
  • erpnext/workspace_sidebar/selling.json
  • erpnext/workspace_sidebar/settings.json
  • erpnext/workspace_sidebar/share_management.json
  • erpnext/workspace_sidebar/stock.json
  • erpnext/workspace_sidebar/subcontracting.json
  • erpnext/workspace_sidebar/support.json
  • erpnext/workspace_sidebar/taxes.json
🧰 Additional context used
🧠 Learnings (3)
📚 Learning: 2025-10-17T14:11:06.959Z
Learnt from: sagarvora
Repo: frappe/erpnext PR: 50155
File: erpnext/controllers/accounts_controller.py:2992-3005
Timestamp: 2025-10-17T14:11:06.959Z
Learning: In ERPNext, item child doctypes (like "Sales Invoice Item", "Delivery Note Item", etc.) have exactly one non-custom Link field that references their parent transaction doctype (like "Sales Order", "Purchase Order", etc.). This is a schema design pattern that can be relied upon when determining reference fields for mapping logic.

Applied to files:

  • erpnext/workspace_sidebar/financial_reports.json
  • erpnext/workspace_sidebar/manufacturing.json
  • erpnext/workspace_sidebar/assets.json
  • erpnext/workspace_sidebar/stock.json
  • erpnext/workspace_sidebar/selling.json
  • erpnext/workspace_sidebar/support.json
  • erpnext/workspace_sidebar/subcontracting.json
  • erpnext/workspace_sidebar/taxes.json
  • erpnext/workspace_sidebar/banking.json
  • erpnext/workspace_sidebar/buying.json
  • erpnext/workspace_sidebar/accounting.json
📚 Learning: 2025-12-16T05:33:58.723Z
Learnt from: Abdeali099
Repo: frappe/erpnext PR: 51078
File: erpnext/accounts/doctype/financial_report_template/financial_report_engine.py:486-491
Timestamp: 2025-12-16T05:33:58.723Z
Learning: In ERPNext/Frappe codebase, query.run(as_dict=True) returns frappe._dict objects that support both dict-style access (obj["key"]) and attribute-style access (obj.key). Therefore, attribute access on query results is valid and will not raise AttributeError. When reviewing Python code, prefer attribute access (obj.key) for readability where the key is known to exist, but ensure existence checks or fallback handling if there is any doubt about missing keys.

Applied to files:

  • erpnext/support/doctype/support_settings/support_settings.py
  • erpnext/accounts/doctype/repost_accounting_ledger_settings/repost_accounting_ledger_settings.py
  • erpnext/crm/doctype/appointment_booking_settings/appointment_booking_settings.py
📚 Learning: 2025-11-05T16:19:19.510Z
Learnt from: alexleach
Repo: frappe/erpnext PR: 50373
File: erpnext/regional/united_kingdom/setup.py:28-31
Timestamp: 2025-11-05T16:19:19.510Z
Learning: In ERPNext's setup wizard flow, `update_regional_tax_settings` is called from `setup_taxes_and_charges` in `erpnext/setup/setup_wizard/operations/taxes_setup.py` only after `from_detailed_data()` has created all tax templates from `country_wise_tax.json`, guaranteeing that templates exist when regional tax rules are created.

Applied to files:

  • erpnext/workspace_sidebar/taxes.json
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (6)
  • GitHub Check: Patch Test
  • GitHub Check: Python Unit Tests (4)
  • GitHub Check: Python Unit Tests (3)
  • GitHub Check: Python Unit Tests (1)
  • GitHub Check: Python Unit Tests (2)
  • GitHub Check: Summary
🔇 Additional comments (72)
erpnext/workspace_sidebar/assets.json (2)

45-56: Inconsistency between AI summary and code changes.

The AI summary states that the "Depreciation Schedule" entry was removed from the Assets workspace sidebar, yet this entry remains present in the code at lines 45-56 without any modification markers. Please verify whether this entry should have been removed as part of this workspace cleanup.


261-261: LGTM!

The timestamp update reflects the modification date and is standard metadata maintenance for workspace configuration files.

erpnext/accounts/doctype/subscription_settings/subscription_settings.json (3)

33-34: Verify applicability of UI settings to single DocType.

The grid_page_length setting controls pagination in list/grid views, but this is a single DocType (issingle: 1) which only has one instance and no list view. This setting will have no effect here.

Similarly, hide_toolbar removes the toolbar from the form. For a settings DocType, verify this is intentional and doesn't remove necessary functionality (menu access, print options, etc.).

These settings may have been applied as part of a broader template rollout that's better suited for regular DocTypes rather than singleton settings.


37-37: Modified timestamp update is expected.

The timestamp update reflects the recent configuration changes and is automatically managed by the framework.


75-75: Verify necessity of row_format setting.

The row_format: "Dynamic" setting is typically used to control the display format of rows in child tables. This DocType contains only simple fields (Int and Check types) with no child tables, so this setting appears unnecessary and will have no effect.

Consider removing this setting or verify if child tables are planned to be added in future changes.

erpnext/workspace_sidebar/share_management.json (2)

60-60: Proper module categorization added.

The addition of the "Accounts" module field provides correct categorization for Share Management functionality, as share-related operations are accounting domain concepts.


12-12: Icon additions enhance sidebar navigation with established UI elements.

The icon names ("customer", "move-horizontal", "list", "notepad-text") are already established in other ERPNext workspace sidebar configurations (support.json, subcontracting.json), confirming their validity in the framework.

erpnext/workspace_sidebar/financial_reports.json (1)

275-275: LGTM!

The modified timestamp has been appropriately updated to reflect the current changes.

erpnext/workspace_sidebar/quality.json (8)

24-31: LGTM!

The icon, label, and link target are consistent and properly configured for the Quality Inspection DocType.


36-43: LGTM!

The icon, label, and link target are consistent and properly configured for the Quality Goal DocType.


94-103: Verify the hierarchy change for Quality Meeting.

The child property is set to 0, which makes this a top-level sidebar item rather than a child item under a section. Based on its position in the structure (before the Setup section break at line 108), this appears to promote Quality Meeting to the main navigation level.

Please confirm this hierarchy change aligns with the intended workspace structure for the Quality module.


108-114: LGTM!

The Setup section break is properly configured with the "database" icon and appropriate hierarchy settings (indent: 1, keep_closed: 1).


121-125: LGTM!

The Quality Procedure link is properly configured as a child item under the Setup section.


154-158: LGTM!

The Quality Inspection Template link is properly configured with consistent label and target.


161-161: LGTM!

The modified timestamp update is routine metadata maintenance.


132-136: The "Tree of Procedures" configuration is correct as-is.

The Quality Procedure DocType is properly configured as a tree DocType with is_tree: 1 and nsm_parent_field: "parent_quality_procedure". When accessing a tree DocType via link_type: "DocType" in Frappe/ERPNext workspace sidebars, the tree view is automatically rendered. No additional route configuration or view parameters are needed.

Likely an incorrect or invalid review comment.

erpnext/support/doctype/support_settings/support_settings.json (2)

160-160: LGTM: Timestamp update and JSON structure.

The modified timestamp has been appropriately updated to reflect the changes, and the JSON structure is well-formed with proper syntax.

Also applies to: 183-183


156-157: No action required. The grid_page_length and hide_toolbar fields are valid Frappe DocType metadata fields used throughout the codebase. hide_toolbar is a standard pattern applied to multiple settings DocTypes (stock_settings, selling_settings, manufacturing_settings, etc.), and grid_page_length is a general pagination configuration used across diverse DocType types. These additions are consistent with established conventions in the codebase.

Likely an incorrect or invalid review comment.

erpnext/workspace_sidebar/buying.json (2)

304-347: New report entries enhance the Buying workspace navigation.

The addition of Purchase Order Trends, Procurement Tracker, Supplier-Wise Sales Analytics, and Supplier Quotation Comparison reports provides valuable analytics capabilities. All four reports are properly configured with correct link types and are accessible in the workspace sidebar.


104-215: Setup section structure is well-organized and correct.

All child links maintain consistent formatting with proper indent levels, collapsible states, and DocType references. The referenced DocTypes are all valid—both from erpnext (Supplier, Supplier Group, Item, Price List, Supplier Scorecard variants) and frappe core (Address, Contact).

erpnext/workspace_sidebar/support.json (5)

27-31: LGTM: Label now matches DocType name.

The label change from "Issues" to "Issue" improves consistency by matching the actual DocType name.


36-56: LGTM: Maintenance items reorganized with appropriate icons.

The reorganization of "Maintenance Schedule" and "Maintenance Visit" items appears deliberate, with intuitive icon assignments (calendar-days for schedules, calendar-check-2 for visits).


85-100: LGTM: Configuration items appropriately placed under Setup section.

The reorganization places "Issue Type" and "Issue Priority" under the Setup section, which appropriately groups these configuration/master data items together.


58-68: No changes required. The child: 0 field value for "Warranty Claim" is correct and consistent with the sidebar hierarchy pattern used across all workspace sidebars in ERPNext. All top-level items (Home, Issue, Maintenance Schedule, Maintenance Visit, Warranty Claim) use child: 0 with indent: 0, while items nested under section breaks (Issue Type, Issue Priority, Service Level Agreement under Setup) correctly use child: 1. This structural pattern is consistent across selling.json, stock.json, and other workspace sidebar files.

Likely an incorrect or invalid review comment.


72-79: No action needed—icon choice is consistent with ERPNext standards.

The "database" icon is the standard choice for "Setup" sections across ERPNext workspaces (used in 13+ workspaces). The "settings" icon is reserved for sections specifically labeled "Settings". The label rename from "Maintenance" to "Setup" with the corresponding icon change to "database" is correct and follows established conventions.

erpnext/workspace_sidebar/taxes.json (1)

93-103: No issues found. All three newly added navigation items are properly defined in the ERPNext codebase:

  • Tax Withholding Group DocType exists at erpnext/accounts/doctype/tax_withholding_group/
  • TDS Computation Summary Report exists at erpnext/accounts/report/tds_computation_summary/
  • Tax Withholding Details Report exists at erpnext/accounts/report/tax_withholding_details/

Navigation links in the workspace sidebar are valid.

erpnext/desktop_icon/taxes.json (1)

13-13: LGTM: Metadata synchronization.

The timestamp update aligns with the broader PR pattern of metadata synchronization across ERPNext modules.

erpnext/accounts/doctype/accounts_settings/accounts_settings.json (1)

655-655: LGTM: Consistent UI configuration update.

The addition of hide_toolbar: 1 and timestamp update are consistent with the systematic UI chrome standardization across settings DocTypes observed throughout this PR.

Also applies to: 661-661

erpnext/crm/doctype/appointment_booking_settings/appointment_booking_settings.py (1)

20-20: LGTM: Import formatting improvement.

The import statement has been consolidated to a single line, which is more concise while maintaining clarity. Since this is within a TYPE_CHECKING block, there's no runtime impact—only improved code formatting.

erpnext/manufacturing/doctype/manufacturing_settings/manufacturing_settings.json (1)

242-242: LGTM: UI configuration update.

The addition of hide_toolbar: 1 and timestamp update are consistent with the systematic UI chrome standardization pattern observed across multiple settings DocTypes in this PR.

Also applies to: 247-247

erpnext/stock/doctype/stock_settings/stock_settings.json (1)

551-551: LGTM: UI configuration update.

The addition of hide_toolbar: 1 aligns with the broader pattern of standardizing UI chrome across settings and utility DocTypes. This property is widely established throughout the codebase, appearing in 40+ DocType definitions across stock, selling, manufacturing, accounts, and other modules. The change follows the standard convention used in similar settings DocTypes like selling_settings, manufacturing_settings, and accounts_settings.

erpnext/stock/doctype/stock_reposting_settings/stock_reposting_settings.json (1)

85-85: LGTM! Toolbar visibility configuration added.

The addition of hide_toolbar: 1 is consistent with the PR's objective to standardize UI chrome across settings DocTypes. The timestamp update reflects the modification.

Also applies to: 89-89

erpnext/accounts/doctype/pos_settings/pos_settings.json (1)

39-39: LGTM! Consistent toolbar configuration update.

The hide_toolbar field addition aligns with the workspace cleanup effort across the codebase.

Also applies to: 42-42

erpnext/buying/doctype/buying_settings/buying_settings.json (1)

285-285: LGTM! Toolbar configuration standardized.

Consistent with the PR-wide effort to add toolbar visibility controls across settings DocTypes.

Also applies to: 291-291

erpnext/accounts/doctype/repost_accounting_ledger_settings/repost_accounting_ledger_settings.py (1)

26-26: LGTM! Formatting improvement.

The additional blank line improves readability by visually separating the auto-generated types block from the implementation code.

erpnext/support/doctype/support_settings/support_settings.py (1)

17-17: LGTM! Import formatting simplified.

The single-line import is cleaner and functionally equivalent. Since this is within the TYPE_CHECKING block, it has no runtime impact.

erpnext/accounts/doctype/currency_exchange_settings/currency_exchange_settings.json (1)

104-104: LGTM! Consistent UI configuration update.

The addition of hide_toolbar aligns with the workspace cleanup objectives and is consistent with similar updates across other DocTypes in this PR.

Also applies to: 108-108

erpnext/stock/doctype/delivery_settings/delivery_settings.json (1)

52-53: LGTM! Consistent UI configuration pattern.

The additions of grid_page_length, hide_toolbar, and row_format mirror the pattern applied to other settings DocTypes in this PR and align with the workspace cleanup objectives.

Also applies to: 56-56, 74-74

erpnext/workspace_sidebar/manufacturing.json (1)

335-346: Confirmed: No duplicate Item links in the workspace.

Verification shows only one Item link exists in the manufacturing workspace sidebar. The addition at lines 335-346 does not create any redundant entries. The change is safe and aligns with the intended restructuring mentioned in the summary.

erpnext/accounts/doctype/repost_accounting_ledger_settings/repost_accounting_ledger_settings.json (1)

17-18: UI configuration settings are valid.

The additions (grid_page_length: 50, hide_toolbar: 1, row_format: "Dynamic") are correctly configured. The "Dynamic" row format is a standard Frappe option used consistently across the codebase.

erpnext/desktop_icon/banking.json (1)

11-12: The Banking workspace exists and provides access to Bank Clearance.

The desktop icon now correctly navigates to the Banking workspace instead of directly to the Bank Clearance DocType. The Banking workspace includes Bank Clearance in its items (link_to: "Bank Clearance", link_type: "DocType"), ensuring users can still access the functionality. This aligns with the workspace pattern used throughout the codebase.

erpnext/stock/doctype/item_variant_settings/item_variant_settings.json (1)

52-52: LGTM - Consistent metadata additions.

The addition of hide_toolbar and row_format fields aligns with the workspace cleanup effort across the PR.

Also applies to: 81-81

erpnext/crm/doctype/crm_settings/crm_settings.json (1)

103-104: LGTM - Consistent with workspace cleanup.

The UI configuration fields added here match the pattern across other DocTypes in this PR.

Also applies to: 145-145

erpnext/setup/doctype/global_defaults/global_defaults.json (1)

85-86: LGTM - Metadata updates for Global Defaults.

The UI customization fields are applied consistently to this system-level DocType without affecting its functional configuration.

Also applies to: 107-107

erpnext/workspace_sidebar/crm.json (2)

15-15: Label change from "Dashboard" to "Home" is intentional and safe.

The label change to "Home" for the CRM workspace item is a deliberate design choice that differentiates CRM from other workspaces (Stock, Selling, Projects, Manufacturing, Buying, Assets, Accounting) which consistently use "Dashboard" as their label. The navigation target remains unchanged (link_to: "CRM"), and no hardcoded references or conflicts exist in the codebase.


60-60: No action required—"sheet" is a valid icon name in the Frappe icon library.

The "sheet" icon is a valid Lucide icon used throughout the Frappe framework and is correctly applied here alongside similar icon changes across other workspace sidebar files.

Likely an incorrect or invalid review comment.

erpnext/crm/doctype/appointment_booking_settings/appointment_booking_settings.json (1)

104-105: LGTM - Consistent UI configuration additions.

The addition of grid_page_length, hide_toolbar, and row_format fields are standard Frappe framework DocType metadata properties for UI customization, used consistently across 20+ DocTypes throughout the codebase in stock, manufacturing, support, and other modules. The configuration here follows the established pattern.

erpnext/selling/workspace/selling/selling.json (1)

9-9: LGTM! Workspace cleanup aligns with PR objectives.

The changes restructure the workspace content (moving "Reports & Masters" earlier) and clear the shortcuts array as part of the workspace cleanup effort. The timestamp update reflects these modifications.

Also applies to: 625-625, 650-650

erpnext/accounts/dashboard_chart/bank_balance/bank_balance.json (2)

19-20: New UI configuration fields added.

The roles field (empty array) and show_values_over_chart flag have been added. These appear to be UI enhancements for chart display and access control.


22-23: No compatibility concerns with this configuration change.

The time interval change from "Quarterly" to "Monthly" is supported by the Account Balance Timeline implementation, which explicitly handles Monthly aggregation (see get_dates_from_timegrain function). However, the timeseries value was already enabled (1) in the original setup template—it was not changed from 0 to 1. The configuration aligns with other similar dashboard charts in the codebase (Incoming Bills and Outgoing Bills) that use the same Monthly + timeseries:1 pattern.

erpnext/buying/workspace/buying/buying.json (1)

9-9: LGTM! Workspace cleanup consistent with PR objectives.

The changes mirror the pattern in other workspace files: content restructuring (moving "Reports & Masters" earlier) and clearing the shortcuts array. This aligns with the workspace cleanup effort described in the PR objectives.

Also applies to: 515-515, 540-540

erpnext/workspace_sidebar/subcontracting.json (1)

21-44: Both icon identifiers are valid and properly formatted.

The icons "folder-tree" and "move-horizontal" are both valid Lucide icons in kebab-case format (the standard for ERPNext workspace sidebar items). The "move-horizontal" icon is already used in existing workspace files (share_management.json, assets.json), confirming its validity. The "folder-tree" icon is a new addition but is a recognized Lucide icon. No action required.

erpnext/workspace_sidebar/budget.json (1)

24-24: Both icon names are valid. "badge-cent" and "sheet" are confirmed identifiers in the Lucide icon system used by ERPNext. "sheet" has established usage across multiple workspace sidebars; "badge-cent" is a valid Lucide icon, though newly applied here—testing in the UI is recommended to ensure proper rendering.

erpnext/workspace_sidebar/accounting.json (3)

236-257: LGTM!

The addition of "Repost Accounting Ledger" and "Repost Payment Ledger" links under the Payments section is well-structured and consistent with other link definitions in the file.


406-416: LGTM!

The addition of "Account Category" link under the Setup section is properly structured.


527-571: LGTM!

The Settings section has been properly restructured with a dedicated Section Break and appropriate links to "Accounts Settings", "Currency Exchange Settings", and "Repost Accounting Ledger Settings". The structure is consistent with other sections in the sidebar.

erpnext/support/workspace/support/support.json (1)

2-4: LGTM!

The workspace restructuring aligns with the PR's cleanup objectives. The content has been condensed to focus on core cards (Issues, Maintenance, Service Level Agreement, Warranty, Settings, Reports), and the shortcuts array has been intentionally emptied as part of the broader workspace simplification effort.

Also applies to: 175-190

erpnext/projects/workspace/projects/projects.json (1)

9-9: LGTM!

The workspace has been properly restructured with content focusing on key elements (charts, number cards, and essential report cards). The idx change from 0 to 1 and the emptying of shortcuts align with the broader workspace cleanup and reorganization effort across the PR.

Also applies to: 17-17, 196-196, 221-221

erpnext/stock/workspace/stock/stock.json (1)

9-9: LGTM!

The workspace restructuring follows the same cleanup pattern as other workspace files in the PR. The content has been streamlined to focus on essential elements (chart, number cards, and key report cards), idx has been updated for proper ordering, and shortcuts have been intentionally cleared.

Also applies to: 17-17, 792-792, 817-817

erpnext/manufacturing/workspace/manufacturing/manufacturing.json (1)

9-9: LGTM!

The workspace content has been appropriately restructured to maintain core functionality while removing redundant shortcut definitions. The changes are consistent with the broader workspace cleanup effort across the PR.

Also applies to: 446-446, 471-471

erpnext/workspace_sidebar/projects.json (1)

1-232: Workspace sidebar structure looks correct.

The Projects workspace sidebar has been reorganized with a logical structure: Home, Dashboard, main document types (Project, Task, Timesheet), a collapsible Setup section, a Reports section, and Settings. The child, indent, and keep_closed values are consistent throughout.

erpnext/workspace_sidebar/banking.json (1)

9-20: Workspace sidebar reorganization looks good.

The Home link, renamed "Reconciliation Statement", new Setup items (Bank Account Type, Bank Account Subtype, Bank Guarantee), and updated structure are well-organized. Empty icon strings are acceptable for child items under section breaks.

Also applies to: 45-56, 81-160

erpnext/workspace_sidebar/stock.json (1)

1-634: Comprehensive Stock workspace sidebar restructuring looks good.

The sidebar has been logically reorganized into clear sections:

  • Main document types (Stock Entry, Purchase Receipt, Delivery Note, Material Request, Pick List)
  • Tools section (Stock Reconciliation, Landed Cost Voucher, Repost Item Valuation, etc.)
  • Setup section (Item, Warehouse, UOM, Serial/Batch management, etc.)
  • Reports section (extensive list of stock-related reports)
  • Settings section (Stock Settings, Item Variant Settings, etc.)

The child, indent, and keep_closed values are consistent throughout the structure.

erpnext/crm/workspace/crm/crm.json (1)

2-9: CRM workspace simplified and streamlined.

The workspace has been updated with:

  • Chart renamed to "Won Opportunities" (more specific than previous "Territory Wise Sales")
  • Streamlined content layout with chart and three relevant number cards
  • Proper workspace metadata fields added
  • Empty shortcuts array (consistent with PR's cleanup approach)

The structure is valid and aligns with the broader workspace cleanup effort.

Also applies to: 231-259

erpnext/quality_management/workspace/quality/quality.json (1)

1-179: Quality workspace restructured with logical groupings.

The workspace has been reorganized into clear card sections:

  • Feedback (Quality Feedback, Quality Feedback Template)
  • Meeting (Quality Meeting)
  • Review and Action (Non Conformance, Quality Review, Quality Action)
  • Goal and Procedure (Quality Goal, Quality Procedure, Tree of Procedures, Quality Inspection)

The link_count: 4 on the "Goal and Procedure" Card Break correctly matches the 4 link items that follow it.

erpnext/desktop_icon/settings.json (1)

11-12: Verify intended navigation behavior for Settings icon.

The Settings desktop icon now links directly to the "Global Defaults" DocType instead of a "Settings" Workspace. This changes the user experience:

  • Before: Clicking Settings → navigated to a Settings Workspace (likely showing multiple settings categories)
  • After: Clicking Settings → navigates directly to Global Defaults form

This may be intentional for simplification, but users expecting a settings overview/workspace may be confused. Please confirm this is the desired behavior.

erpnext/selling/doctype/selling_settings/selling_settings.json (1)

294-294: Adding hide_toolbar: 1 for Selling Settings is appropriate.

For a singleton settings DocType (issingle: 1), hiding the toolbar provides a cleaner form interface. This is consistent with the UI simplification changes applied to other settings DocTypes in this PR.

erpnext/projects/doctype/projects_settings/projects_settings.json (1)

46-72: Configuration additions look appropriate for the cleanup effort.

The hide_toolbar: 1 setting is suitable for a Settings DocType to reduce UI clutter. Note that row_format: "Dynamic" typically applies to child table rendering, which may have no visible effect on this singleton DocType (issingle: 1), but it's harmless.

erpnext/workspace_sidebar/settings.json (2)

141-151: Verify the Section Break configuration for "Other Settings".

The Section Break has indent: 1 combined with child: 0, which appears inconsistent. Typically, Section Breaks that define a new collapsible group should have indent: 0 (or match the visual hierarchy intent). The child items below correctly use child: 1, but the parent Section Break's indent: 1 may cause unexpected rendering in the sidebar.

Please verify that this renders correctly in the UI with the intended collapsible behavior.


152-228: New settings entries under "Other Settings" look good.

The child entries for Subscription Settings, Item Variant Settings, Delivery Settings, Currency Exchange Settings, Appointment Booking Settings, Stock Reposting Settings, and Repost Accounting Ledger Settings are consistently structured and correctly marked as child: 1.

erpnext/workspace_sidebar/selling.json (2)

1-696: Overall restructuring of the Selling sidebar looks well-organized.

The addition of dedicated POS, Items & Pricing, Setup, and Reports sections improves navigation clarity. The child entries are consistently structured with appropriate child: 1 markers. The changes align with the PR's workspace cleanup objectives.


69-91: "point-of-sale" page reference is correct.

The POS link at line 87 correctly references the page name "point-of-sale" as defined in erpnext/selling/page/point_of_sale/point_of_sale.json. The Section Break uses indent: 1 with child: 0, and the nested Link uses indent: 0 with child: 1, which is the standard pattern for sidebar hierarchy in ERPNext.

@codecov
Copy link

codecov bot commented Jan 2, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 79.11%. Comparing base (87be020) to head (0df7fd8).
⚠️ Report is 15 commits behind head on develop.

Additional details and impacted files
@@           Coverage Diff            @@
##           develop   #51461   +/-   ##
========================================
  Coverage    79.10%   79.11%           
========================================
  Files         1179     1179           
  Lines       121522   121576   +54     
========================================
+ Hits         96129    96183   +54     
  Misses       25393    25393           
Files with missing lines Coverage Δ
...dger_settings/repost_accounting_ledger_settings.py 95.23% <ø> (ø)
...t_booking_settings/appointment_booking_settings.py 50.00% <ø> (ø)
...pport/doctype/support_settings/support_settings.py 0.00% <ø> (ø)

... and 6 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@nabinhait nabinhait force-pushed the workspace-cleanup-3 branch from de22130 to 0df7fd8 Compare January 8, 2026 09:17
@nabinhait nabinhait merged commit 10a3f61 into frappe:develop Jan 8, 2026
12 checks passed
@nabinhait nabinhait deleted the workspace-cleanup-3 branch January 8, 2026 09:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

needs-tests This PR needs automated unit-tests.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant