예제 #1
0
def execute():
    from webnotes.country_info import get_all
    data = get_all()

    webnotes.reload_doc("setup", "doctype", "country")
    webnotes.reload_doc("setup", "doctype", "currency")

    for c in webnotes.conn.sql("""select name from tabCountry"""):
        if c[0] in data:
            info = webnotes._dict(data[c[0]])
            doc = webnotes.doc("Country", c[0])
            doc.date_format = info.date_format or "dd-mm-yyyy"
            doc.time_zones = "\n".join(info.timezones or [])
            doc.save()

            if webnotes.conn.exists("Currency", info.currency):
                doc = webnotes.doc("Currency", info.currency)
                doc.fields.update({
                    "fraction":
                    info.currency_fraction,
                    "symbol":
                    info.currency_symbol,
                    "fraction_units":
                    info.currency_fraction_units
                })
                doc.save()
예제 #2
0
파일: install.py 프로젝트: Jdfkat/erpnext
def import_country_and_currency():
    from webnotes.country_info import get_all

    data = get_all()

    for name in data:
        country = webnotes._dict(data[name])
        webnotes.doc(
            {
                "doctype": "Country",
                "country_name": name,
                "date_format": country.date_format or "dd-mm-yyyy",
                "time_zones": "\n".join(country.timezones or []),
            }
        ).insert()

        if country.currency and not webnotes.conn.exists("Currency", country.currency):
            webnotes.doc(
                {
                    "doctype": "Currency",
                    "currency_name": country.currency,
                    "fraction": country.currency_fraction,
                    "symbol": country.currency_symbol,
                    "fraction_units": country.currency_fraction_units,
                    "number_format": country.number_format,
                }
            ).insert()
예제 #3
0
def execute():
	from webnotes.country_info import get_all
	data = get_all()

	webnotes.reload_doc("setup", "doctype", "currency")	
	
	for c in data:
		info = webnotes._dict(data[c])
		if webnotes.conn.exists("Currency", info.currency):
			doc = webnotes.doc("Currency", info.currency)
			doc.fields.update({
				"number_format": info.number_format,
			})
			doc.save()
예제 #4
0
def execute():
    from webnotes.country_info import get_all
    data = get_all()

    webnotes.reload_doc("setup", "doctype", "currency")

    for c in data:
        info = webnotes._dict(data[c])
        if webnotes.conn.exists("Currency", info.currency):
            doc = webnotes.doc("Currency", info.currency)
            doc.fields.update({
                "number_format": info.number_format,
            })
            doc.save()
예제 #5
0
파일: install.py 프로젝트: poses/erpnext
def import_country_and_currency():
	from webnotes.country_info import get_all
	data = get_all()
	
	for name in data:
		country = webnotes._dict(data[name])
		webnotes.doc({
			"doctype": "Country",
			"country_name": name,
			"date_format": country.date_format or "dd-mm-yyyy",
			"time_zones": "\n".join(country.timezones or [])
		}).insert()
		
		if country.currency and not webnotes.conn.exists("Currency", country.currency):
			webnotes.doc({
				"doctype": "Currency",
				"currency_name": country.currency,
				"fraction": country.currency_fraction,
				"symbol": country.currency_symbol,
				"fraction_units": country.currency_fraction_units,
				"number_format": country.number_format
			}).insert()
예제 #6
0
def execute():
	from webnotes.country_info import get_all
	data = get_all()

	webnotes.reload_doc("setup", "doctype", "country")
	webnotes.reload_doc("setup", "doctype", "currency")	
	
	for c in webnotes.conn.sql("""select name from tabCountry"""):
		if c[0] in data:
			info = webnotes._dict(data[c[0]])
			doc = webnotes.doc("Country", c[0])
			doc.date_format = info.date_format or "dd-mm-yyyy"
			doc.time_zones = "\n".join(info.timezones or [])
			doc.save()
			
			if webnotes.conn.exists("Currency", info.currency):
				doc = webnotes.doc("Currency", info.currency)
				doc.fields.update({
					"fraction": info.currency_fraction,
					"symbol": info.currency_symbol,
					"fraction_units": info.currency_fraction_units
				})
				doc.save()
예제 #7
0
파일: install.py 프로젝트: mxmo-co/erpnext
def import_country_and_currency():
	from webnotes.country_info import get_all
	data = get_all()
	
	# Sets the permissions of the new user profiles for countries

	for role  in ["Sales Master Manager", "Purchase Master Manager", 
		"HR User", "HR Manager", "System Manager"]:
		webnotes.doc({
			"doctype": "DocPerm",
			"parent": "Country",
			"parenttype": "Doctype",
			"parentfield": "permissions",
			"role": role,
			"create": 1,
			"read": 1,
			"cancel": 0,
			"amend": 0,
			"submit": 0,
			"report": 1,
			"write": 1
		}).insert()

	webnotes.doc({
		"doctype": "DocPerm",
		"parent": "Country",
		"parenttype": "Doctype",
		"parentfield": "permissions",
		"role": "Sales Master Manager",
		"read": 1,
		"report": 1,
	)

	for name in data:
		country = webnotes._dict(data[name])
		webnotes.doc({
			"doctype": "Country",
			"country_name": name,
			"date_format": country.date_format or "dd-mm-yyyy",
			"time_zones": "\n".join(country.timezones or [])
		}).insert()
		
		if country.currency and not webnotes.conn.exists("Currency", country.currency):
			webnotes.doc({
				"doctype": "Currency",
				"currency_name": country.currency,
				"fraction": country.currency_fraction,
				"symbol": country.currency_symbol,
				"fraction_units": country.currency_fraction_units,
				"number_format": country.number_format
			}).insert(

def import_defaults():
	records = [
		# item group
		{'doctype': 'Item Group', 'item_group_name': 'All Item Groups', 'is_group': 'Yes', 'parent_item_group': ''},
		{'doctype': 'Item Group', 'item_group_name': 'Products', 'is_group': 'No', 'parent_item_group': 'All Item Groups'},
		{'doctype': 'Item Group', 'item_group_name': 'Raw Material', 'is_group': 'No', 'parent_item_group': 'All Item Groups'},
		{'doctype': 'Item Group', 'item_group_name': 'Services', 'is_group': 'No', 'parent_item_group': 'All Item Groups'},
		{'doctype': 'Item Group', 'item_group_name': 'Sub Assemblies', 'is_group': 'No', 'parent_item_group': 'All Item Groups'},
		
		# deduction type
		{'doctype': 'Deduction Type', 'name': 'Income Tax', 'description': 'Income Tax', 'deduction_name': 'Income Tax'},
		{'doctype': 'Deduction Type', 'name': 'Professional Tax', 'description': 'Professional Tax', 'deduction_name': 'Professional Tax'},
		{'doctype': 'Deduction Type', 'name': 'Provident Fund', 'description': 'Provident fund', 'deduction_name': 'Provident Fund'},
		
		# earning type
		{'doctype': 'Earning Type', 'name': 'Basic', 'description': 'Basic', 'earning_name': 'Basic', 'taxable': 'Yes'},
		{'doctype': 'Earning Type', 'name': 'House Rent Allowance', 'description': 'House Rent Allowance', 'earning_name': 'House Rent Allowance', 'taxable': 'No'},
		
		# expense claim type
		{'doctype': 'Expense Claim Type', 'name': 'Calls', 'expense_type': 'Calls'},
		{'doctype': 'Expense Claim Type', 'name': 'Food', 'expense_type': 'Food'},
		{'doctype': 'Expense Claim Type', 'name': 'Medical', 'expense_type': 'Medical'},
		{'doctype': 'Expense Claim Type', 'name': 'Others', 'expense_type': 'Others'},
		{'doctype': 'Expense Claim Type', 'name': 'Travel', 'expense_type': 'Travel'},
		
		# leave type
		{'doctype': 'Leave Type', 'leave_type_name': 'Casual Leave', 'name': 'Casual Leave', 'is_encash': 1, 'is_carry_forward': 1, 'max_days_allowed': '3', },
		{'doctype': 'Leave Type', 'leave_type_name': 'Compensatory Off', 'name': 'Compensatory Off', 'is_encash': 0, 'is_carry_forward': 0, },
		{'doctype': 'Leave Type', 'leave_type_name': 'Sick Leave', 'name': 'Sick Leave', 'is_encash': 0, 'is_carry_forward': 0, },
		{'doctype': 'Leave Type', 'leave_type_name': 'Privilege Leave', 'name': 'Privilege Leave', 'is_encash': 0, 'is_carry_forward': 0, },
		{'doctype': 'Leave Type', 'leave_type_name': 'Leave Without Pay', 'name': 'Leave Without Pay', 'is_encash': 0, 'is_carry_forward': 0, 'is_lwp':1},
		
		# territory
		{'doctype': 'Territory', 'territory_name': 'All Territories', 'is_group': 'Yes', 'name': 'All Territories', 'parent_territory': ''},
			
		# customer group
		{'doctype': 'Customer Group', 'customer_group_name': 'All Customer Groups', 'is_group': 'Yes', 	'name': 'All Customer Groups', 'parent_customer_group': ''},
		{'doctype': 'Customer Group', 'customer_group_name': 'Individual', 'is_group': 'No', 'parent_customer_group': 'All Customer Groups'},
		{'doctype': 'Customer Group', 'customer_group_name': 'Commercial', 'is_group': 'No', 'parent_customer_group': 'All Customer Groups'},
		{'doctype': 'Customer Group', 'customer_group_name': 'Non Profit', 'is_group': 'No', 'parent_customer_group': 'All Customer Groups'},
		{'doctype': 'Customer Group', 'customer_group_name': 'Government', 'is_group': 'No', 'parent_customer_group': 'All Customer Groups'},
			
		# supplier type
		{'doctype': 'Supplier Type', 'supplier_type': 'Services'},
		{'doctype': 'Supplier Type', 'supplier_type': 'Local'},
		{'doctype': 'Supplier Type', 'supplier_type': 'Raw Material'},
		{'doctype': 'Supplier Type', 'supplier_type': 'Electrical'},
		{'doctype': 'Supplier Type', 'supplier_type': 'Hardware'},
		{'doctype': 'Supplier Type', 'supplier_type': 'Pharmaceutical'},
		{'doctype': 'Supplier Type', 'supplier_type': 'Distributor'},
		
		# Sales Person
		{'doctype': 'Sales Person', 'sales_person_name': 'Sales Team', 'is_group': "Yes", "parent_sales_person": ""},
		
		# UOM
		{'uom_name': 'Unit', 'doctype': 'UOM', 'name': 'Unit', "must_be_whole_number": 1}, 
		{'uom_name': 'Box', 'doctype': 'UOM', 'name': 'Box', "must_be_whole_number": 1}, 
		{'uom_name': 'Kg', 'doctype': 'UOM', 'name': 'Kg'}, 
		{'uom_name': 'Nos', 'doctype': 'UOM', 'name': 'Nos', "must_be_whole_number": 1}, 
		{'uom_name': 'Pair', 'doctype': 'UOM', 'name': 'Pair', "must_be_whole_number": 1}, 
		{'uom_name': 'Set', 'doctype': 'UOM', 'name': 'Set', "must_be_whole_number": 1}, 
		{'uom_name': 'Hour', 'doctype': 'UOM', 'name': 'Hour'},
		{'uom_name': 'Minute', 'doctype': 'UOM', 'name': 'Minute'}, 
	]
	
	from webnotes.modules import scrub
	for r in records:
		bean = webnotes.bean(r)
		
		# ignore mandatory for root
		parent_link_field = ("parent_" + scrub(bean.doc.doctype))
		if parent_link_field in bean.doc.fields and not bean.doc.fields.get(parent_link_field):
			bean.ignore_mandatory = True
		
		bean.insert()