Merge branch 'master' of github.com:webnotes/erpnext
diff --git a/patches/august_2013/fix_fiscal_year.py b/patches/august_2013/fix_fiscal_year.py
new file mode 100644
index 0000000..49c1975
--- /dev/null
+++ b/patches/august_2013/fix_fiscal_year.py
@@ -0,0 +1,49 @@
+import webnotes
+
+def execute():
+	# create_fiscal_years()
+	
+	doctypes = webnotes.conn.sql_list("""select parent from tabDocField
+		where (fieldtype="Link" and options='Fiscal Year')
+		or (fieldtype="Select" and options='link:Fiscal Year')""")
+		
+	for dt in doctypes:
+		date_fields = webnotes.conn.sql_list("""select fieldname from tabDocField
+			where parent=%s and fieldtype='Date'""", dt)
+		
+		date_field = get_date_field(date_fields, dt)
+
+		if not date_field:
+			print dt, date_field
+		else:
+			webnotes.conn.sql("""update `tab%s` set fiscal_year = 
+				if(%s<='2013-06-30', '2012-2013', '2013-2014')""" % (dt, date_field))
+			
+def create_fiscal_years():
+	fiscal_years = {
+		"2012-2013": ["2012-07-01", "2013-06-30"],
+		"2013-2014": ["2013-07-01", "2014-06-30"]
+	}
+	
+	for d in fiscal_years:
+		webnotes.bean({
+			"doctype": "Fiscal Year",
+			"year": d,
+			"year_start_date": fiscal_years[d][0],
+			"is_fiscal_year_closed": "No"
+		}).insert()
+	
+		
+def get_date_field(date_fields, dt):
+	date_field = None
+	if date_fields:
+		if "posting_date" in date_fields:
+			date_field = "posting_date"
+		elif "transaction_date" in date_fields:
+			date_field = 'transaction_date'
+		else:
+			date_field = date_fields[0]
+			# print dt, date_fields
+			
+	return date_field
+		
\ No newline at end of file