From 9e75aa3b73db6046a0442a0950a5900cfc582a90 Mon Sep 17 00:00:00 2001 From: meichthys Date: Fri, 7 Nov 2025 06:10:14 +0000 Subject: [PATCH] rename verse when edited --- .../church_bible_verse/church_bible_verse.py | 26 ++++++++++--------- 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/church/church_study/doctype/church_bible_verse/church_bible_verse.py b/church/church_study/doctype/church_bible_verse/church_bible_verse.py index f22417d..992939d 100644 --- a/church/church_study/doctype/church_bible_verse/church_bible_verse.py +++ b/church/church_study/doctype/church_bible_verse/church_bible_verse.py @@ -8,17 +8,19 @@ from frappe.model.document import Document class ChurchBibleVerse(Document): pass - @frappe.whitelist() - def rename_verse(self): - """ - Rename Church Bible Verse document to 'Book Chapter:Verse'. - Returns the new name. - """ - doc = frappe.get_doc("Church Bible Verse", self.name) - new_name = f"{doc.book} {doc.chapter}:{doc.verse}" + def autoname(self): + name = self.get_name() + if not frappe.db.exists("Church Bible Verse", self.name): + self.name = name + return + else: + if self.name != self.get_name(): + frappe.rename_doc("Church Bible Verse", self.name, name) - # Only rename if different - if doc.name != new_name: - frappe.rename_doc("Church Bible Verse", doc.name, new_name) + def get_name(self): + """Constructs the document name""" + return f"{self.book} {self.chapter}:{self.verse}" - return new_name + def on_update(self): + # Rename document when updating + self.autoname()