diff --git a/frappe/model/naming.py b/frappe/model/naming.py index 35d56866af..48b551f209 100644 --- a/frappe/model/naming.py +++ b/frappe/model/naming.py @@ -40,12 +40,13 @@ def set_new_name(doc): doc.name = make_autoname(doc.naming_series+'.#####') # call the method! - elif autoname!='Prompt': - doc.name = make_autoname(autoname, doc.doctype) + elif autoname=='Prompt': + # set from __newname in save.py + if not doc.name: + frappe.throw(frappe._("Name not set via Prompt")) - # given - elif doc.get('__newname', None): - doc.name = doc.get('__newname') + else: + doc.name = make_autoname(autoname, doc.doctype) # default name for table elif doc.meta.istable: diff --git a/frappe/widgets/form/save.py b/frappe/widgets/form/save.py index 3f35fd1f1d..09b4d34199 100644 --- a/frappe/widgets/form/save.py +++ b/frappe/widgets/form/save.py @@ -61,3 +61,6 @@ def set_local_name(doc): _set_local_name(doc) for child in doc.get_all_children(): _set_local_name(child) + + if doc.get("__newname"): + doc.name = doc.get("__newname")