Przeglądaj źródła

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
version-14
Sagar Vora 2 lat temu
committed by GitHub
rodzic
commit
85a3837b14
Nie znaleziono w bazie danych klucza dla tego podpisu ID klucza GPG: 4AEE18F83AFDEB23
4 zmienionych plików z 44 dodań i 6 usunięć
  1. +9
    -6
      frappe/core/doctype/system_settings/system_settings.py
  2. +1
    -0
      frappe/patches.txt
  3. +1
    -0
      frappe/patches/v13_0/encrypt_2fa_secrets.py
  4. +33
    -0
      frappe/patches/v13_0/reset_corrupt_defaults.py

+ 9
- 6
frappe/core/doctype/system_settings/system_settings.py Wyświetl plik

@@ -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(


+ 1
- 0
frappe/patches.txt Wyświetl plik

@@ -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


+ 1
- 0
frappe/patches/v13_0/encrypt_2fa_secrets.py Wyświetl plik

@@ -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
- 0
frappe/patches/v13_0/reset_corrupt_defaults.py Wyświetl plik

@@ -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

Ładowanie…
Anuluj
Zapisz