[create new] [set default values] ability to set defaults based on partial docs sent during boot
This commit is contained in:
parent
a8ae8c4e66
commit
20c68de8b8
2 changed files with 19 additions and 6 deletions
|
|
@ -508,7 +508,7 @@ _f.Frm.prototype.refresh = function(docname) {
|
|||
if(!this.setup_done) this.setup();
|
||||
|
||||
// set customized permissions for this record
|
||||
this.runclientscript('set_perm',this.doctype, this.docname);
|
||||
this.runclientscript('set_perm', this.doctype, this.docname);
|
||||
|
||||
// load the record for the first time, if not loaded (call 'onload')
|
||||
cur_frm.cscript.is_onload = false;
|
||||
|
|
@ -529,8 +529,6 @@ _f.Frm.prototype.refresh = function(docname) {
|
|||
$ds(this.page_layout.wrapper);
|
||||
}
|
||||
|
||||
|
||||
|
||||
// header
|
||||
if(!this.meta.istable) {
|
||||
this.refresh_header();
|
||||
|
|
|
|||
|
|
@ -38,7 +38,7 @@ $.extend(wn.model, {
|
|||
for(var fid=0;fid<docfields.length;fid++) {
|
||||
var f = docfields[fid];
|
||||
if(!in_list(no_value_fields, f.fieldtype) && doc[f.fieldname]==null) {
|
||||
var v = wn.model.get_default_value(f);
|
||||
var v = wn.model.get_default_value(f, doc);
|
||||
if(v) {
|
||||
if(in_list(["Int", "Check"], f.fieldtype))
|
||||
v = cint(v);
|
||||
|
|
@ -53,7 +53,7 @@ $.extend(wn.model, {
|
|||
return updated;
|
||||
},
|
||||
|
||||
get_default_value: function(df) {
|
||||
get_default_value: function(df, doc) {
|
||||
var def_vals = {
|
||||
"_Login": user,
|
||||
"__user": user,
|
||||
|
|
@ -66,10 +66,25 @@ $.extend(wn.model, {
|
|||
return def_vals[df["default"]];
|
||||
else if(df.fieldtype=="Time" && (!df["default"]))
|
||||
return dateutil.get_cur_time()
|
||||
else if(df["default"])
|
||||
else if(df["default"] && df["default"].indexOf(":")!==0)
|
||||
return df["default"];
|
||||
else if(wn.defaults.get_user_default(df.fieldname))
|
||||
return wn.defaults.get_user_default(df.fieldname);
|
||||
else if(df["default"] && df["default"].indexOf(":")===0)
|
||||
return wn.model.get_default_from_boot_specs(df, doc);
|
||||
},
|
||||
|
||||
get_default_from_boot_specs: function(df, doc) {
|
||||
// set default from partial docs passed during boot like ":Profile"
|
||||
if(wn.model.get(df["default"]).length > 0) {
|
||||
var ref_fieldname = df["default"].slice(1).toLowerCase().replace(" ", "_");
|
||||
var ref_value = (doc && doc[ref_fieldname]) || (cur_frm && cur_frm.doc[ref_fieldname]);
|
||||
var ref_doc = ref_value ? wn.model.get_doc(df["default"], ref_value) : null;
|
||||
|
||||
if(ref_doc && ref_doc[df.fieldname]) {
|
||||
return ref_doc[df.fieldname];
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
add_child: function(doc, childtype, parentfield) {
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue