Merge pull request #6261 from nabinhait/order_trends_fix
Ignore closed sales/purchase order in trends report
diff --git a/erpnext/accounts/doctype/asset/asset.js b/erpnext/accounts/doctype/asset/asset.js
index 38be263..8ff4b83 100644
--- a/erpnext/accounts/doctype/asset/asset.js
+++ b/erpnext/accounts/doctype/asset/asset.js
@@ -18,7 +18,8 @@
frm.set_query("warehouse", function() {
return {
"filters": {
- "company": frm.doc.company
+ "company": frm.doc.company,
+ "is_group": 0
}
};
});
@@ -232,7 +233,10 @@
"options": "Warehouse",
"get_query": function () {
return {
- filters: [["Warehouse", "company", "in", ["", cstr(frm.doc.company)]]]
+ filters: [
+ ["Warehouse", "company", "in", ["", cstr(frm.doc.company)]],
+ ["Warehouse", "is_group", "=", 0]
+ ]
}
},
"reqd": 1
diff --git a/erpnext/accounts/doctype/asset_movement/asset_movement.js b/erpnext/accounts/doctype/asset_movement/asset_movement.js
index 680eedc..808f01a 100644
--- a/erpnext/accounts/doctype/asset_movement/asset_movement.js
+++ b/erpnext/accounts/doctype/asset_movement/asset_movement.js
@@ -7,7 +7,10 @@
frm.set_query("target_warehouse", function() {
return {
- filters: [["Warehouse", "company", "in", ["", cstr(frm.doc.company)]]]
+ filters: [
+ ["Warehouse", "company", "in", ["", cstr(frm.doc.company)]],
+ ["Warehouse", "is_group", "=", 0]
+ ]
}
})
diff --git a/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.js b/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.js
index c51231e..ccdd87f 100644
--- a/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.js
+++ b/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.js
@@ -340,14 +340,20 @@
$.each(["warehouse", "rejected_warehouse"], function(i, field) {
frm.set_query(field, "items", function() {
return {
- filters: [["Warehouse", "company", "in", ["", cstr(frm.doc.company)]]]
+ filters: [
+ ["Warehouse", "company", "in", ["", cstr(frm.doc.company)]],
+ ["Warehouse", "is_group", "=", 0]
+ ]
}
})
})
frm.set_query("supplier_warehouse", function() {
return {
- filters: [["Warehouse", "company", "in", ["", cstr(frm.doc.company)]]]
+ filters: [
+ ["Warehouse", "company", "in", ["", cstr(frm.doc.company)]],
+ ["Warehouse", "is_group", "=", 0]
+ ]
}
})
},
diff --git a/erpnext/accounts/report/accounts_receivable/accounts_receivable.html b/erpnext/accounts/report/accounts_receivable/accounts_receivable.html
index 712d35b..75c3e8c 100644
--- a/erpnext/accounts/report/accounts_receivable/accounts_receivable.html
+++ b/erpnext/accounts/report/accounts_receivable/accounts_receivable.html
@@ -1,5 +1,5 @@
<div style="margin-bottom: 7px;" class="text-center">
- {%= frappe.boot.letter_heads[frappe.defaults.get_default("letter_head")] %}
+ {%= frappe.boot.letter_heads[frappe.get_doc(":Company", filters.company).default_letter_head || frappe.defaults.get_default("letter_head")] %}
</div>
<h2 class="text-center">{%= __(report.report_name) %}</h2>
<h4 class="text-center">{%= filters.customer || filters.supplier %} </h4>
diff --git a/erpnext/accounts/report/financial_statements.html b/erpnext/accounts/report/financial_statements.html
index 84cad16..6959e5d 100644
--- a/erpnext/accounts/report/financial_statements.html
+++ b/erpnext/accounts/report/financial_statements.html
@@ -13,7 +13,9 @@
height: 37px;
}
</style>
-
+<div style="margin-bottom: 7px;" class="text-center">
+ {%= frappe.boot.letter_heads[frappe.get_doc(":Company", filters.company).default_letter_head || frappe.defaults.get_default("letter_head")] %}
+</div>
<h2 class="text-center">{%= __(report.report_name) %}</h2>
<h4 class="text-center">{%= filters.company %}</h3>
<h4 class="text-center">{%= filters.fiscal_year %}</h3>
diff --git a/erpnext/accounts/report/general_ledger/general_ledger.html b/erpnext/accounts/report/general_ledger/general_ledger.html
index f22e721..7552eed 100644
--- a/erpnext/accounts/report/general_ledger/general_ledger.html
+++ b/erpnext/accounts/report/general_ledger/general_ledger.html
@@ -1,5 +1,5 @@
<div style="margin-bottom: 7px;" class="text-center">
- {%= frappe.boot.letter_heads[filters.letter_head || frappe.defaults.get_default("letter_head")] %}
+ {%= frappe.boot.letter_heads[filters.letter_head || frappe.get_doc(":Company", filters.company).default_letter_head || frappe.defaults.get_default("letter_head")] %}
</div>
<h2 class="text-center">{%= __("Statement of Account") %}</h2>
<h4 class="text-center">{%= (filters.party || filters.account) && ((filters.party || filters.account) + ", ") || "" %} {%= filters.company %}</h4>
diff --git a/erpnext/manufacturing/doctype/production_order/production_order.js b/erpnext/manufacturing/doctype/production_order/production_order.js
index 9b97bd1..d0e0d86 100644
--- a/erpnext/manufacturing/doctype/production_order/production_order.js
+++ b/erpnext/manufacturing/doctype/production_order/production_order.js
@@ -174,7 +174,8 @@
var company_filter = function(doc) {
return {
filters: {
- 'company': frm.doc.company
+ 'company': frm.doc.company,
+ 'is_group': 0
}
}
}
diff --git a/erpnext/patches.txt b/erpnext/patches.txt
index 68a717b..6483ecd 100644
--- a/erpnext/patches.txt
+++ b/erpnext/patches.txt
@@ -313,4 +313,5 @@
erpnext.patches.v7_0.repost_future_gle_for_purchase_invoice
erpnext.patches.v7_0.fix_duplicate_icons
erpnext.patches.v7_0.repost_gle_for_pos_sales_return
-erpnext.patches.v7_0.update_missing_employee_in_timesheet
\ No newline at end of file
+erpnext.patches.v7_0.update_missing_employee_in_timesheet
+erpnext.patches.v7_0.update_status_for_timesheet
\ No newline at end of file
diff --git a/erpnext/patches/v7_0/convert_timelog_to_timesheet.py b/erpnext/patches/v7_0/convert_timelog_to_timesheet.py
index 6a6fa26..a176a8f 100644
--- a/erpnext/patches/v7_0/convert_timelog_to_timesheet.py
+++ b/erpnext/patches/v7_0/convert_timelog_to_timesheet.py
@@ -19,13 +19,14 @@
time_sheet.employee = data.employee
time_sheet.note = data.note
time_sheet.company = company
-
+
time_sheet.set_status()
+ time_sheet.set_dates()
time_sheet.update_cost()
time_sheet.calculate_total_amounts()
time_sheet.flags.ignore_validate = True
time_sheet.save(ignore_permissions=True)
-
+
# To ignore validate_mandatory_fields function
if data.docstatus == 1:
time_sheet.db_set("docstatus", 1)
@@ -33,7 +34,6 @@
d.db_set("docstatus", 1)
time_sheet.update_production_order(time_sheet.name)
time_sheet.update_task_and_project()
-
def get_timelog_data(data):
return {
diff --git a/erpnext/patches/v7_0/update_status_for_timesheet.py b/erpnext/patches/v7_0/update_status_for_timesheet.py
new file mode 100644
index 0000000..117c40c
--- /dev/null
+++ b/erpnext/patches/v7_0/update_status_for_timesheet.py
@@ -0,0 +1,11 @@
+from __future__ import unicode_literals
+import frappe
+
+def execute():
+ frappe.db.sql("""update
+ `tabTimesheet` as ts,
+ (
+ select min(from_time)as from_time, max(to_time) as to_time, parent from `tabTimesheet Detail` group by parent
+ ) as tsd
+ set ts.status = 'Submitted', ts.start_date = tsd.from_time, ts.end_date = tsd.to_time
+ where tsd.parent = ts.name and ts.status = 'Draft' and ts.docstatus =1""")
\ No newline at end of file
diff --git a/erpnext/stock/doctype/purchase_receipt/purchase_receipt.js b/erpnext/stock/doctype/purchase_receipt/purchase_receipt.js
index 792f269..d477189 100644
--- a/erpnext/stock/doctype/purchase_receipt/purchase_receipt.js
+++ b/erpnext/stock/doctype/purchase_receipt/purchase_receipt.js
@@ -25,14 +25,20 @@
$.each(["warehouse", "rejected_warehouse"], function(i, field) {
frm.set_query(field, "items", function() {
return {
- filters: [["Warehouse", "company", "in", ["", cstr(frm.doc.company)]]]
+ filters: [
+ ["Warehouse", "company", "in", ["", cstr(frm.doc.company)]],
+ ["Warehouse", "is_group", "=", 0]
+ ]
}
})
})
frm.set_query("supplier_warehouse", function() {
return {
- filters: [["Warehouse", "company", "in", ["", cstr(frm.doc.company)]]]
+ filters: [
+ ["Warehouse", "company", "in", ["", cstr(frm.doc.company)]],
+ ["Warehouse", "is_group", "=", 0]
+ ]
}
})
}
diff --git a/erpnext/templates/includes/rfq.js b/erpnext/templates/includes/rfq.js
index 3e9c261..c63226c 100644
--- a/erpnext/templates/includes/rfq.js
+++ b/erpnext/templates/includes/rfq.js
@@ -30,9 +30,10 @@
var me = this;
$('.rfq-items').on("change", ".rfq-qty", function(){
me.idx = parseFloat($(this).attr('data-idx'));
- me.qty = parseFloat($(this).val());
+ me.qty = parseFloat($(this).val()) || 0;
me.rate = parseFloat($(repl('.rfq-rate[data-idx=%(idx)s]',{'idx': me.idx})).val());
me.update_qty_rate();
+ $(this).val(format_number(me.qty, 2));
})
},
@@ -40,9 +41,10 @@
var me = this;
$(".rfq-items").on("change", ".rfq-rate", function(){
me.idx = parseFloat($(this).attr('data-idx'));
- me.rate = parseFloat($(this).val());
+ me.rate = parseFloat($(this).val()) || 0;
me.qty = parseFloat($(repl('.rfq-qty[data-idx=%(idx)s]',{'idx': me.idx})).val());
me.update_qty_rate();
+ $(this).val(format_number(me.rate, 2));
})
},
diff --git a/erpnext/templates/includes/rfq/rfq_items.html b/erpnext/templates/includes/rfq/rfq_items.html
index 1e99a76..cb77f7e 100644
--- a/erpnext/templates/includes/rfq/rfq_items.html
+++ b/erpnext/templates/includes/rfq/rfq_items.html
@@ -3,26 +3,26 @@
{% for d in doc.items %}
<div class="rfq-item">
<div class="row">
- <div class="col-sm-6 col-xs-6" style="margin-bottom: 10px;margin-top: 5px;">
+ <div class="col-sm-5 col-xs-12" style="margin-bottom: 10px;margin-top: 5px;">
{{ item_name_and_description(d, doc) }}
</div>
<!-- <div class="col-sm-2 col-xs-2" style="margin-bottom: 10px;">
<textarea type="text" style="margin-top: 5px;" class="input-with-feedback form-control rfq-offer_detail" ></textarea>
</div> -->
- <div class="col-sm-2 col-xs-2 text-right">
- <input type="number" class="form-control text-right rfq-qty" style="margin-top: 5px; max-width: 70px;display: inline-block"
+ <div class="col-sm-2 col-xs-4 text-right">
+ <input type="text" class="form-control text-right rfq-qty" style="margin-top: 5px;display: inline-block"
value = "{{ d.get_formatted('qty') }}"
data-idx="{{ d.idx }}">
<p class="text-muted small" style="margin-top: 10px;">
- {{_("UOM") + ": "+ d.uom}}
+ {{_("UOM") + ":"+ d.uom}}
</p>
</div>
- <div class="col-sm-2 col-xs-2 text-right">
- {{doc.currency_symbol}} <input type="number" class="form-control text-right rfq-rate"
- style="margin-top: 5px; max-width: 70px;display: inline-block" value="0.00"
+ <div class="col-sm-2 col-xs-4 text-right">
+ <input type="text" class="form-control text-right rfq-rate"
+ style="margin-top: 5px;display: inline-block" value="0.00"
data-idx="{{ d.idx }}">
</div>
- <div class="col-sm-2 col-xs-2 text-right" style="padding-top: 9px;">
+ <div class="col-sm-3 col-xs-4 text-right" style="padding-top: 9px;">
{{doc.currency_symbol}} <span class="rfq-amount" data-idx="{{ d.idx }}">0.00</span>
</div>
</div>
diff --git a/erpnext/templates/pages/rfq.html b/erpnext/templates/pages/rfq.html
index 5729e89..b151987 100644
--- a/erpnext/templates/pages/rfq.html
+++ b/erpnext/templates/pages/rfq.html
@@ -33,16 +33,16 @@
<div id="order-container">
<div id="rfq-items">
<div class="row cart-item-header">
- <div class="col-sm-6 col-xs-6">
+ <div class="col-sm-5 col-xs-12">
Items
</div>
- <div class="col-sm-2 col-xs-2 text-right">
+ <div class="col-sm-2 col-xs-4 text-right">
Qty
</div>
- <div class="col-sm-2 col-xs-2 text-right">
+ <div class="col-sm-2 col-xs-4 text-right">
Rate
</div>
- <div class="col-sm-2 col-xs-2 text-right">
+ <div class="col-sm-3 col-xs-4 text-right">
Amount
</div>
</div>
@@ -55,8 +55,8 @@
</div>
{% if doc.items %}
<div class="row grand-total-row">
- <div class="col-xs-10 text-right">{{ _("Grand Total") }}</div>
- <div class="col-xs-2 text-right">
+ <div class="col-xs-9 text-right">{{ _("Grand Total") }}</div>
+ <div class="col-xs-3 text-right">
{{doc.currency_symbol}} <span class="tax-grand-total">0.0</span>
</div>
</div>