blob: d73fc2f2edac14c7a1ab0c5d62b287ebc4cb2437 [file] [log] [blame]
if(user=='Guest'){$dh(page_body.left_sidebar);}
var current_module;var is_system_manager=0;var module_content_dict={};var user_full_nm={};if(inList(user_roles,'System Manager'))is_system_manager=1;function startup_setup(){pscript.is_erpnext_saas=cint(locals['Control Panel']['Control Panel'].sync_with_gateway)
if(get_url_arg('embed')){$dh(page_body.banner_area);$dh(page_body.wntoolbar);$dh(page_body.footer);return;}
if(user=='Guest'&&!get_url_arg('akey')){if(pscript.is_erpnext_saas){window.location.href='https://www.erpnext.com';return;}}
$td(page_body.wntoolbar.body_tab,0,0).innerHTML='<i><b>erp</b>next</i>';$y($td(page_body.wntoolbar.body_tab,0,0),{width:'140px',color:'#FFF',paddingLeft:'8px',paddingRight:'8px',fontSize:'14px'})
$dh(page_body.banner_area);pscript.startup_make_sidebar();$dh(page_body.footer);var callback=function(r,rt){if(r.message){login_file=r.message;}
else{login_file='https://www.erpnext.com';}
pscript.startup_setup_toolbar();}
$c_obj('Home Control','get_login_url','',callback);}
pscript.startup_make_sidebar=function(){$y(page_body.left_sidebar,{width:(100/6)+'%',paddingTop:'8px'});var callback=function(r,rt){var ml=r.message;page_body.left_sidebar.innerHTML='';for(var m=0;m<ml.length;m++){if(ml[m]){new SidebarItem(ml[m]);}}
if(in_list(user_roles,'System Manager')){var div=$a(page_body.left_sidebar,'div','link_type',{padding:'8px',fontSize:'11px'});$(div).html('[edit]').click(pscript.startup_set_module_order)}
nav_obj.observers.push({notify:function(t,dt,dn){pscript.select_sidebar_menu(t,dt,dn);}});var no=nav_obj.ol[nav_obj.ol.length-1];if(no&&menu_item_map[decodeURIComponent(no[0])][decodeURIComponent(no[1])])
pscript.select_sidebar_menu(decodeURIComponent(no[0]),decodeURIComponent(no[1]));}
$c_obj('Home Control','get_modules','',callback);}
cur_menu_pointer=null;var menu_item_map={'Form':{},'Page':{},'Report':{},'List':{}}
pscript.select_sidebar_menu=function(t,dt,dn){if(menu_item_map[t][dt]){menu_item_map[t][dt].select();}else{if(cur_menu_pointer)
cur_menu_pointer.deselect();}}
var body_background='#e2e2e2';MenuPointer=function(parent,label){this.wrapper=$a(parent,'div','',{padding:'0px',cursor:'pointer',margin:'2px 0px'});$br(this.wrapper,'3px');this.tab=make_table($a(this.wrapper,'div'),1,2,'100%',['','11px'],{height:'22px',verticalAlign:'middle',padding:'0px'},{borderCollapse:'collapse',tableLayout:'fixed'});$y($td(this.tab,0,0),{padding:'0px 4px',color:'#444',whiteSpace:'nowrap'});this.tab.triangle_div=$a($td(this.tab,0,1),'div','',{borderColor:body_background+' '+body_background+' '+body_background+' '+'transparent',borderWidth:'11px',borderStyle:'solid',height:'0px',width:'0px',marginRight:'-11px'});this.label_area=$a($td(this.tab,0,0),'span','','',label);$(this.wrapper).hover(function(){if(!this.selected)$bg(this,'#eee');},function(){if(!this.selected)$bg(this,body_background);})
$y($td(this.tab,0,0),{borderBottom:'1px solid #ddd'});}
MenuPointer.prototype.select=function(grey){$y($td(this.tab,0,0),{color:'#fff',borderBottom:'0px solid #000'});$gr(this.wrapper,'#888','#666');this.selected=1;if(cur_menu_pointer&&cur_menu_pointer!=this)
cur_menu_pointer.deselect();cur_menu_pointer=this;}
MenuPointer.prototype.deselect=function(){$y($td(this.tab,0,0),{color:'#444',borderBottom:'1px solid #ddd'});$gr(this.wrapper,body_background,body_background);this.selected=0;}
var cur_sidebar_item=null;SidebarItem=function(det){var me=this;this.det=det;this.wrapper=$a(page_body.left_sidebar,'div','',{marginRight:'12px'});this.body=$a(this.wrapper,'div');this.tab=make_table(this.body,1,2,'100%',['24px',null],{verticalAlign:'middle'},{tableLayout:'fixed'});var ic=$a($td(this.tab,0,0),'div','module-icons module-icons-'+det.module_label.toLowerCase(),{marginLeft:'3px',marginBottom:'-2px'});this.pointer=new MenuPointer($td(this.tab,0,1),det.module_label);$y($td(this.pointer.tab,0,0),{fontWeight:'bold'});if(det.module_page){menu_item_map.Page[det.module_page]=this.pointer;}
this.items_area=$a(this.wrapper,'div');this.body.onclick=function(){me.onclick();}}
SidebarItem.prototype.onclick=function(){var me=this;if(this.det.module_page){this.pointer.select();$item_set_working(me.pointer.label_area);loadpage(this.det.module_page,function(){$item_done_working(me.pointer.label_area);});}else{this.toggle();}}
SidebarItem.prototype.collapse=function(){$(this.items_area).slideUp();this.is_open=0;$fg(this.pointer.label_area,'#444')}
SidebarItem.prototype.toggle=function(){if(this.loading)return;if(this.is_open){this.collapse();}else{if(this.loaded)$(this.items_area).slideDown();else this.show_items();this.is_open=1;$fg(this.pointer.label_area,'#000')
if(cur_sidebar_item&&cur_sidebar_item!=this){cur_sidebar_item.collapse();}
cur_sidebar_item=this;}}
SidebarItem.prototype.show_items=function(){this.loading=1;var me=this;$item_set_working(this.pointer.label_area);var callback=function(r,rt){me.loaded=1;me.loading=0;var smi=null;var has_reports=0;var has_tools=0;$item_done_working(me.pointer.label_area);if(r.message.il){me.il=r.message.il;for(var i=0;i<me.il.length;i++){if(me.il[i].doc_type=='Forms'){if(in_list(profile.can_read,me.il[i].doc_name)){var smi=new SidebarModuleItem(me,me.il[i]);menu_item_map['Form'][me.il[i].doc_name]=smi.pointer;menu_item_map['List'][me.il[i].doc_name]=smi.pointer;}}
if(me.il[i].doc_type=='Reports')has_reports=1;if(in_list(['Single DocType','Pages','Setup Forms'],me.il[i].doc_type))has_tools=1;}
if(has_reports){var smi=new SidebarModuleItem(me,{doc_name:'Reports',doc_type:'Reports'});menu_item_map['Page'][me.det.module_label+' Reports']=smi.pointer;}
if(has_tools){var smi=new SidebarModuleItem(me,{doc_name:'Tools',doc_type:'Tools'});menu_item_map['Page'][me.det.module_label+' Tools']=smi.pointer;}
if(r.message.custom_reports.length){me.il=add_lists(r.message.il,r.message.custom_reports);var smi=new SidebarModuleItem(me,{doc_name:'Custom Reports',doc_type:'Custom Reports'});menu_item_map['Page'][me.det.module_label+' Custom Reports']=smi.pointer;}}
$(me.items_area).slideDown();var no=nav_obj.ol[nav_obj.ol.length-1];if(no&&menu_item_map[decodeURIComponent(no[0])][decodeURIComponent(no[1])])
pscript.select_sidebar_menu(decodeURIComponent(no[0]),decodeURIComponent(no[1]));}
$c_obj('Home Control','get_module_details',me.det.name,callback);}
SidebarItem.prototype.show_section=function(sec_type){var me=this;var label=this.det.module_label+' '+sec_type;var type_map={'Reports':'Reports','Custom Reports':'Custom Reports','Pages':'Tools','Single DocType':'Tools','Setup Forms':'Tools'}
if(page_body.pages[label]){loadpage(label,null,1);}else{var page=page_body.add_page(label);this.wrapper=$a(page,'div','layout_wrapper');this.head=new PageHeader(this.wrapper,label);this.body1=$a(this.wrapper,'div','',{marginTop:'16px'});var add_link=function(det){var div=$a(me.body1,'div','',{marginBottom:'6px'});var span=$a(div,'span','link_type');span.innerHTML=det.display_name;span.det=det;if(sec_type=='Reports'||sec_type=='Custom Reports'){span.onclick=function(){loadreport(this.det.doc_name,this.det.display_name);}}else{if(det.doc_type=='Pages'){if(det.click_function){span.onclick=function(){eval(this.det.click_function)}
span.click_function=det.click_function;}else{span.onclick=function(){loadpage(this.det.doc_name);}}}else if(det.doc_type=='Setup Forms'){span.onclick=function(){loaddocbrowser(this.det.doc_name);}}else{span.onclick=function(){loaddoc(this.det.doc_name,this.det.doc_name);}}}}
for(var i=0;i<me.il.length;i++){if(type_map[me.il[i].doc_type]==sec_type){add_link(me.il[i]);}}
loadpage(label,null,1);}}
SidebarModuleItem=function(si,det){this.det=det;var me=this;this.pointer=new MenuPointer(si.items_area,get_doctype_label(det.doc_name));$y(si.items_area,{marginLeft:'32px'})
$y($td(this.pointer.tab,0,0),{fontSize:'11px'});this.pointer.wrapper.onclick=function(){if(me.det.doc_type=='Forms')
loaddocbrowser(det.doc_name);else
si.show_section(me.det.doc_type);}}
pscript.startup_set_module_order=function(){var update_order=function(ml){mdict={};for(var i=0;i<ml.length;i++){mdict[ml[i][3][3]]={'module_seq':ml[i][1],'is_hidden':(ml[i][2]?'No':'Yes')}}
$c_obj('Home Control','set_module_order',JSON.stringify(mdict),function(r,rt){pscript.startup_make_sidebar();})}
var callback=function(r,rt){var ml=[];for(var i=0;i<r.message.length;i++){var det=r.message[i];ml.push([det[1],det[2],(det[3]!='No'?0:1),det[0]]);}
new ListSelector('Set Module Sequence','Select items and set the order you want them to appear'+'<br><b>Note:</b> <i>These changes will apply to all users!</i>',ml,update_order,1);}
$c_obj('Home Control','get_module_order','',callback)}
pscript.startup_setup_toolbar=function(){var menu_tab=page_body.wntoolbar.menu_table_right;$td(menu_tab,0,0).innerHTML='<a style="font-weight: bold; color: #FFF" href="javascript:'+"loadpage('profile-settings')"+'">'+user_fullname+'</a>';if(pscript.is_erpnext_saas){$td(menu_tab,0,1).innerHTML='<a style="font-weight: bold; color: #FFF" href="http://groups.google.com/group/erpnext-user-forum" target="_blank">Forum</a>';if(is_system_manager){$td(menu_tab,0,3).innerHTML='<a style="font-weight: bold; color: #FFF;" href="javascript:pscript.go_to_account_settings()">Billing</a>';}}
else{$dh($td(menu_tab,0,1));$dh($td(menu_tab,0,3));}
$td(menu_tab,0,2).innerHTML='<a style="font-weight: bold; color: #FFF" href="http://www.providesupport.com?messenger=iwebnotes" target="_blank">Chat</a>';var cell=menu_tab.rows[0].insertCell(3);cell.innerHTML='<a style="font-weight: bold; color: #FFF" href="http://erpnext.blogspot.com/2011/03/erpnext-help.html" target="_blank">Help</a>';$y(cell,page_body.wntoolbar.right_table_style);}
pscript.go_to_account_settings=function(){callback=function(r,rt){if(r.exc){msgprint(r.exc);}
else{msgprint('<a href="'+r.message+'" target="_blank">'
+'Click here to open Account Settings in a new page</a>')}}
$c_page('my_company','my_company','get_account_settings_url','',callback)}
show_chart_browser=function(nm,chart_type){var call_back=function(){if(nm=='Sales Browser'){var sb_obj=new SalesBrowser();sb_obj.set_val(chart_type);}
else if(nm=='Accounts Browser')
pscript.make_chart(chart_type);}
loadpage(nm,call_back);}
ModulePage=function(parent,module_name,module_label,help_page,callback){this.parent=parent;page_body.cur_page.module_page=this;this.wrapper=$a(parent,'div');this.module_name=module_name;this.transactions=[];this.page_head=new PageHeader(this.wrapper,module_label);if(help_page){var btn=this.page_head.add_button('Help',function(){loadpage(this.help_page)},1,'ui-icon-help')
btn.help_page=help_page;}
if(callback)this.callback=function(){callback();}}
get_plural=function(str){if(str.charAt(str.length-1).toLowerCase()=='y')return str.substr(0,str.length-1)+'ies'
else return str+'s';}
pscript.set_user_fullname=function(ele,username,get_latest){var set_it=function(){if(ele)
ele.innerHTML=user_full_nm[username];}
if(get_latest){$c_obj('Home Control','get_user_fullname',username,function(r,rt){user_full_nm[username]=r.message;set_it();});}
else{if(user_full_nm[username]){set_it();}
else
$c_obj('Home Control','get_user_fullname',username,function(r,rt){user_full_nm[username]=r.message;set_it();});}}
startup_setup();