fix: ensure 2FA patch sets parent only for 2FA keys (#17575)
* fix: ensure 2FA patch sets parent only for 2FA keys * fix: try to rebuild defaults * fix: set other app defaults as well * fix: set POS profile defaults * fix: exists params * chore: remove unnecessary change * fix: handle case where POS Profile doesnt exist * chore: move erpnext code to erpnext
This commit is contained in:
parent
b42e3b7a6b
commit
85a3837b14
4 changed files with 44 additions and 6 deletions
|
|
@ -44,12 +44,7 @@ class SystemSettings(Document):
|
|||
frappe.flags.update_last_reset_password_date = True
|
||||
|
||||
def on_update(self):
|
||||
for df in self.meta.get("fields"):
|
||||
if df.fieldtype not in no_value_fields and self.has_value_changed(df.fieldname):
|
||||
frappe.db.set_default(df.fieldname, self.get(df.fieldname))
|
||||
|
||||
if self.language:
|
||||
set_default_language(self.language)
|
||||
self.set_defaults()
|
||||
|
||||
frappe.cache().delete_value("system_settings")
|
||||
frappe.cache().delete_value("time_zone")
|
||||
|
|
@ -57,6 +52,14 @@ class SystemSettings(Document):
|
|||
if frappe.flags.update_last_reset_password_date:
|
||||
update_last_reset_password_date()
|
||||
|
||||
def set_defaults(self):
|
||||
for df in self.meta.get("fields"):
|
||||
if df.fieldtype not in no_value_fields and self.has_value_changed(df.fieldname):
|
||||
frappe.db.set_default(df.fieldname, self.get(df.fieldname))
|
||||
|
||||
if self.language:
|
||||
set_default_language(self.language)
|
||||
|
||||
|
||||
def update_last_reset_password_date():
|
||||
frappe.db.sql(
|
||||
|
|
|
|||
|
|
@ -184,6 +184,7 @@ frappe.patches.v13_0.jinja_hook
|
|||
frappe.patches.v13_0.update_notification_channel_if_empty
|
||||
frappe.patches.v13_0.set_first_day_of_the_week
|
||||
frappe.patches.v13_0.encrypt_2fa_secrets
|
||||
frappe.patches.v13_0.reset_corrupt_defaults
|
||||
execute:frappe.reload_doc('custom', 'doctype', 'custom_field')
|
||||
frappe.patches.v14_0.update_workspace2 # 20.09.2021
|
||||
frappe.patches.v14_0.save_ratings_in_fraction #23-12-2021
|
||||
|
|
|
|||
|
|
@ -39,6 +39,7 @@ def execute():
|
|||
.set(table.parent, PARENT_FOR_DEFAULTS)
|
||||
.set(table.defvalue, defvalue_cases)
|
||||
.where(table.parent == OLD_PARENT)
|
||||
.where(table.defkey.like("%_otpsecret"))
|
||||
).run()
|
||||
|
||||
clear_defaults_cache()
|
||||
|
|
|
|||
33
frappe/patches/v13_0/reset_corrupt_defaults.py
Normal file
33
frappe/patches/v13_0/reset_corrupt_defaults.py
Normal file
|
|
@ -0,0 +1,33 @@
|
|||
import frappe
|
||||
from frappe.patches.v13_0.encrypt_2fa_secrets import DOCTYPE
|
||||
from frappe.patches.v13_0.encrypt_2fa_secrets import PARENT_FOR_DEFAULTS as TWOFACTOR_PARENT
|
||||
from frappe.utils import cint
|
||||
|
||||
|
||||
def execute():
|
||||
"""
|
||||
This patch is needed to fix parent incorrectly set as `__2fa` because of
|
||||
https://github.com/frappe/frappe/commit/a822092211533ff17ff9b92dd86f6f868ed63e2e
|
||||
"""
|
||||
|
||||
if not frappe.db.get_value(
|
||||
DOCTYPE, {"parent": TWOFACTOR_PARENT, "defkey": ("not like", "%_otp%")}, "defkey"
|
||||
):
|
||||
return
|
||||
|
||||
# system settings
|
||||
system_settings = frappe.get_single("System Settings")
|
||||
system_settings.set_defaults()
|
||||
|
||||
# home page
|
||||
frappe.db.set_default(
|
||||
"desktop:home_page", "workspace" if cint(system_settings.setup_complete) else "setup-wizard"
|
||||
)
|
||||
|
||||
# letter head
|
||||
try:
|
||||
letter_head = frappe.get_doc("Letter Head", {"is_default": 1})
|
||||
letter_head.set_as_default()
|
||||
|
||||
except frappe.DoesNotExistError:
|
||||
pass
|
||||
Loading…
Add table
Reference in a new issue