diff --git a/erpnext/home/page/dashboard/dashboard.js b/erpnext/home/page/dashboard/dashboard.js index aac42a3e3b8..8ef2ffb0c52 100644 --- a/erpnext/home/page/dashboard/dashboard.js +++ b/erpnext/home/page/dashboard/dashboard.js @@ -1,6 +1,7 @@ pscript.onload_dashboard = function() { // load jqplot $.scriptPath = 'js/' + wn.require('lib/css/jqpot.css'); wn.require('lib/js/legacy/jquery/jquery.jqplot.min.js'); wn.require('lib/js/legacy/jquery/jqplot-plugins/jqplot.barRenderer.js'); wn.require('lib/js/legacy/jquery/jqplot-plugins/jqplot.canvasAxisTickRenderer.min.js'); diff --git a/erpnext/patches/jan_mar_2012/subdomain_login_patch.py b/erpnext/patches/jan_mar_2012/subdomain_login_patch.py index b0633cc3bef..edfcb665352 100644 --- a/erpnext/patches/jan_mar_2012/subdomain_login_patch.py +++ b/erpnext/patches/jan_mar_2012/subdomain_login_patch.py @@ -2,9 +2,11 @@ import webnotes from webnotes.model.doc import Document def execute(): + from webnotes.modules import reload_doc add_default_home_page() cleanup() - + reload_doc('setup','doctype','manage_account') + def cleanup(): from webnotes.model import delete_doc delete_doc("DocType", "SSO Control") diff --git a/erpnext/setup/doctype/manage_account/manage_account.js b/erpnext/setup/doctype/manage_account/manage_account.js index 7c3b193335d..63cc1d5e74a 100644 --- a/erpnext/setup/doctype/manage_account/manage_account.js +++ b/erpnext/setup/doctype/manage_account/manage_account.js @@ -1,6 +1,6 @@ // Validate cur_frm.cscript.validate = function(doc, cdt, cdn) { - $c_obj(make_doclist(cdt, cdn), 'update_cp', '', function(r, rt){ + $c_obj(make_doclist(cdt, cdn), 'get_defaults', '', function(r, rt){ sys_defaults = r.message; }); } \ No newline at end of file diff --git a/erpnext/setup/doctype/manage_account/manage_account.py b/erpnext/setup/doctype/manage_account/manage_account.py index 5b1292aba25..757d323fef7 100644 --- a/erpnext/setup/doctype/manage_account/manage_account.py +++ b/erpnext/setup/doctype/manage_account/manage_account.py @@ -1,66 +1,60 @@ -# Please edit this list and import only required elements +"""Global Defaults""" import webnotes -from webnotes.utils import cint, cstr, get_defaults, set_default, fmt_money, get_last_day, get_first_day -from webnotes import session, form, is_testing, msgprint, errprint - -sql = webnotes.conn.sql - - -# ----------------------------------------------------------------------------------------- - +keydict = { + "fiscal_year": "current_fiscal_year", + 'company': 'default_company', + 'currency': 'default_currency', + 'price_list_name': 'default_price_list', + 'price_list_currency': 'default_price_list_currency', + 'item_group': 'default_item_group', + 'customer_group': 'default_customer_group', + 'cust_master_name': 'cust_master_name', + 'supplier_type': 'default_supplier_type', + 'supp_master_name': 'supp_master_name', + 'territory': 'default_territory', + 'stock_uom': 'default_stock_uom', + 'fraction_currency': 'default_currency_fraction', + 'valuation_method': 'default_valuation_method', + 'date_format': 'date_format', + 'currency_format':'default_currency_format', + 'account_url':'account_url' +} class DocType: - def __init__(self, d, dl): - self.doc, self.doclist = d, dl + def __init__(self, d, dl): + self.doc, self.doclist = d, dl -#--------------------------------------------------------------------------------------------------------------------------------------------- - def get_bal(self,arg): - bal = sql("select `tabAccount Balance`.balance,`tabAccount`.debit_or_credit from `tabAccount`,`tabAccount Balance` where `tabAccount Balance`.account=%s and `tabAccount Balance`.period=%s and `tabAccount Balance`.account=`tabAccount`.name ",(arg,self.doc.current_fiscal_year)) - if bal: - return fmt_money(flt(bal[0][0])) + ' ' + bal[0][1] - - -# ========================================================================================================================================= - - # Update Default - # --------------- - def set_system_default(self, defkey, defvalue): - set_default(defkey, defvalue) - - if defkey == 'fiscal_year': - ysd = sql("select year_start_date from `tabFiscal Year` where name=%s", cstr(defvalue)) - ysd = ysd and ysd[0][0] or '' - if ysd: - set_default('year_start_date', ysd.strftime('%Y-%m-%d')) - set_default('year_end_date', get_last_day(get_first_day(ysd,0,11)).strftime('%Y-%m-%d')) - - - # Update - # -------- - def update_cp(self): - def_list = [['fiscal_year',self.doc.current_fiscal_year], - ['company',self.doc.default_company], - ['currency',self.doc.default_currency], - ['price_list_name',self.doc.default_price_list or ''], - ['price_list_currency', self.doc.default_price_list_currency or ''], - ['item_group',self.doc.default_item_group or ''], - ['customer_group',self.doc.default_customer_group or ''], - ['cust_master_name',self.doc.cust_master_name or ''], - ['supplier_type',self.doc.default_supplier_type or ''], - ['supp_master_name',self.doc.supp_master_name], - ['territory',self.doc.default_territory or ''], - ['stock_uom',self.doc.default_stock_uom or ''], - ['fraction_currency',self.doc.default_currency_fraction or ''], - ['valuation_method',self.doc.default_valuation_method]] - - for d in def_list: - self.set_system_default(d[0],d[1]) - # Update Currency Format + def get_bal(self,arg): + """get account balance (??)""" + from webnotes.utils import fmt_money, flt + bal = webnotes.conn.sql("select `tabAccount Balance`.balance,`tabAccount`.debit_or_credit from `tabAccount`,`tabAccount Balance` where `tabAccount Balance`.account=%s and `tabAccount Balance`.period=%s and `tabAccount Balance`.account=`tabAccount`.name ",(arg,self.doc.current_fiscal_year)) + if bal: + return fmt_money(flt(bal[0][0])) + ' ' + bal[0][1] - sql("update `tabSingles` set value = '%s' where field = 'currency_format' and doctype = 'Control Panel'" % self.doc.default_currency_format) - sql("update `tabSingles` set value = '%s' where field = 'date_format' and doctype = 'Control Panel'" %self.doc.date_format) - - - return get_defaults() - + def validate(self): + """validate""" + if not (self.doc.account_url and (self.doc.account_url.startswith('http://') \ + or self.doc.account_url.startswith('https://'))): + webnotes.msgprint("Account URL must start with 'http://' or 'https://'", raise_exception=1) + + def on_update(self): + """update defaults""" + self.validate() + + for key in keydict: + webnotes.conn.set_default(key, self.doc.fields.get(keydict[key], '')) + + # update year start date and year end date from fiscal_year + ysd = webnotes.conn.sql("""select year_start_date from `tabFiscal Year` + where name=%s""", self.doc.fiscal_year) + + ysd = ysd and ysd[0][0] or '' + from webnotes.utils import get_first_day, get_last_day + if ysd: + webnotes.conn.set_default('year_start_date', ysd.strftime('%Y-%m-%d')) + webnotes.conn.set_default('year_end_date', \ + get_last_day(get_first_day(ysd,0,11)).strftime('%Y-%m-%d')) + + def get_defaults(self): + return webnotes.conn.get_defaults() \ No newline at end of file diff --git a/erpnext/setup/doctype/manage_account/manage_account.txt b/erpnext/setup/doctype/manage_account/manage_account.txt index 8a156a06d10..18a9872d1c2 100644 --- a/erpnext/setup/doctype/manage_account/manage_account.txt +++ b/erpnext/setup/doctype/manage_account/manage_account.txt @@ -5,14 +5,13 @@ { 'creation': '2010-08-08 17:09:09', 'docstatus': 0, - 'modified': '2011-12-21 13:22:33', + 'modified': '2012-01-20 11:25:18', 'modified_by': 'Administrator', 'owner': 'Administrator' }, # These values are common for all DocType { - '_last_update': '1323855502', 'allow_copy': 1, 'allow_email': 1, @@ -29,7 +28,7 @@ 'section_style': 'Tabbed', 'server_code_error': ' ', 'show_in_menu': 1, - 'version': 515 + 'version': 517 }, # These values are common for all DocField @@ -102,6 +101,37 @@ 'write': 1 }, + # DocField + { + 'doctype': 'DocField', + 'fieldtype': 'Section Break', + 'label': 'System' + }, + + # DocField + { + 'colour': 'White:FFF', + 'description': 'Example: http://frappe.erpnext.com', + 'doctype': 'DocField', + 'fieldname': 'account_url', + 'fieldtype': 'Data', + 'label': 'Account URL' + }, + + # DocField + { + 'doctype': 'DocField', + 'fieldtype': 'Column Break' + }, + + # DocField + { + 'doctype': 'DocField', + 'fieldname': 'sms_sender_name', + 'fieldtype': 'Data', + 'label': 'SMS Sender Name' + }, + # DocField { 'doctype': 'DocField', @@ -173,14 +203,6 @@ 'label': 'Default Currency Fraction' }, - # DocField - { - 'doctype': 'DocField', - 'fieldname': 'sms_sender_name', - 'fieldtype': 'Data', - 'label': 'SMS Sender Name' - }, - # DocField { 'doctype': 'DocField', @@ -510,4 +532,4 @@ 'label': 'Employee Records to be created by ', 'options': '\nNaming Series\nEmployee Number' } -] +] \ No newline at end of file diff --git a/index.html b/index.html index ebe217bc5c8..076064ac660 100644 --- a/index.html +++ b/index.html @@ -3,7 +3,8 @@ ERPNext -