auto rename reference document when updated

This commit is contained in:
meichthys 2025-11-07 04:56:04 +00:00
parent c19663b31e
commit 289a3f75a7

View File

@ -1,9 +1,35 @@
# Copyright (c) 2025, meichthys and contributors
# For license information, please see license.txt
# import frappe
import frappe
from frappe.model.document import Document
class ChurchBibleReference(Document):
pass
def autoname(self):
name = self.get_name()
if not frappe.db.exists("Church Bible Reference", self.name):
self.name = name
return
else:
if self.name != self.get_name():
frappe.rename_doc("Church Bible Reference", self.name, name)
def get_name(self):
"""Constructs the document name"""
if self.start_verse and self.end_verse:
ref = f"{self.start_verse} - {self.end_verse}"
elif self.start_verse:
ref = f"{self.start_verse}"
else:
frappe.throw("A start verse is required to name the reference")
if self.translation:
return f"{ref} ({self.translation})"
else:
return ref
def on_update(self):
# Rename document when updating
self.autoname()