From 2eef40bf1efdebd0b9fc01eb868231544f551f23 Mon Sep 17 00:00:00 2001 From: Rushabh Mehta Date: Mon, 16 Jul 2012 14:16:57 +0530 Subject: [PATCH] get_field > wn.meta.get_docfield --- erpnext/accounts/doctype/account/account.js | 10 +- .../budget_distribution.js | 2 +- .../doctype/cost_center/cost_center.js | 16 +-- .../doctype/fiscal_year/fiscal_year.js | 2 +- .../hr/doctype/expense_claim/expense_claim.js | 6 +- .../salary_structure/salary_structure.js | 7 +- .../doctype/sales_common/sales_common.js | 5 +- .../doctype/naming_series/naming_series.js | 2 +- erpnext/startup/__init__.py | 13 ++- erpnext/stock/doctype/sales_bom/sales_bom.js | 2 +- erpnext/stock/doctype/warehouse/warehouse.js | 18 +--- public/css/all-app.css | 4 + public/css/fields.css | 4 + public/js/all-app.js | 98 +++++++++---------- public/js/all-web.js | 18 ++-- public/js/fields.js | 22 ++--- 16 files changed, 102 insertions(+), 127 deletions(-) diff --git a/erpnext/accounts/doctype/account/account.js b/erpnext/accounts/doctype/account/account.js index 75cc9e5fe2..d34601b0ec 100644 --- a/erpnext/accounts/doctype/account/account.js +++ b/erpnext/accounts/doctype/account/account.js @@ -30,10 +30,10 @@ cur_frm.cscript.set_breadcrumbs = function(barea) { // Refresh // ----------------------------------------- cur_frm.cscript.refresh = function(doc, cdt, cdn) { - cur_frm.toggle_fields('account_name', doc.__islocal); + cur_frm.toggle_display('account_name', doc.__islocal); // hide fields if group - cur_frm.toggle_fields(['account_type', 'master_type', 'master_name', 'freeze_account', + cur_frm.toggle_display(['account_type', 'master_type', 'master_name', 'freeze_account', 'credit_days', 'credit_limit', 'tax_rate'], doc.group_or_ledger=='Ledger') // read-only for root accounts @@ -44,7 +44,7 @@ cur_frm.cscript.refresh = function(doc, cdt, cdn) { } else { // credit days and type if customer or supplier cur_frm.set_intro(null); - cur_frm.toggle_fields(['credit_days', 'credit_limit'], + cur_frm.toggle_display(['credit_days', 'credit_limit'], in_list(['Customer', 'Supplier'], doc.master_type)) // hide tax_rate @@ -64,9 +64,9 @@ cur_frm.add_fetch('parent_account', 'is_pl_account', 'is_pl_account'); // ----------------------------------------- cur_frm.cscript.account_type = function(doc, cdt, cdn) { if(doc.group_or_ledger=='Ledger') { - cur_frm.toggle_fields(['tax_rate'], + cur_frm.toggle_display(['tax_rate'], doc.account_type == 'Tax'); - cur_frm.toggle_fields(['master_type', 'master_name'], + cur_frm.toggle_display(['master_type', 'master_name'], cstr(doc.account_type)==''); } } diff --git a/erpnext/accounts/doctype/budget_distribution/budget_distribution.js b/erpnext/accounts/doctype/budget_distribution/budget_distribution.js index 1f72c3cb43..c8bfe11525 100644 --- a/erpnext/accounts/doctype/budget_distribution/budget_distribution.js +++ b/erpnext/accounts/doctype/budget_distribution/budget_distribution.js @@ -26,5 +26,5 @@ cur_frm.cscript.onload = function(doc,cdt,cdn){ } cur_frm.cscript.refresh = function(doc,cdt,cdn){ - cur_frm.toggle_fields('distribution_id', doc.__islocal); + cur_frm.toggle_display('distribution_id', doc.__islocal); } \ No newline at end of file diff --git a/erpnext/accounts/doctype/cost_center/cost_center.js b/erpnext/accounts/doctype/cost_center/cost_center.js index c131081a39..058ebfb631 100644 --- a/erpnext/accounts/doctype/cost_center/cost_center.js +++ b/erpnext/accounts/doctype/cost_center/cost_center.js @@ -14,17 +14,6 @@ // You should have received a copy of the GNU General Public License // along with this program. If not, see . - -//onload if cost center is group -cur_frm.cscript.onload = function(doc, cdt, cdn) { - if(!doc.__islocal && doc.docstatus == 0){ - get_field(doc.doctype,'group_or_ledger',doc.name).permlevel = 1; - refresh_field('group_or_ledger'); - get_field(doc.doctype,'company_name',doc.name).permlevel = 1; - refresh_field('company_name'); - } - -} cur_frm.cscript.set_breadcrumbs = function(barea) { cur_frm.frm_head.appframe.add_breadcrumb(cur_frm.docname); @@ -35,7 +24,8 @@ cur_frm.cscript.set_breadcrumbs = function(barea) { cur_frm.cscript.refresh = function(doc, cdt, cdn) { var intro_txt = ''; - cur_frm.toggle_fields('cost_center_name', doc.__islocal); + cur_frm.toggle_display('cost_center_name', doc.__islocal); + cur_frm.toggle_enable(['group_or_ledger', 'company_name'], doc.__islocal); if(!doc.__islocal && doc.group_or_ledger=='Group') { intro_txt += '

Note: This is Cost Center is a Group, \ @@ -44,7 +34,7 @@ cur_frm.cscript.refresh = function(doc, cdt, cdn) { cur_frm.cscript.hide_unhide_group_ledger(doc); - cur_frm.toggle_fields('sb1', doc.group_or_ledger=='Ledger') + cur_frm.toggle_display('sb1', doc.group_or_ledger=='Ledger') cur_frm.set_intro(intro_txt); } diff --git a/erpnext/accounts/doctype/fiscal_year/fiscal_year.js b/erpnext/accounts/doctype/fiscal_year/fiscal_year.js index d60e4ecc41..936037cd6c 100644 --- a/erpnext/accounts/doctype/fiscal_year/fiscal_year.js +++ b/erpnext/accounts/doctype/fiscal_year/fiscal_year.js @@ -1,3 +1,3 @@ cur_frm.cscript.refresh = function(doc, dt, dn) { - cur_frm.enable_fields('year_start_date', doc.__islocal) + cur_frm.toggle_enable('year_start_date', doc.__islocal) } diff --git a/erpnext/hr/doctype/expense_claim/expense_claim.js b/erpnext/hr/doctype/expense_claim/expense_claim.js index b30a4016c4..adcb4cf6b5 100644 --- a/erpnext/hr/doctype/expense_claim/expense_claim.js +++ b/erpnext/hr/doctype/expense_claim/expense_claim.js @@ -51,7 +51,7 @@ cur_frm.cscript.employee = function(doc,cdt,cdn){ $c_obj(make_doclist(doc.doctype, doc.name),'set_approver','', function(r,rt){ if(r.message){ doc.employee_name = r.message['emp_nm']; - get_field(doc.doctype, 'exp_approver' , doc.name).options = r.message['app_lst']; + wn.meta.get_docfield(doc.doctype, 'exp_approver' , doc.name).options = r.message['app_lst']; refresh_many(['exp_approver','employee_name']); } }); @@ -73,8 +73,8 @@ cur_frm.cscript.calculate_total = function(doc,cdt,cdn){ if(r.message['valid_approver'] == 'No'){ doc.exp_approver =''; } - get_field(doc.doctype, 'exp_approver' , doc.name).options = ''; - get_field(doc.doctype, 'exp_approver' , doc.name).options = r.message['app_lst']; + wn.meta.get_docfield(doc.doctype, 'exp_approver' , doc.name).options = ''; + wn.meta.get_docfield(doc.doctype, 'exp_approver' , doc.name).options = r.message['app_lst']; refresh_field('exp_approver'); } }); diff --git a/erpnext/hr/doctype/salary_structure/salary_structure.js b/erpnext/hr/doctype/salary_structure/salary_structure.js index 2cfab81281..27ed19e83f 100644 --- a/erpnext/hr/doctype/salary_structure/salary_structure.js +++ b/erpnext/hr/doctype/salary_structure/salary_structure.js @@ -29,11 +29,10 @@ cur_frm.cscript.onload = function(doc, dt, dn){ //======================================================================= cur_frm.cscript.refresh = function(doc, dt, dn){ if((!doc.__islocal) && (doc.is_active == 'Yes')){ - cur_frm.add_custom_button('Make Salary Slip', cur_frm.cscript['Make Salary Slip']); - - get_field(doc.doctype, 'employee', doc.name).permlevel = 1; - refresh_field('employee'); + cur_frm.add_custom_button('Make Salary Slip', cur_frm.cscript['Make Salary Slip']); } + + cur_frm.toggle_enable('employee', doc.__islocal); } diff --git a/erpnext/selling/doctype/sales_common/sales_common.js b/erpnext/selling/doctype/sales_common/sales_common.js index 952a55f610..f662dae387 100644 --- a/erpnext/selling/doctype/sales_common/sales_common.js +++ b/erpnext/selling/doctype/sales_common/sales_common.js @@ -134,6 +134,7 @@ cur_frm.cscript.dynamic_label = function(doc, cdt, cdn, base_curr, callback) { // Help for Sales BOM items var set_sales_bom_help = function(doc) { + if(!cur_frm.fields_dict.packing_list) return; if (getchildren('Delivery Note Packing Item', doc.name, 'packing_details').length) { $(cur_frm.fields_dict.packing_list.row.wrapper).toggle(true); @@ -144,12 +145,12 @@ var set_sales_bom_help = function(doc) { If warehouse and batch no are same for all packing items for any 'Sales BOM' item, \ those values can be entered in the main item table, values will be copied to 'Packing List' table. \ "; - get_field(doc.doctype, 'sales_bom_help', doc.name).options = help_msg; + wn.meta.get_docfield(doc.doctype, 'sales_bom_help', doc.name).options = help_msg; } } else { $(cur_frm.fields_dict.packing_list.row.wrapper).toggle(false); if (inList(['Delivery Note', 'Sales Invoice'], doc.doctype)) { - get_field(doc.doctype, 'sales_bom_help', doc.name).options = ''; + wn.meta.get_docfield(doc.doctype, 'sales_bom_help', doc.name).options = ''; } } refresh_field('sales_bom_help'); diff --git a/erpnext/setup/doctype/naming_series/naming_series.js b/erpnext/setup/doctype/naming_series/naming_series.js index 3057e62642..967e8b0128 100644 --- a/erpnext/setup/doctype/naming_series/naming_series.js +++ b/erpnext/setup/doctype/naming_series/naming_series.js @@ -28,7 +28,7 @@ cur_frm.cscript.update_selects = function(r) { cur_frm.cscript.select_doc_for_series = function(doc, cdt, cdn) { - cur_frm.toggle_fields(['help_html','set_options', 'user_must_always_select', 'update'], + cur_frm.toggle_display(['help_html','set_options', 'user_must_always_select', 'update'], doc.select_doc_for_series) var callback = function(r, rt){ diff --git a/erpnext/startup/__init__.py b/erpnext/startup/__init__.py index 354989808d..c5c47b0943 100644 --- a/erpnext/startup/__init__.py +++ b/erpnext/startup/__init__.py @@ -14,10 +14,13 @@ # You should have received a copy of the GNU General Public License # along with this program. If not, see . -# add startup propertes -add_in_head = """ - -""" \ No newline at end of file +product_name = "ERPNext" +profile_defaults = { + "Company": "company", + "Territory": "territory" +} + \ No newline at end of file diff --git a/erpnext/stock/doctype/sales_bom/sales_bom.js b/erpnext/stock/doctype/sales_bom/sales_bom.js index 68b9013521..b6ba77953f 100644 --- a/erpnext/stock/doctype/sales_bom/sales_bom.js +++ b/erpnext/stock/doctype/sales_bom/sales_bom.js @@ -15,7 +15,7 @@ // along with this program. If not, see . cur_frm.cscript.refresh = function(doc, cdt, cdn) { - cur_frm.enable_fields('new_item_code', doc.__islocal); + cur_frm.toggle_enable('new_item_code', doc.__islocal); if(!doc.__islocal) { cur_frm.add_custom_button("Check for Duplicates", function() { cur_frm.call_server('check_duplicate', 1) diff --git a/erpnext/stock/doctype/warehouse/warehouse.js b/erpnext/stock/doctype/warehouse/warehouse.js index 4ad95f494f..0017c75d59 100644 --- a/erpnext/stock/doctype/warehouse/warehouse.js +++ b/erpnext/stock/doctype/warehouse/warehouse.js @@ -15,19 +15,5 @@ // along with this program. If not, see . cur_frm.cscript.refresh = function(doc) { - cur_frm.toggle_fields('warehouse_name', doc.__islocal); -} - -cur_frm.cscript.country = function(doc, cdt, cdn) { - var mydoc=doc; - $c('runserverobj', args={'method':'check_state', 'docs':compress_doclist(make_doclist(doc.doctype, doc.name))}, - function(r,rt){ - if(r.message) { - var doc = locals[mydoc.doctype][mydoc.name]; - doc.state = ''; - get_field(doc.doctype, 'state' , doc.name).options = r.message; - refresh_field('state'); - } - } - ); -} + cur_frm.toggle_display('warehouse_name', doc.__islocal); +} \ No newline at end of file diff --git a/public/css/all-app.css b/public/css/all-app.css index 9c5ae1cd24..32d2f6be3b 100644 --- a/public/css/all-app.css +++ b/public/css/all-app.css @@ -2558,6 +2558,10 @@ div.sidebar-comment-info { background-color:#FEE; } +.field-has-error { + border: 2px solid #C00; +} + /* * lib/css/legacy/grid.css */ diff --git a/public/css/fields.css b/public/css/fields.css index 61892eeb72..db9f634472 100644 --- a/public/css/fields.css +++ b/public/css/fields.css @@ -78,3 +78,7 @@ .field-to-update { background-color:#FEE; } + +.field-has-error { + border: 2px solid #C00; +} diff --git a/public/js/all-app.js b/public/js/all-app.js index ee120300fd..c0f224f921 100644 --- a/public/js/all-app.js +++ b/public/js/all-app.js @@ -190,14 +190,15 @@ $.fn.done_working=function(){var ele=this.get(0);$(ele).attr('disabled',null);if /* * lib/js/wn/model.js */ -wn.provide('wn.model');wn.model={no_value_type:['Section Break','Column Break','HTML','Table','Button','Image'],new_names:{},with_doctype:function(doctype,callback){if(locals.DocType[doctype]){callback();}else{wn.call({method:'webnotes.widgets.form.load.getdoctype',args:{doctype:doctype},callback:callback});}},with_doc:function(doctype,name,callback){if(!name)name=doctype;if(locals[doctype]&&locals[doctype][name]){callback(name);}else{wn.call({method:'webnotes.widgets.form.load.getdoc',args:{doctype:doctype,name:name},callback:function(r){callback(name,r);}});}},can_delete:function(doctype){if(!doctype)return false;return wn.boot.profile.can_cancel.indexOf(doctype)!=-1;}} +wn.provide('wn.model');wn.model={no_value_type:['Section Break','Column Break','HTML','Table','Button','Image'],new_names:{},with_doctype:function(doctype,callback){if(locals.DocType[doctype]){callback();}else{wn.call({method:'webnotes.widgets.form.load.getdoctype',args:{doctype:doctype},callback:callback});}},with_doc:function(doctype,name,callback){if(!name)name=doctype;if(locals[doctype]&&locals[doctype][name]){callback(name);}else{wn.call({method:'webnotes.widgets.form.load.getdoc',args:{doctype:doctype,name:name},callback:function(r){callback(name,r);}});}},can_delete:function(doctype){if(!doctype)return false;return wn.boot.profile.can_cancel.indexOf(doctype)!=-1;},has_value:function(dt,dn,fn){var val=locals[dt]&&locals[dt][dn]&&locals[dt][dn][fn];var df=wn.meta.get_docfield(dt,fn,dn);if(df.fieldtype=='Table'){var ret=false;$.each(locals[df.options]||{},function(k,d){if(d.parent==dn&&d.parenttype==dt&&d.parentfield==df.fieldname){ret=true;}});}else{var ret=!is_null(val);} +return ret?true:false;}} /* * lib/js/wn/meta.js */ wn.provide('wn.meta.docfield_map');wn.provide('wn.meta.docfield_list');wn.provide('wn.meta.doctypes');$.extend(wn.meta,{add_field:function(df){wn.provide('wn.meta.docfield_map.'+df.parent);wn.meta.docfield_map[df.parent][df.fieldname||df.label]=df;if(!wn.meta.docfield_list[df.parent]) wn.meta.docfield_list[df.parent]=[];for(var i in wn.meta.docfield_list[df.parent]){var d=wn.meta.docfield_list[df.parent][i];if(df.fieldname==d.fieldname) return;} -wn.meta.docfield_list[df.parent].push(df);}}); +wn.meta.docfield_list[df.parent].push(df);},get_docfield:function(dt,fn,dn){if(dn&&local_dt[dt]&&local_dt[dt][dn]){return local_dt[dt][dn][fn];}else{return wn.meta.docfield_map[dt][fn];}}}); /* * lib/js/wn/misc/tools.js */ @@ -637,9 +638,9 @@ html.push('');html.push('').toggle(false).appendTo(this.label_area).css('float','left').css('margin-left','7px').attr("title","This field is mandatory.");this.suggest_icon=$('').toggle(false).appendTo(this.label_area).css('float','left').css('margin-left','7px').attr("title","will show suggestions as you type.");}else{this.label_span=$a(this.label_area,'span','',{marginRight:'4px'}) $dh(this.label_area);} if(!this.input_area){this.input_area=$a(this.wrapper,(this.with_label?'div':'span'));this.disp_area=$a(this.wrapper,(this.with_label?'div':'span'));} if(this.in_grid){if(this.label_area)$dh(this.label_area);}else{this.input_area.className='input_area';$y(this.wrapper,{marginBottom:'9px'});this.set_description();} @@ -652,7 +653,7 @@ if(in_list(['Text Editor','Code'],this.df.fieldtype)) $(this.desc_area).addClass('help small');}} Field.prototype.get_status=function(){if(this.in_filter) this.not_in_form=this.in_filter;if(this.not_in_form){return'Write';} -if(!this.df.permlevel)this.df.permlevel=0;var p=this.perm[this.df.permlevel];var ret;if(cur_frm.editable&&p&&p[WRITE]&&!this.disabled)ret='Write';else if(p&&p[READ])ret='Read';else ret='None';if(this.df.fieldtype=='Binary') +if(!this.df.permlevel)this.df.permlevel=0;var p=this.perm[this.df.permlevel];var ret;if(cur_frm.editable&&p&&p[WRITE]&&!this.df.disabled)ret='Write';else if(p&&p[READ])ret='Read';else ret='None';if(this.df.fieldtype=='Binary') ret='None';if(cint(this.df.hidden)) ret='None';if(ret=='Write'&&cint(cur_frm.doc.docstatus)>0)ret='Read';var a_o_s=cint(this.df.allow_on_submit);if(a_o_s&&(this.in_grid||(this.frm&&this.frm.not_in_container))){a_o_s=null;if(this.in_grid)a_o_s=this.grid.field.df.allow_on_submit;if(this.frm&&this.frm.not_in_container){a_o_s=cur_grid.field.df.allow_on_submit;}} if(cur_frm.editable&&a_o_s&&cint(cur_frm.doc.docstatus)>0&&!this.df.hidden){tmp_perm=get_perm(cur_frm.doctype,cur_frm.docname,1);if(tmp_perm[this.df.permlevel]&&tmp_perm[this.df.permlevel][WRITE])ret='Write';} @@ -675,20 +676,19 @@ this.onrefresh();if(this.input){if(this.input.refresh)this.input.refresh(this.df if(this.wrapper){this.wrapper.fieldobj=this;$(this.wrapper).trigger('refresh');} if(!this.not_in_form) this.set_input(_f.get_value(this.doctype,this.docname,this.df.fieldname));this.refresh_mandatory();this.set_max_width();} -Field.prototype.refresh_label_icon=function(){if(this.df.reqd){if(this.get_value&&is_null(this.get_value())){if(this.label_icon)$ds(this.label_icon);$(this.txt?this.txt:this.input).addClass('field-to-update')}else{if(this.label_icon)$dh(this.label_icon);$(this.txt?this.txt:this.input).removeClass('field-to-update')}}} +Field.prototype.refresh_label_icon=function(){var to_update=false;if(this.df.reqd&&this.get_value&&is_null(this.get_value())) +to_update=true;if(!to_update&&this.df.has_error)this.df.has_error=false;if(this.label_icon)this.label_icon.toggle(to_update);$(this.txt?this.txt:this.input).toggleClass('field-to-update',to_update);$(this.txt?this.txt:this.input).toggleClass('field-has-error',this.df.has_error?true:false);} Field.prototype.set=function(val){if(this.not_in_form) return;if((!this.docname)&&this.grid){this.docname=this.grid.add_newrow();} if(this.validate) val=this.validate(val);cur_frm.set_value_in_locals(this.doctype,this.docname,this.df.fieldname,val);this.value=val;} Field.prototype.set_input=function(val){this.value=val;if(this.input&&this.input.set_input){if(val==null)this.input.set_input('');else this.input.set_input(val);} var disp_val=val;if(val==null)disp_val='';this.set_disp(disp_val);} -Field.prototype.run_trigger=function(){this.refresh_label_icon();if(this.df.reqd&&this.get_value&&!is_null(this.get_value())&&this.set_as_error) -this.set_as_error(0);if(this.not_in_form){return;} +Field.prototype.run_trigger=function(){this.refresh_label_icon();if(this.not_in_form){return;} if(cur_frm.cscript[this.df.fieldname]) cur_frm.runclientscript(this.df.fieldname,this.doctype,this.docname);cur_frm.refresh_dependency();} Field.prototype.set_disp_html=function(t){if(this.disp_area){$(this.disp_area).addClass('disp_area');this.disp_area.innerHTML=(t==null?'':t);if(!t)$(this.disp_area).addClass('disp_area_no_val');}} Field.prototype.set_disp=function(val){this.set_disp_html(val);} -Field.prototype.set_as_error=function(set){if(this.in_grid||this.in_filter)return;var w=this.txt?this.txt:this.input;if(set){$y(w,{border:'2px solid RED'});}else{$y(w,{border:'1px solid #888'});}} Field.prototype.activate=function(docname){this.docname=docname;this.refresh();if(this.input){var v=_f.get_value(this.doctype,this.docname,this.df.fieldname);this.last_value=v;if(this.input.onchange&&this.input.get_value&&this.input.get_value()!=v){if(this.validate) this.input.set_value(this.validate(v));else this.input.set_value((v==null)?'':v);if(this.format_input) @@ -703,7 +703,7 @@ me.set(val);if(me.format_input) me.format_input();if(in_list(['Currency','Float','Int'],me.df.fieldtype)){if(flt(me.last_value)==flt(val)){me.last_value=val;return;}} me.last_value=val;me.run_trigger();} this.input.set_input=function(val){if(val==null)val='';me.input.value=val;if(me.format_input)me.format_input();} -if(this.df.options=='Suggest'){if(this.suggest_icon)$di(this.suggest_icon);$(me.input).autocomplete({source:function(request,response){wn.call({method:'webnotes.widgets.search.search_link',args:{'txt':request.term,'dt':me.df.options,'query':repl('SELECT DISTINCT `%(fieldname)s` FROM \ +if(this.df.options=='Suggest'){if(this.suggest_icon)this.suggest_icon.toggle(true);$(me.input).autocomplete({source:function(request,response){wn.call({method:'webnotes.widgets.search.search_link',args:{'txt':request.term,'dt':me.df.options,'query':repl('SELECT DISTINCT `%(fieldname)s` FROM \ `tab%(dt)s` WHERE `%(fieldname)s` LIKE "%s" LIMIT 50',{fieldname:me.df.fieldname,dt:me.df.parent})},callback:function(r){response(r.results);}});},select:function(event,ui){me.set(ui.item.value);}});}} DataField.prototype.validate=function(v){if(this.df.options=='Phone'){if(v+''=='')return'';v1='' v=v.replace(/ /g,'').replace(/-/g,'').replace(/\(/g,'').replace(/\)/g,'');if(v&&v.substr(0,1)=='+'){v1='+';v=v.substr(1);} @@ -711,7 +711,6 @@ if(v&&v.substr(0,2)=='00'){v1+='00';v=v.substr(2);} if(v&&v.substr(0,1)=='0'){v1+='0';v=v.substr(1);} v1+=cint(v)+'';return v1;}else if(this.df.options=='Email'){if(v+''=='')return'';if(!validate_email(v)){msgprint(this.df.label+': '+v+' is not a valid email id');return'';}else return v;}else{return v;}} -DataField.prototype.onrefresh=function(){if(this.input&&this.df.colour){var col='#'+this.df.colour.split(':')[1];$bg(this.input,col);}} function ReadOnlyField(){} ReadOnlyField.prototype=new Field();function HTMLField(){} HTMLField.prototype=new Field();HTMLField.prototype.with_label=0;HTMLField.prototype.set_disp=function(val){if(this.disp_area)this.disp_area.innerHTML=val;} @@ -811,7 +810,6 @@ this.refresh();} function TimeField(){}TimeField.prototype=new Field();TimeField.prototype.get_time=function(){return time_to_hhmm(sel_val(this.input_hr),sel_val(this.input_mn),sel_val(this.input_am));} TimeField.prototype.set_time=function(v){ret=time_to_ampm(v);this.input_hr.inp.value=ret[0];this.input_mn.inp.value=ret[1];this.input_am.inp.value=ret[2];} TimeField.prototype.set_style_mandatory=function(){} -TimeField.prototype.set_as_error=function(){} TimeField.prototype.make_input=function(){var me=this;this.input=$a(this.input_area,'div','time_field');var t=make_table(this.input,1,3,'200px');var opt_hr=['1','2','3','4','5','6','7','8','9','10','11','12'];var opt_mn=['00','05','10','15','20','25','30','35','40','45','50','55'];var opt_am=['AM','PM'];this.input_hr=new SelectWidget($td(t,0,0),opt_hr,'50px');this.input_mn=new SelectWidget($td(t,0,1),opt_mn,'50px');this.input_am=new SelectWidget($td(t,0,2),opt_am,'50px');var onchange_fn=function(){me.set(me.get_time());me.run_trigger();} this.input_hr.inp.onchange=onchange_fn;this.input_mn.inp.onchange=onchange_fn;this.input_am.inp.onchange=onchange_fn;this.onrefresh=function(){var v=_f.get_value?_f.get_value(me.doctype,me.docname,me.df.fieldname):null;me.set_time(v);if(!v) me.set(me.get_time());} @@ -828,8 +826,7 @@ me.btn.setAttribute('title','Select Date');if(iconsrc1){var c2=tab.rows[0].inser me.btn1.setAttribute('title','Open Link');} if(iconsrc2){var c3=tab.rows[0].insertCell(3);$y(c3,{width:'20px'});me.btn2=$a(c3,'i',iconsrc2,icon_style) me.btn2.setAttribute('title','Create New');$dh(me.btn2);} -if(me.df.colour) -me.txt.style.background='#'+me.df.colour.split(':')[1];me.txt.name=me.df.fieldname;me.setdisabled=function(tf){me.txt.disabled=tf;}} +me.txt.name=me.df.fieldname;me.setdisabled=function(tf){me.txt.disabled=tf;}} var tmpid=0;_f.ButtonField=function(){};_f.ButtonField.prototype=new Field();_f.ButtonField.prototype.with_label=0;_f.ButtonField.prototype.init=function(){this.prev_button=null;if(!this.frm)return;if(cur_frm&&cur_frm.fields[cur_frm.fields.length-1]&&cur_frm.fields[cur_frm.fields.length-1].df.fieldtype=='Button'){this.make_body=function(){this.prev_button=cur_frm.fields[cur_frm.fields.length-1];if(!this.prev_button.prev_button){this.prev_button.button_area=$a(this.prev_button.input_area,'span');} this.wrapper=this.prev_button.wrapper;this.input_area=this.prev_button.input_area;this.disp_area=this.prev_button.disp_area;this.button_area=$a(this.prev_button.input_area,'span');}}} _f.ButtonField.prototype.make_input=function(){var me=this;if(!this.prev_button){$y(this.input_area,{marginTop:'4px',marginBottom:'4px'});} @@ -1345,18 +1342,16 @@ return df;else if(user_defaults[fn]) return user_defaults[fn][0];else if(sys_defaults[fn]) return sys_defaults[fn];} LocalDB.add_child=function(doc,childtype,parentfield){var n=LocalDB.create(childtype);var d=locals[childtype][n];d.parent=doc.name;d.parentfield=parentfield;d.parenttype=doc.doctype;return d;} -LocalDB.no_copy_list=['amended_from','amendment_date','cancel_reason'];LocalDB.copy=function(dt,dn,from_amend){var newdoc=LocalDB.create(dt);for(var key in locals[dt][dn]){var df=get_field(dt,key);if(key!=='name'&&key.substr(0,2)!='__'&&!(df&&((!from_amend&&cint(df.no_copy)==1)||in_list(LocalDB.no_copy_list,df.fieldname)))){locals[dt][newdoc][key]=locals[dt][dn][key];}} +LocalDB.no_copy_list=['amended_from','amendment_date','cancel_reason'];LocalDB.copy=function(dt,dn,from_amend){var newdoc=LocalDB.create(dt);for(var key in locals[dt][dn]){var df=wn.meta.get_docfield(dt,key);if(key!=='name'&&key.substr(0,2)!='__'&&!(df&&((!from_amend&&cint(df.no_copy)==1)||in_list(LocalDB.no_copy_list,df.fieldname)))){locals[dt][newdoc][key]=locals[dt][dn][key];}} return locals[dt][newdoc];} function make_doclist(dt,dn){if(!locals[dt]){return[];} var dl=[];dl[0]=locals[dt][dn];for(var ndt in locals){if(locals[ndt]){for(var ndn in locals[ndt]){var doc=locals[ndt][ndn];if(doc&&doc.parenttype==dt&&doc.parent==dn){dl.push(doc)}}}} return dl;} var Meta={};var local_dt={};Meta.make_local_dt=function(dt,dn){var dl=make_doclist('DocType',dt);if(!local_dt[dt])local_dt[dt]={};if(!local_dt[dt][dn])local_dt[dt][dn]={};for(var i=0;i1)return true;var fl=wn.meta.docfield_list[dt];if(!fl)return true;var all_clear=true;var errfld=[];for(var i=0;i1)return true;var fl=wn.meta.docfield_list[dt];if(!fl)return true;var all_clear=true;var errfld=[];for(var i=0;i

'+field.label+':
'+(val?val:'')+'
';break;case'Text Editor':var div=$a(me.layout.cur_cell,'div');var val=_f.get_value(doctype,docname,field.fieldname);div.innerHTML=val?val:'';break;default:_p.print_std_add_field(doctype,docname,field,me.layout);break;}}});for(var i=0;i'+field.label+':
'+(val?val:'')+'
';break;case'Text Editor':var div=$a(me.layout.cur_cell,'div');var val=_f.get_value(doctype,docname,field.fieldname);div.innerHTML=val?val:'';break;default:_p.print_std_add_field(doctype,docname,field,me.layout);break;}}});for(var i=0;i1)return true;var fl=wn.meta.docfield_list[dt];if(!fl)return true;var all_clear=true;var errfld=[];for(var i=0;i1)return true;var fl=wn.meta.docfield_list[dt];if(!fl)return true;var all_clear=true;var errfld=[];for(var i=0;i