Merge branch 'develop'
This commit is contained in:
commit
b8dd046c84
@ -1,2 +1,2 @@
|
|||||||
from __future__ import unicode_literals
|
from __future__ import unicode_literals
|
||||||
__version__ = '5.0.14'
|
__version__ = '5.0.15'
|
||||||
|
@ -56,12 +56,13 @@ def merge_similar_entries(gl_map):
|
|||||||
|
|
||||||
def check_if_in_list(gle, gl_map):
|
def check_if_in_list(gle, gl_map):
|
||||||
for e in gl_map:
|
for e in gl_map:
|
||||||
if e.account == gle.account and \
|
if e.account == gle.account \
|
||||||
cstr(e.get('against_voucher'))==cstr(gle.get('against_voucher')) \
|
and cstr(e.get('party_type'))==cstr(gle.get('party_type')) \
|
||||||
and cstr(e.get('against_voucher_type')) == \
|
and cstr(e.get('party'))==cstr(gle.get('party')) \
|
||||||
cstr(gle.get('against_voucher_type')) \
|
and cstr(e.get('against_voucher'))==cstr(gle.get('against_voucher')) \
|
||||||
and cstr(e.get('cost_center')) == cstr(gle.get('cost_center')):
|
and cstr(e.get('against_voucher_type')) == cstr(gle.get('against_voucher_type')) \
|
||||||
return e
|
and cstr(e.get('cost_center')) == cstr(gle.get('cost_center')):
|
||||||
|
return e
|
||||||
|
|
||||||
def save_entries(gl_map, adv_adj, update_outstanding):
|
def save_entries(gl_map, adv_adj, update_outstanding):
|
||||||
validate_account_for_auto_accounting_for_stock(gl_map)
|
validate_account_for_auto_accounting_for_stock(gl_map)
|
||||||
|
@ -5,7 +5,7 @@ app_publisher = "Frappe Technologies Pvt. Ltd. and Contributors"
|
|||||||
app_description = "Open Source Enterprise Resource Planning for Small and Midsized Organizations"
|
app_description = "Open Source Enterprise Resource Planning for Small and Midsized Organizations"
|
||||||
app_icon = "icon-th"
|
app_icon = "icon-th"
|
||||||
app_color = "#e74c3c"
|
app_color = "#e74c3c"
|
||||||
app_version = "5.0.14"
|
app_version = "5.0.15"
|
||||||
|
|
||||||
error_report_email = "support@erpnext.com"
|
error_report_email = "support@erpnext.com"
|
||||||
|
|
||||||
|
@ -161,3 +161,4 @@ erpnext.patches.v5_0.set_footer_address
|
|||||||
execute:frappe.db.set_value("Backup Manager", None, "send_backups_to_dropbox", 1 if frappe.db.get_value("Backup Manager", None, "upload_backups_to_dropbox") in ("Daily", "Weekly") else 0)
|
execute:frappe.db.set_value("Backup Manager", None, "send_backups_to_dropbox", 1 if frappe.db.get_value("Backup Manager", None, "upload_backups_to_dropbox") in ("Daily", "Weekly") else 0)
|
||||||
execute:frappe.db.sql_list("delete from `tabDocPerm` where parent='Issue' and modified_by='Administrator' and role='Guest'")
|
execute:frappe.db.sql_list("delete from `tabDocPerm` where parent='Issue' and modified_by='Administrator' and role='Guest'")
|
||||||
erpnext.patches.v5_0.update_item_and_description_again
|
erpnext.patches.v5_0.update_item_and_description_again
|
||||||
|
erpnext.patches.v5_0.repost_gle_for_jv_with_multiple_party
|
@ -0,0 +1,26 @@
|
|||||||
|
# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd. and Contributors
|
||||||
|
# License: GNU General Public License v3. See license.txt
|
||||||
|
|
||||||
|
from __future__ import unicode_literals
|
||||||
|
import frappe
|
||||||
|
|
||||||
|
def execute():
|
||||||
|
je_list = frappe.db.sql_list("""
|
||||||
|
select par.name from `tabJournal Entry` par
|
||||||
|
where par.docstatus=1 and par.creation > '2015-03-01'
|
||||||
|
and (select count(distinct child.party) from `tabJournal Entry Account` child
|
||||||
|
where par.name=child.parent and ifnull(child.party, '') != '') > 1
|
||||||
|
""")
|
||||||
|
|
||||||
|
for d in je_list:
|
||||||
|
# delete existing gle
|
||||||
|
frappe.db.sql("delete from `tabGL Entry` where voucher_type='Journal Entry' and voucher_no=%s", d)
|
||||||
|
|
||||||
|
# repost gl entries
|
||||||
|
je = frappe.get_doc("Journal Entry", d)
|
||||||
|
je.make_gl_entries()
|
||||||
|
|
||||||
|
if je_list:
|
||||||
|
print je_list
|
||||||
|
|
||||||
|
|
@ -124,9 +124,9 @@ erpnext.company.setup_queries = function(frm) {
|
|||||||
["default_cash_account", {"account_type": "Cash"}],
|
["default_cash_account", {"account_type": "Cash"}],
|
||||||
["default_receivable_account", {"account_type": "Receivable"}],
|
["default_receivable_account", {"account_type": "Receivable"}],
|
||||||
["default_payable_account", {"account_type": "Payable"}],
|
["default_payable_account", {"account_type": "Payable"}],
|
||||||
["default_expense_account", {"report_type": "Profit and Loss"}],
|
["default_expense_account", {"root_type": "Expense"}],
|
||||||
["default_income_account", {"report_type": "Profit and Loss"}],
|
["default_income_account", {"root_type": "Income"}],
|
||||||
["round_off_account", {"account_type": "Profit and Loss"}],
|
["round_off_account", {"root_type": "Expense"}],
|
||||||
["cost_center", {}],
|
["cost_center", {}],
|
||||||
["round_off_cost_center", {}]
|
["round_off_cost_center", {}]
|
||||||
], function(i, v) {
|
], function(i, v) {
|
||||||
@ -135,8 +135,8 @@ erpnext.company.setup_queries = function(frm) {
|
|||||||
|
|
||||||
if (sys_defaults.auto_accounting_for_stock) {
|
if (sys_defaults.auto_accounting_for_stock) {
|
||||||
$.each([
|
$.each([
|
||||||
["stock_adjustment_account", {"report_type": "Profit and Loss"}],
|
["stock_adjustment_account", {"root_type": "Expense"}],
|
||||||
["expenses_included_in_valuation", {"report_type": "Profit and Loss"}],
|
["expenses_included_in_valuation", {"root_type": "Expense"}],
|
||||||
["stock_received_but_not_billed", {"report_type": "Balance Sheet"}]
|
["stock_received_but_not_billed", {"report_type": "Balance Sheet"}]
|
||||||
], function(i, v) {
|
], function(i, v) {
|
||||||
erpnext.company.set_custom_query(frm, v);
|
erpnext.company.set_custom_query(frm, v);
|
||||||
@ -146,13 +146,12 @@ erpnext.company.setup_queries = function(frm) {
|
|||||||
|
|
||||||
erpnext.company.set_custom_query = function(frm, v) {
|
erpnext.company.set_custom_query = function(frm, v) {
|
||||||
var filters = {
|
var filters = {
|
||||||
"company": frm.doc.company,
|
"company": frm.doc.name,
|
||||||
"is_group": 0
|
"is_group": 0
|
||||||
};
|
};
|
||||||
|
|
||||||
for (var key in v[1])
|
for (var key in v[1])
|
||||||
filters[key] = v[1][key];
|
filters[key] = v[1][key];
|
||||||
|
|
||||||
frm.set_query(v[0], function() {
|
frm.set_query(v[0], function() {
|
||||||
return {
|
return {
|
||||||
filters: filters
|
filters: filters
|
||||||
|
@ -13,8 +13,13 @@
|
|||||||
<div class="primary">{{ doc.get_formatted("item_name") }}</div>
|
<div class="primary">{{ doc.get_formatted("item_name") }}</div>
|
||||||
{%- endif %}
|
{%- endif %}
|
||||||
{% if (doc.in_format_data("description") and doc.description and
|
{% if (doc.in_format_data("description") and doc.description and
|
||||||
((not doc.in_format_data("item_code") and not doc.in_format_data("item_name"))
|
(
|
||||||
or not (doc.item_code == doc.item_name == doc.description))) -%}
|
(
|
||||||
|
(not doc.in_format_data("item_code") or doc.is_print_hide("item_code")) and
|
||||||
|
(not doc.in_format_data("item_name") or doc.is_print_hide("item_name"))
|
||||||
|
) or not (doc.item_code == doc.item_name == doc.description)
|
||||||
|
))
|
||||||
|
-%}
|
||||||
<p>{{ doc.get_formatted("description") }}</p>
|
<p>{{ doc.get_formatted("description") }}</p>
|
||||||
{%- endif %}
|
{%- endif %}
|
||||||
</div>
|
</div>
|
||||||
|
2
setup.py
2
setup.py
@ -1,6 +1,6 @@
|
|||||||
from setuptools import setup, find_packages
|
from setuptools import setup, find_packages
|
||||||
|
|
||||||
version = "5.0.14"
|
version = "5.0.15"
|
||||||
|
|
||||||
with open("requirements.txt", "r") as f:
|
with open("requirements.txt", "r") as f:
|
||||||
install_requires = f.readlines()
|
install_requires = f.readlines()
|
||||||
|
Loading…
Reference in New Issue
Block a user