Skip to content

feat: Localization form#2

Merged
Abdeali099 merged 41 commits into
developfrom
phase-1-skeleton
Jan 16, 2026
Merged

feat: Localization form#2
Abdeali099 merged 41 commits into
developfrom
phase-1-skeleton

Conversation

@Abdeali099

@Abdeali099 Abdeali099 commented Jan 14, 2026

Copy link
Copy Markdown
Member

Summary by CodeRabbit

  • New Features
    • Added ERPNext Localization management interface for creating and tracking localization projects
    • Added Localization Application web form to submit localization requests
    • Added Frappe Partner management system for partner tracking
    • Added localization workspace with shortcuts to key features
    • Added role-based access control with new localization roles

✏️ Tip: You can customize this high-level summary in your review settings.

@coderabbitai

coderabbitai Bot commented Jan 14, 2026

Copy link
Copy Markdown

Caution

Review failed

The pull request is closed.

📝 Walkthrough

Walkthrough

This PR introduces a comprehensive localization management system module consisting of new doctypes (ERPNext Localization, Frappe Partner), a web form for localization applications, configuration constants for roles and module profiles, installation setup utilities, and supporting templates and workspace configuration for managing localization data and user access.

Changes

Cohort / File(s) Summary
Constants & Configuration
localization_management_system/constants/__init__.py, localization_management_system/constants/module_profiles.py, localization_management_system/constants/role_profiles.py, localization_management_system/constants/roles.py
Introduces MODULE_PROFILES, ROLE_PROFILES, and ROLES constants; defines Localization Developer profile with associated modules and roles; establishes three role types (Developer, Enabler, Reviewer) with desk access levels
Installation & Setup
localization_management_system/install.py
Adds three helper functions (create_roles, create_role_profiles, create_module_profiles) to scaffold roles, role profiles, and module profiles during installation; imports new profile/role constants
ERPNext Localization DocType
localization_management_system/localization_management_system/doctype/erpnext_localization/erpnext_localization.json, erpnext_localization.py, erpnext_localization.js, test_erpnext_localization.py
Defines ERPNext Localization doctype with comprehensive field structure including country, progress tracking, repository details, terms acceptance; implements validation, helper utilities (get_country_flag, get_progress_pill_color, get_localizations_list), and list context enrichment
ERPNext Localization Templates
localization_management_system/localization_management_system/doctype/erpnext_localization/templates/erpnext_localization.html, erpnext_localization_row.html, erpnext_localization_list.js
Provides HTML templates for detailed localization view and list-item card rendering with conditional country badge, progress indicator, and call-to-action; configures list view to hide name column/filter
Frappe Partner DocType
localization_management_system/localization_management_system/doctype/frappe_partner/frappe_partner.json, frappe_partner.py, frappe_partner.js, test_frappe_partner.py
Introduces Frappe Partner doctype with fields for partner_name, email, website; includes type hints for ORM fields and placeholder test scaffolding
Localization Application WebForm
localization_management_system/localization_management_system/web_form/localization_application/localization_application.json, localization_application.py, localization_application.js
Defines web form with comprehensive fields (title, country, applicable_for, terms acceptance); implements client-side validation for terms and conditions acceptance; includes context getter placeholder
Workspace & Module Configuration
localization_management_system/localization_management_system/workspace/localization/localization.json, localization_management_system/hooks.py
Adds new Localization workspace with shortcuts to localizations list and partner/application forms; exports Python type annotations flag and Jinja methods for template rendering (get_country_flag, get_progress_pill_color)

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~35 minutes

Poem

🐰 Roles and profiles, all arranged with care,
Localizations sprouting everywhere!
Forms and templates dance in the glow,
Watch this garden of systems grow!
Thump-thump! 🥕



📜 Recent review details

Configuration used: defaults

Review profile: CHILL

Plan: Free

📥 Commits

Reviewing files that changed from the base of the PR and between eed5f78 and 6053659.

📒 Files selected for processing (26)
  • localization_management_system/constants/__init__.py
  • localization_management_system/constants/module_profiles.py
  • localization_management_system/constants/role_profiles.py
  • localization_management_system/constants/roles.py
  • localization_management_system/hooks.py
  • localization_management_system/install.py
  • localization_management_system/localization_management_system/doctype/__init__.py
  • localization_management_system/localization_management_system/doctype/erpnext_localization/__init__.py
  • localization_management_system/localization_management_system/doctype/erpnext_localization/erpnext_localization.js
  • localization_management_system/localization_management_system/doctype/erpnext_localization/erpnext_localization.json
  • localization_management_system/localization_management_system/doctype/erpnext_localization/erpnext_localization.py
  • localization_management_system/localization_management_system/doctype/erpnext_localization/erpnext_localization_list.js
  • localization_management_system/localization_management_system/doctype/erpnext_localization/templates/erpnext_localization.html
  • localization_management_system/localization_management_system/doctype/erpnext_localization/templates/erpnext_localization_row.html
  • localization_management_system/localization_management_system/doctype/erpnext_localization/test_erpnext_localization.py
  • localization_management_system/localization_management_system/doctype/frappe_partner/__init__.py
  • localization_management_system/localization_management_system/doctype/frappe_partner/frappe_partner.js
  • localization_management_system/localization_management_system/doctype/frappe_partner/frappe_partner.json
  • localization_management_system/localization_management_system/doctype/frappe_partner/frappe_partner.py
  • localization_management_system/localization_management_system/doctype/frappe_partner/test_frappe_partner.py
  • localization_management_system/localization_management_system/web_form/__init__.py
  • localization_management_system/localization_management_system/web_form/localization_application/__init__.py
  • localization_management_system/localization_management_system/web_form/localization_application/localization_application.js
  • localization_management_system/localization_management_system/web_form/localization_application/localization_application.json
  • localization_management_system/localization_management_system/web_form/localization_application/localization_application.py
  • localization_management_system/localization_management_system/workspace/localization/localization.json

✏️ Tip: You can disable this entire section by setting review_details to false in your review settings.


Note

🎁 Summarized by CodeRabbit Free

Your organization is on the Free plan. CodeRabbit will generate a high-level summary and a walkthrough for each pull request. For a comprehensive line-by-line review, please upgrade your subscription to CodeRabbit Pro by visiting https://app.coderabbit.ai/login.

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

@Abdeali099
Abdeali099 marked this pull request as ready for review January 16, 2026 11:44
@Abdeali099
Abdeali099 merged commit 003ff61 into develop Jan 16, 2026
2 of 3 checks passed
@Abdeali099
Abdeali099 deleted the phase-1-skeleton branch January 20, 2026 13:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant