Parcourir la source

Merge pull request #16829 from ankush/deferred_insert_fix

fix: handle dict data in deferred_insert
version-14
Ankush Menat il y a 3 ans
committed by GitHub
Parent
révision
92fcc7c466
Aucune clé connue n'a été trouvée dans la base pour cette signature ID de la clé GPG: 4AEE18F83AFDEB23
2 fichiers modifiés avec 13 ajouts et 3 suppressions
  1. +1
    -3
      frappe/deferred_insert.py
  2. +12
    -0
      frappe/tests/test_deferred_insert.py

+ 1
- 3
frappe/deferred_insert.py Voir le fichier

@@ -42,12 +42,10 @@ def save_to_db():
record_count += 1 record_count += 1
insert_record(record, doctype) insert_record(record, doctype)


frappe.db.commit()



def insert_record(record: Union[Dict, "Document"], doctype: str): def insert_record(record: Union[Dict, "Document"], doctype: str):
setattr(record, "doctype", doctype)
try: try:
record.update({"doctype": doctype})
frappe.get_doc(record).insert() frappe.get_doc(record).insert()
except Exception as e: except Exception as e:
frappe.logger().error(f"Error while inserting deferred {doctype} record: {e}") frappe.logger().error(f"Error while inserting deferred {doctype} record: {e}")


+ 12
- 0
frappe/tests/test_deferred_insert.py Voir le fichier

@@ -0,0 +1,12 @@
import frappe
from frappe.deferred_insert import deferred_insert, save_to_db
from frappe.tests.utils import FrappeTestCase


class TestDeferredInsert(FrappeTestCase):
def test_deferred_insert(self):
route_history = {"route": frappe.generate_hash(), "user": "Administrator"}
deferred_insert("Route History", [route_history])

save_to_db()
self.assertTrue(frappe.db.exists("Route History", route_history))

Chargement…
Annuler
Enregistrer