Fixed version conflict
diff --git a/erpnext/accounts/report/item_wise_sales_register/item_wise_sales_register.py b/erpnext/accounts/report/item_wise_sales_register/item_wise_sales_register.py
index 39e38d7..1322649 100644
--- a/erpnext/accounts/report/item_wise_sales_register/item_wise_sales_register.py
+++ b/erpnext/accounts/report/item_wise_sales_register/item_wise_sales_register.py
@@ -5,6 +5,7 @@
 import frappe
 from frappe import _
 from frappe.utils import flt
+from erpnext.accounts.report.sales_register.sales_register import get_mode_of_payments
 
 def execute(filters=None):
 	if not filters: filters = {}
@@ -21,6 +22,7 @@
 		"width": 80
 	})
 	company_currency = frappe.db.get_value("Company", filters.company, "default_currency")
+	mode_of_payments = get_mode_of_payments(set([d.parent for d in item_list]))
 
 	data = []
 	for d in item_list:
@@ -34,7 +36,8 @@
 			delivery_note = d.parent
 
 		row = [d.item_code, d.item_name, d.item_group, d.parent, d.posting_date, d.customer, d.customer_name,
-			d.customer_group, d.debit_to, d.mode_of_payment, d.territory, d.project, d.company, d.sales_order,
+			d.customer_group, d.debit_to, ", ".join(mode_of_payments.get(d.parent, [])), 
+			d.territory, d.project, d.company, d.sales_order,
 			delivery_note, d.income_account, d.cost_center, d.qty, d.base_net_rate, d.base_net_amount]
 
 		for tax in tax_accounts:
@@ -54,7 +57,7 @@
 		_("Posting Date") + ":Date:80", _("Customer") + ":Link/Customer:120",
 		_("Customer Name") + "::120", _("Customer Group") + ":Link/Customer Group:120",
 		_("Receivable Account") + ":Link/Account:120",
-		_("Mode of Payment") + ":Link/Mode of Payment:80", _("Territory") + ":Link/Territory:80",
+		_("Mode of Payment") + "::120", _("Territory") + ":Link/Territory:80",
 		_("Project") + ":Link/Project:80", _("Company") + ":Link/Company:100",
 		_("Sales Order") + ":Link/Sales Order:100", _("Delivery Note") + ":Link/Delivery Note:100",
 		_("Income Account") + ":Link/Account:140", _("Cost Center") + ":Link/Cost Center:140",
@@ -70,10 +73,14 @@
 		("customer", " and si.customer = %(customer)s"),
 		("item_code", " and si_item.item_code = %(item_code)s"),
 		("from_date", " and si.posting_date>=%(from_date)s"),
-		("to_date", " and si.posting_date<=%(to_date)s"),
-		("mode_of_payment", " and ifnull(mode_of_payment, '') = %(mode_of_payment)s")):
+		("to_date", " and si.posting_date<=%(to_date)s")):
 			if filters.get(opts[0]):
 				conditions += opts[1]
+				
+	if filters.get("mode_of_payment"):
+		conditions += """ and exists(select name from `tabSales Invoice Payment`
+			 where parent=si.name 
+			 	and ifnull(`tabSales Invoice Payment`.mode_of_payment, '') = %(mode_of_payment)s)"""
 
 	return conditions
 
@@ -86,7 +93,7 @@
 			si_item.item_code, si_item.item_name, si_item.item_group, si_item.sales_order,
 			si_item.delivery_note, si_item.income_account, si_item.cost_center, si_item.qty,
 			si_item.base_net_rate, si_item.base_net_amount, si.customer_name,
-			si.customer_group, si_item.so_detail, si.update_stock, si.mode_of_payment
+			si.customer_group, si_item.so_detail, si.update_stock
 		from `tabSales Invoice` si, `tabSales Invoice Item` si_item
 		where si.name = si_item.parent and si.docstatus = 1 %s
 		order by si.posting_date desc, si_item.item_code desc""" % conditions, filters, as_dict=1)
diff --git a/erpnext/accounts/report/sales_register/sales_register.py b/erpnext/accounts/report/sales_register/sales_register.py
index 663c5c9..97b7173 100644
--- a/erpnext/accounts/report/sales_register/sales_register.py
+++ b/erpnext/accounts/report/sales_register/sales_register.py
@@ -23,6 +23,7 @@
 	invoice_so_dn_map = get_invoice_so_dn_map(invoice_list)
 	customer_map = get_customer_deatils(invoice_list)
 	company_currency = frappe.db.get_value("Company", filters.company, "default_currency")
+	mode_of_payments = get_mode_of_payments([inv.name for inv in invoice_list])
 
 	data = []
 	for inv in invoice_list:
@@ -33,7 +34,7 @@
 		row = [inv.name, inv.posting_date, inv.customer, inv.customer_name,
 		customer_map.get(inv.customer, {}).get("customer_group"), 
 		customer_map.get(inv.customer, {}).get("territory"),
-		inv.debit_to, inv.mode_of_payment, inv.project, inv.remarks, 
+		inv.debit_to, ", ".join(mode_of_payments.get(inv.name, [])), inv.project, inv.remarks, 
 		", ".join(sales_order), ", ".join(delivery_note), company_currency]
 
 		# map income values
@@ -68,7 +69,7 @@
 		_("Invoice") + ":Link/Sales Invoice:120", _("Posting Date") + ":Date:80", 
 		_("Customer Id") + "::120", _("Customer Name") + "::120", 
 		_("Customer Group") + ":Link/Customer Group:120", _("Territory") + ":Link/Territory:80", 
-		_("Receivable Account") + ":Link/Account:120", _("Mode of Payment") + ":Link/Mode of Payment:80", 
+		_("Receivable Account") + ":Link/Account:120", _("Mode of Payment") + "::120", 
 		_("Project") +":Link/Project:80", _("Remarks") + "::150", 
 		_("Sales Order") + ":Link/Sales Order:100", _("Delivery Note") + ":Link/Delivery Note:100",
 		{
@@ -113,8 +114,11 @@
 	if filters.get("from_date"): conditions += " and posting_date >= %(from_date)s"
 	if filters.get("to_date"): conditions += " and posting_date <= %(to_date)s"
 	
-	if filters.get("mode_of_payment"): conditions += " and ifnull(mode_of_payment, '') = %(mode_of_payment)s"
-
+	if filters.get("mode_of_payment"):
+		conditions += """ and exists(select name from `tabSales Invoice Payment`
+			 where parent=`tabSales Invoice`.name 
+			 	and ifnull(`tabSales Invoice Payment`.mode_of_payment, '') = %(mode_of_payment)s)"""
+				
 	return conditions
 
 def get_invoices(filters):
@@ -188,3 +192,15 @@
 			customer_map.setdefault(cust.name, cust)
 
 	return customer_map
+
+
+def get_mode_of_payments(invoice_list):
+	mode_of_payments = {}
+	inv_mop = frappe.db.sql("""select parent, mode_of_payment
+		from `tabSales Invoice Payment` where parent in (%s) group by parent, mode_of_payment""" %
+		', '.join(['%s']*len(invoice_list)), tuple(invoice_list), as_dict=1)
+
+	for d in inv_mop:
+		mode_of_payments.setdefault(d.parent, []).append(d.mode_of_payment)
+
+	return mode_of_payments
\ No newline at end of file
diff --git a/erpnext/setup/setup_wizard/domainify.py b/erpnext/setup/setup_wizard/domainify.py
index 67d77a8..05af9a6 100644
--- a/erpnext/setup/setup_wizard/domainify.py
+++ b/erpnext/setup/setup_wizard/domainify.py
@@ -63,7 +63,8 @@
 		'Education': {
 			'desktop_icons': ['Student', 'Program', 'Course', 'Student Group', 'Instructor',
 				'Fees',  'ToDo', 'Schools'],
-			'allow_roles': ['Academics User', 'Accounts User', 'Accounts Manager', 'Website Manager'],
+			'allow_roles': ['Academics User', 'Accounts User', 'Accounts Manager', 'Item Manager',
+				'Website Manager', 'HR User', 'HR Manager', 'Purchase User', 'Purchase Manager'],
 			'allow_sidebar_items': ['/announcement', '/course', '/assessment', '/fees']
 		},
 	}
diff --git a/erpnext/stock/doctype/material_request/material_request.py b/erpnext/stock/doctype/material_request/material_request.py
index b1f1423..0be2bae 100644
--- a/erpnext/stock/doctype/material_request/material_request.py
+++ b/erpnext/stock/doctype/material_request/material_request.py
@@ -15,9 +15,9 @@
 from erpnext.manufacturing.doctype.production_order.production_order import get_item_details
 
 
-# form_grid_templates = {
-# 	"items": "templates/form_grid/material_request_grid.html"
-# }
+form_grid_templates = {
+	"items": "templates/form_grid/material_request_grid.html"
+}
 
 class MaterialRequest(BuyingController):
 	def get_feed(self):
diff --git a/erpnext/templates/form_grid/material_request_grid.html b/erpnext/templates/form_grid/material_request_grid.html
new file mode 100644
index 0000000..866c06e
--- /dev/null
+++ b/erpnext/templates/form_grid/material_request_grid.html
@@ -0,0 +1,49 @@
+{% var visible_columns = row.get_visible_columns(["item_code", "warehouse",
+	"item_name", "amount", "stock_uom", "uom", "qty", "schedule_date"]); %}
+
+{% if(!doc) { %}
+	<div class="row">
+		<div class="col-sm-4">{%= __("Item") %}</div>
+		<div class="col-sm-3">{%= __("Required On") %}</div>
+		<div class="col-sm-3">{%= __("Warehouse") %}</div>
+		<div class="col-sm-2 text-right">{%= __("Qty") %}</div>
+	</div>
+{% } else { %}
+	<div class="row">
+		<div class="col-sm-4">
+            <span class="indicator {%= (doc.qty<=doc.ordered_qty) ? "green" : "orange" %}">{%= doc.item_code %}</strong>
+			{% if(doc.item_name != doc.item_code) { %}
+				<br>{%= doc.item_name %}{% } %}
+            <!-- {% if(doc.item_name != doc.description) { %}
+                <p>{%= doc.description %}</p>{% } %} -->
+			{% include "templates/form_grid/includes/visible_cols.html" %}
+		</div>
+
+
+		<div class="col-sm-3">
+			{% if(doc.schedule_date) { %}
+                <span title="{%= __("Reqd By Date") %}" class="{%=
+				(frappe.datetime.get_diff(doc.schedule_date, frappe.datetime.get_today()) < 0
+					&& doc.ordered_qty < doc.qty)
+					? "text-danger" : "text-muted" %}">
+					{%= doc.get_formatted("schedule_date") %}</span>
+			{% } %}
+        </div>
+
+        <!-- warehouse -->
+		<div class="col-sm-3">
+			{% if(doc.warehouse) { %}
+				<span class="label label-default" title="{%= __("For Warehouse") %}"
+                    style="margin-right: 10px;">
+					{%= doc.warehouse %}
+				</span>
+			{% } %}
+        </div>
+
+		<!-- qty -->
+		<div class="col-sm-2 text-right">
+			{%= doc.get_formatted("qty") %}
+			<span class="small">{%= doc.uom || doc.stock_uom %}</span>
+		</div>
+	</div>
+{% } %}