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>
+{% } %}