feat(setup): enable default settings checkboxes on wizard complete
Add set_default_settings() to the setup_wizard_complete hook so fresh installs get sane defaults after company creation: - Global Defaults.disable_rounded_total = 1 - Accounts Settings.delete_linked_ledger_entries = 1 Uses get_single().save() (not db.set_value) so each doctype's on_update/validate side effects run — disable_rounded_total in particular is read via frappe.db.get_default, only populated in on_update. Idempotent. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
41ebed0c79
commit
4e8a151851
|
|
@ -124,6 +124,7 @@ setup_wizard_complete = [
|
|||
"jey_erp.setup.setup_wizard_handler.create_default_salary_components",
|
||||
"jey_erp.setup.setup_wizard_handler.create_default_leave_types",
|
||||
"jey_erp.setup.setup_wizard_handler.create_default_company_accounts",
|
||||
"jey_erp.setup.setup_wizard_handler.set_default_settings",
|
||||
"jey_erp.custom.rename_default_groups.rename_default_groups",
|
||||
]
|
||||
|
||||
|
|
|
|||
|
|
@ -269,6 +269,28 @@ def create_default_company_accounts(args):
|
|||
frappe.db.commit()
|
||||
|
||||
|
||||
def set_default_settings(args=None):
|
||||
"""Дефолтные галочки настроек после завершения визарда.
|
||||
|
||||
Идём через get_single().save(), а НЕ db.set_value: у этих настроек есть
|
||||
побочные действия в on_update/validate, без которых галочка не "сработает".
|
||||
Идемпотентно — если уже включено, не трогаем.
|
||||
"""
|
||||
# Global Defaults.disable_rounded_total читается через frappe.db.get_default,
|
||||
# который заполняется только в on_update (set_default + clear_cache).
|
||||
gd = frappe.get_single("Global Defaults")
|
||||
if not gd.disable_rounded_total:
|
||||
gd.disable_rounded_total = 1
|
||||
gd.save(ignore_permissions=True)
|
||||
|
||||
acc = frappe.get_single("Accounts Settings")
|
||||
if not acc.delete_linked_ledger_entries:
|
||||
acc.delete_linked_ledger_entries = 1
|
||||
acc.save(ignore_permissions=True)
|
||||
|
||||
frappe.db.commit()
|
||||
|
||||
|
||||
def sync_company_defaults():
|
||||
"""Синхронизирует default-счета на ВСЕХ Company с default_data/company_defaults.json.
|
||||
Для каждого поля из JSON ищет Account по account_number в каждой компании
|
||||
|
|
|
|||
Loading…
Reference in New Issue