from __future__ import unicode_literals

from frappe import _

doctype_rule_map = {
	'Item': {
		'points': 5,
		'for_doc_event': 'New'
	},
	'Customer': {
		'points': 5,
		'for_doc_event': 'New'
	},
	'Supplier': {
		'points': 5,
		'for_doc_event': 'New'
	},
	'Lead': {
		'points': 2,
		'for_doc_event': 'New'
	},
	'Opportunity': {
		'points': 10,
		'for_doc_event': 'Custom',
		'condition': 'doc.status=="Converted"',
		'rule_name': _('On Converting Opportunity'),
		'user_field': 'converted_by'
	},
	'Sales Order': {
		'points': 10,
		'for_doc_event': 'Submit',
		'rule_name': _('On Sales Order Submission'),
		'user_field': 'modified_by'
	},
	'Purchase Order': {
		'points': 10,
		'for_doc_event': 'Submit',
		'rule_name': _('On Purchase Order Submission'),
		'user_field': 'modified_by'
	},
	'Task': {
		'points': 5,
		'condition': 'doc.status == "Completed"',
		'rule_name': _('On Task Completion'),
		'user_field': 'completed_by'
	}
}

def get_default_energy_point_rules():
	return [{
		'doctype': 'Energy Point Rule',
		'reference_doctype': doctype,
		'for_doc_event': rule.get('for_doc_event') or 'Custom',
		'condition': rule.get('condition'),
		'rule_name': rule.get('rule_name') or _('On {0} Creation').format(doctype),
		'points': rule.get('points'),
		'user_field': rule.get('user_field') or 'owner'
	} for doctype, rule in doctype_rule_map.items()]
