diff --git a/erpnext/setup/page/setup_wizard/setup_wizard.js b/erpnext/setup/page/setup_wizard/setup_wizard.js index a66cb796c3..b2af950674 100644 --- a/erpnext/setup/page/setup_wizard/setup_wizard.js +++ b/erpnext/setup/page/setup_wizard/setup_wizard.js @@ -365,7 +365,7 @@ frappe.wiz.Wizard = Class.extend({ this.parent = $('
').appendTo(this.parent); }, get_message: function(html) { - return $(repl('
\ + return $(repl('
\
%(html)s
\
', {html:html})) }, @@ -430,7 +430,9 @@ frappe.wiz.Wizard = Class.extend({ frappe.wiz.WizardSlide = Class.extend({ init: function(opts) { $.extend(this, opts); - this.$wrapper = $("
").appendTo(this.wiz.parent); + this.$wrapper = $("
") + .appendTo(this.wiz.parent) + .attr("data-slide-id", this.id); }, make: function() { var me = this; diff --git a/erpnext/setup/page/setup_wizard/setup_wizard.py b/erpnext/setup/page/setup_wizard/setup_wizard.py index 36ef345049..42c85d7101 100644 --- a/erpnext/setup/page/setup_wizard/setup_wizard.py +++ b/erpnext/setup/page/setup_wizard/setup_wizard.py @@ -15,6 +15,7 @@ import install_fixtures @frappe.whitelist() def setup_account(args=None): + if frappe.db.sql("select name from tabCompany"): frappe.throw(_("Setup Already Complete!!")) @@ -260,16 +261,22 @@ def create_taxes(args): # replace % in case someone also enters the % symbol tax_rate = (args.get("tax_rate_" + str(i)) or "").replace("%", "") - frappe.get_doc({ - "doctype":"Account", - "company": args.get("company_name"), - "parent_account": "Duties and Taxes - " + args.get("company_abbr"), - "account_name": args.get("tax_" + str(i)), - "group_or_ledger": "Ledger", - "report_type": "Balance Sheet", - "account_type": "Tax", - "tax_rate": flt(tax_rate) if tax_rate else None - }).insert() + try: + frappe.get_doc({ + "doctype":"Account", + "company": args.get("company_name"), + "parent_account": "Duties and Taxes - " + args.get("company_abbr"), + "account_name": args.get("tax_" + str(i)), + "group_or_ledger": "Ledger", + "report_type": "Balance Sheet", + "account_type": "Tax", + "tax_rate": flt(tax_rate) if tax_rate else None + }).insert() + except frappe.NameError, e: + if e.args[2][0]==1062: + pass + else: + raise def create_items(args): for i in xrange(1,6): diff --git a/erpnext/tests/sel_tests.py b/erpnext/tests/sel_tests.py index b1db9bbcde..8ff0b0ea31 100644 --- a/erpnext/tests/sel_tests.py +++ b/erpnext/tests/sel_tests.py @@ -14,11 +14,89 @@ from __future__ import unicode_literals import frappe from frappe.utils import sel +import time def start(): - sel.start(verbose=True) + try: + run() + finally: + sel.close() + +def run(): + def next_slide(idx, selector="next-btn"): + sel.find('[data-slide-id="{0}"] .{1}'.format(idx, selector))[0].click() + sel.wait_for_ajax() + + + sel.start(verbose=True, driver="Firefox") + sel.input_wait = 0.2 sel.login("#page-setup-wizard") + # slide 1 + next_slide("0") + + sel.set_field("first_name", "Test") + sel.set_field("last_name", "User") + sel.set_field("email", "test@erpnext.com") + sel.set_field("password", "test") + + next_slide("1") + + sel.set_select("country", "India") + + next_slide("2") + + sel.set_field("company_name", "Wind Power LLC") + sel.set_field("fy_start_date", "01-04-2014") + sel.set_field("company_tagline", "Wind Power For Everyone") + + next_slide("3") + next_slide("4") + + sel.set_field("tax_1", "VAT") + sel.set_field("tax_rate_1", "12.5") + + sel.set_field("tax_2", "Service Tax") + sel.set_field("tax_rate_2", "10.36") + + next_slide("5") + + sel.set_field("customer_1", "Asian Junction") + sel.set_field("customer_contact_1", "January Vaclavik") + sel.set_field("customer_2", "Life Plan Counselling") + sel.set_field("customer_contact_2", "Jana Tobeolisa") + sel.set_field("customer_3", "Two Pesos") + sel.set_field("customer_contact_3", "Satomi Shigeki") + sel.set_field("customer_4", "Intelacard") + sel.set_field("customer_contact_4", "Hans Rasmussen") + + next_slide("6") + + sel.set_field("item_1", "Wind Turbine A") + sel.set_field("item_2", "Wind Turbine B") + sel.set_field("item_3", "Wind Turbine C") + + next_slide("7") + + sel.set_field("supplier_1", "Helios Air") + sel.set_field("supplier_contact_1", "Quimey Osorio") + sel.set_field("supplier_2", "Ks Merchandise") + sel.set_field("supplier_contact_2", "Edgarda Salcedo") + sel.set_field("supplier_3", "Eagle Hardware") + sel.set_field("supplier_contact_3", "Hafsteinn Bjarnarsonar") + + next_slide("8") + + sel.set_field("item_buy_1", "Bearing Pipe") + sel.set_field("item_buy_2", "Bearing Assembly") + sel.set_field("item_buy_3", "Base Plate") + sel.set_field("item_buy_4", "Coil") + + next_slide("9", "complete-btn") + + sel.wait('[data-state="setup-complete"]') + + w = raw_input("quit?") # complete setup # new customer