Merge branch 'stable' into latest

Conflicts:
	erpnext/home/page/event_updates/event_updates.js
diff --git a/erpnext/home/page/event_updates/event_updates.js b/erpnext/home/page/event_updates/event_updates.js
index 9a76d16..99e8605 100644
--- a/erpnext/home/page/event_updates/event_updates.js
+++ b/erpnext/home/page/event_updates/event_updates.js
@@ -613,7 +613,7 @@
 			// complete registration
 			if(in_list(user_roles,'System Manager')) { 
 				wn.require("erpnext/home/page/event_updates/complete_registration.js");
-				pscript.complete_registration(r.message.registration_complete); 
+				pscript.complete_registration(r.message.registration_complete, r.message.profile); 
 			}
 			
 			// setup wizard
@@ -624,6 +624,114 @@
 	);	
 }
 
+// complete my company registration
+// --------------------------------
+pscript.complete_registration = function(is_complete, profile) {
+	if(is_complete == 'No'){
+		var d = new Dialog(400, 200, "Setup your Account");
+		if(user != 'Administrator'){
+			d.no_cancel(); // Hide close image
+			$dh(page_body.wntoolbar.wrapper);
+		}
+
+		d.make_body([
+			['HTML', 'Your Profile Details', '<h4>Your Profile Details</h4>'],
+			['Data', 'First Name'],
+			['Data', 'Last Name'],
+			['HTML', 'Company Details', '<h4>Create your first company</h4>'],
+			['Data','Company Name','Example: Your Company LLC'],
+	  		['Data','Company Abbreviation', 'Example: YC (all your acconts will have this as a suffix)'],
+	  		['Select','Fiscal Year Start Date'],
+	  		['Select','Default Currency'],
+	  		['Button','Save'],
+		]);
+
+		// if company name is set, set the input value
+		// and disable it
+		if(locals['Control Panel']['Control Panel'].company_name) {
+			d.widgets['Company Name'].value = locals['Control Panel']['Control Panel'].company_name;
+			d.widgets['Company Name'].disabled = 1;
+		}
+
+		if(profile && profile.length>0) {
+			if(profile[0].first_name && profile[0].first_name!='None') {
+				d.widgets['First Name'].value = profile[0].first_name;
+			}
+
+			if(profile[0].last_name && profile[0].last_name!='None') {
+				d.widgets['Last Name'].value = profile[0].last_name;
+			}
+		}		
+
+		//d.widgets['Save'].disabled = true;	  // disable Save button
+		pscript.make_dialog_field(d);
+
+		// submit details
+		d.widgets['Save'].onclick = function()
+		{
+			d.widgets['Save'].set_working();
+			
+			flag = pscript.validate_fields(d);
+			if(flag)
+			{
+				var args = [
+					d.widgets['Company Name'].value,
+					d.widgets['Company Abbreviation'].value,
+					d.widgets['Fiscal Year Start Date'].value,
+					d.widgets['Default Currency'].value,
+					d.widgets['First Name'].value,
+					d.widgets['Last Name'].value
+				];
+				
+				$c_obj('Setup Control','setup_account',JSON.stringify(args),function(r, rt){
+					sys_defaults = r.message.sys_defaults;
+					user_fullname = r.message.user_fullname;
+					d.hide();
+					$ds(page_body.wntoolbar.wrapper);
+					$('#user_fullname').html(user_fullname + " (Profile Settings)");
+				});
+			} else {
+				d.widgets['Save'].done_working();
+			}
+		}
+		d.show();
+	}
+}
+
+// make dialog fields
+// ------------------
+pscript.make_dialog_field = function(d)
+{
+	// fiscal year format 
+	fisc_format = d.widgets['Fiscal Year Start Date'];
+	add_sel_options(fisc_format, ['', '1st Jan', '1st Apr', '1st Jul', '1st Oct']);
+  
+	// default currency
+	currency_list = ['', 'AED', 'AFN', 'ALL', 'AMD', 'ANG', 'AOA', 'ARS', 'AUD', 'AZN', 'BAM', 'BBD', 'BDT', 'BGN', 'BHD', 'BIF', 'BMD', 'BND', 'BOB', 'BRL', 'BSD', 'BTN', 'BYR', 'BZD', 'CAD', 'CDF', 'CFA', 'CFP', 'CHF', 'CLP', 'CNY', 'COP', 'CRC', 'CUC', 'CZK', 'DJF', 'DKK', 'DOP', 'DZD', 'EEK', 'EGP', 'ERN', 'ETB', 'EUR', 'EURO', 'FJD', 'FKP', 'FMG', 'GBP', 'GEL', 'GHS', 'GIP', 'GMD', 'GNF', 'GQE', 'GTQ', 'GYD', 'HKD', 'HNL', 'HRK', 'HTG', 'HUF', 'IDR', 'ILS', 'INR', 'IQD', 'IRR', 'ISK', 'JMD', 'JOD', 'JPY', 'KES', 'KGS', 'KHR', 'KMF', 'KPW', 'KRW', 'KWD', 'KYD', 'KZT', 'LAK', 'LBP', 'LKR', 'LRD', 'LSL', 'LTL', 'LVL', 'LYD', 'MAD', 'MDL', 'MGA', 'MKD', 'MMK', 'MNT', 'MOP', 'MRO', 'MUR', 'MVR', 'MWK', 'MXN', 'MYR', 'MZM', 'NAD', 'NGN', 'NIO', 'NOK', 'NPR', 'NRs', 'NZD', 'OMR', 'PAB', 'PEN', 'PGK', 'PHP', 'PKR', 'PLN', 'PYG', 'QAR', 'RMB', 'RON', 'RSD', 'RUB', 'RWF', 'SAR', 'SCR', 'SDG', 'SDR', 'SEK', 'SGD', 'SHP', 'SOS', 'SRD', 'STD', 'SYP', 'SZL', 'THB', 'TJS', 'TMT', 'TND', 'TRY', 'TTD', 'TWD', 'TZS', 'UAE', 'UAH', 'UGX', 'USD', 'USh', 'UYU', 'UZS', 'VEB', 'VND', 'VUV', 'WST', 'XAF', 'XCD', 'XDR', 'XOF', 'XPF', 'YEN', 'YER', 'YTL', 'ZAR', 'ZMK', 'ZWR'];
+	currency = d.widgets['Default Currency'];
+	add_sel_options(currency, currency_list);
+}
+
+
+// validate fields
+// ---------------
+pscript.validate_fields = function(d)
+{
+	var lst = ['First Name', 'Company Name', 'Company Abbreviation', 'Fiscal Year Start Date', 'Default Currency'];
+	var msg = 'Please enter the following fields\n';
+	var flag = 1;
+	for(var i=0; i<lst.length; i++)
+	{
+		if(!d.widgets[lst[i]].value || d.widgets[lst[i]].value=='None'){
+			flag = 0;
+			msg = msg + NEWLINE + lst[i];
+		}
+	}
+
+	if(!flag)  alert(msg);
+	return flag;
+}
+
 SetupWizard = function(status) { 
 	var me = this;
 	$.extend(this, {
diff --git a/erpnext/home/page/event_updates/event_updates.py b/erpnext/home/page/event_updates/event_updates.py
index 1d1d1b2..e4690d0 100644
--- a/erpnext/home/page/event_updates/event_updates.py
+++ b/erpnext/home/page/event_updates/event_updates.py
@@ -36,7 +36,10 @@
 		'is_trial': webnotes.conn.get_global('is_trial'),
 		'days_to_expiry': (webnotes.conn.get_global('days_to_expiry') or '0'),
 		'setup_status': get_setup_status(),
-		'registration_complete': cint(get_defaults('registration_complete')) and 'Yes' or 'No'
+		'registration_complete': cint(get_defaults('registration_complete')) and 'Yes' or 'No',
+		'profile': webnotes.conn.sql("""\
+			SELECT first_name, last_name FROM `tabProfile`
+			WHERE name=%s AND docstatus<2""", webnotes.user.name, as_dict=1)
 	}
 	return ret
 
@@ -89,4 +92,4 @@
 		return ''
 		
 	return {'ret': ret, 'percent': percent}
-		
\ No newline at end of file
+		
diff --git a/erpnext/setup/doctype/setup_control/setup_control.py b/erpnext/setup/doctype/setup_control/setup_control.py
index 55b967e..6616338 100644
--- a/erpnext/setup/doctype/setup_control/setup_control.py
+++ b/erpnext/setup/doctype/setup_control/setup_control.py
@@ -47,9 +47,17 @@
 	# Account Setup
 	# ---------------
 	def setup_account(self, args):
-		company_name, comp_abbr, fy_start, currency = eval(args)
+		import webnotes
+		company_name, comp_abbr, fy_start, currency, first_name, last_name = eval(args)
 		curr_fiscal_year,fy_start_date = self.get_fy_details(fy_start)
 		self.currency = currency
+
+		# Update Profile
+		if last_name=='None': last_name = None
+		webnotes.conn.sql("""\
+			UPDATE `tabProfile` SET first_name=%s, last_name=%s
+			WHERE name=%s AND docstatus<2""", (first_name, last_name, webnotes.user.name))
+			
 		
 		# Fiscal Year
 		master_dict = {'Fiscal Year':{'year':curr_fiscal_year, 'year_start_date':fy_start_date}}
@@ -66,6 +74,7 @@
 								'default_currency': currency,
 								'default_company':company_name,
 								'default_valuation_method':'FIFO',
+								'default_stock_uom':'Nos',
 								'date_format':'dd-mm-yyyy',
 								'default_currency_format':'Lacs',
 								'so_required':'No',
@@ -87,7 +96,8 @@
 		msgprint("Great! Your company has now been created")
 		
 		import webnotes.utils
-		return webnotes.utils.get_defaults()
+		user_fullname = (first_name or '') + (last_name and (" " + last_name) or '')
+		return {'sys_defaults': webnotes.utils.get_defaults(), 'user_fullname': user_fullname}
 
 		
 	# Get Fiscal year Details