Merge pull request #3693 from rmehta/close-task
[minor] close button for task and item not found error fix
diff --git a/erpnext/__version__.py b/erpnext/__version__.py
index ef61354..67cff5d 100644
--- a/erpnext/__version__.py
+++ b/erpnext/__version__.py
@@ -1,2 +1,2 @@
from __future__ import unicode_literals
-__version__ = '5.1.6'
+__version__ = '5.2.0'
diff --git a/erpnext/change_log/current/learn.md b/erpnext/change_log/current/learn.md
deleted file mode 100644
index f91c0a4..0000000
--- a/erpnext/change_log/current/learn.md
+++ /dev/null
@@ -1 +0,0 @@
-- New help videos for Selling, Buying, Human Resource, Manufacturing and Buying
diff --git a/erpnext/change_log/current/paranthesis_in_images.md b/erpnext/change_log/current/paranthesis_in_images.md
deleted file mode 100644
index 4859e96..0000000
--- a/erpnext/change_log/current/paranthesis_in_images.md
+++ /dev/null
@@ -1 +0,0 @@
-- Display images in website's Item and Item List pages when the filename has paranthesis in its name
diff --git a/erpnext/change_log/current/rename.md b/erpnext/change_log/current/rename.md
deleted file mode 100644
index 54efb50..0000000
--- a/erpnext/change_log/current/rename.md
+++ /dev/null
@@ -1,3 +0,0 @@
-- Role rename: **Material User** is now **Stock User**
-- Role rename: **Material Manager** is now **Stock Manager**
-- Role rename: **Material Master Manager** is now **Item Manager**
diff --git a/erpnext/change_log/current/shopping_cart.md b/erpnext/change_log/current/shopping_cart.md
deleted file mode 100644
index 77a5e5d..0000000
--- a/erpnext/change_log/current/shopping_cart.md
+++ /dev/null
@@ -1,3 +0,0 @@
-- Fixed inconsistent visibility of 'Add to Cart' button
-- Use Customer's Price List in Shopping Cart if found
-- Fixed Address creation from Shopping Cart
diff --git a/erpnext/change_log/v5/v5_2_0.md b/erpnext/change_log/v5/v5_2_0.md
new file mode 100644
index 0000000..5884595
--- /dev/null
+++ b/erpnext/change_log/v5/v5_2_0.md
@@ -0,0 +1,9 @@
+- New help videos for Selling, Buying, Human Resource, Manufacturing and Buying
+- Role rename: **Material User** is now **Stock User**
+- Role rename: **Material Manager** is now **Stock Manager**
+- Role rename: **Material Master Manager** is now **Item Manager**
+- Fixed inconsistent visibility of 'Add to Cart' button
+- Use Customer's Price List in Shopping Cart
+- Fixed Address creation from Shopping Cart
+- Display images in website's Item and Item List pages when the filename has paranthesis in its name
+
diff --git a/erpnext/config/desktop.py b/erpnext/config/desktop.py
index b0c7345..498d100 100644
--- a/erpnext/config/desktop.py
+++ b/erpnext/config/desktop.py
@@ -64,7 +64,7 @@
"type": "module"
},
"Learn": {
- "color": "#7272FF",
+ "color": "#FCB868",
"force_show": True,
"icon": "icon-facetime-video",
"type": "module",
diff --git a/erpnext/controllers/selling_controller.py b/erpnext/controllers/selling_controller.py
index c709326..b2a9f03 100644
--- a/erpnext/controllers/selling_controller.py
+++ b/erpnext/controllers/selling_controller.py
@@ -171,9 +171,6 @@
frappe.throw(_("Row {0}: Qty is mandatory").format(d.idx))
if self.doctype == "Sales Order":
- if (frappe.db.get_value("Item", d.item_code, "is_stock_item") == 'Yes' or
- self.has_product_bundle(d.item_code)) and not d.warehouse:
- frappe.throw(_("Reserved Warehouse required for stock Item {0} in row {1}").format(d.item_code, d.idx))
reserved_warehouse = d.warehouse
if flt(d.qty) > flt(d.delivered_qty):
reserved_qty_for_main_item = flt(d.qty) - flt(d.delivered_qty)
diff --git a/erpnext/hooks.py b/erpnext/hooks.py
index 30032f8..3418b9f 100644
--- a/erpnext/hooks.py
+++ b/erpnext/hooks.py
@@ -5,7 +5,7 @@
app_description = "Open Source Enterprise Resource Planning for Small and Midsized Organizations"
app_icon = "icon-th"
app_color = "#e74c3c"
-app_version = "5.1.6"
+app_version = "5.2.0"
error_report_email = "support@erpnext.com"
diff --git a/erpnext/manufacturing/doctype/bom/bom.py b/erpnext/manufacturing/doctype/bom/bom.py
index f550a8a..fe67ed8 100644
--- a/erpnext/manufacturing/doctype/bom/bom.py
+++ b/erpnext/manufacturing/doctype/bom/bom.py
@@ -181,15 +181,12 @@
if item.default_bom != self.name:
item.default_bom = self.name
item.save()
-
else:
- if not self.is_active:
- frappe.db.set(self, "is_default", 0)
-
- item = frappe.get_doc("Item", self.item)
- if item.default_bom == self.name:
- item.default_bom = None
- item.save()
+ frappe.db.set(self, "is_default", 0)
+ item = frappe.get_doc("Item", self.item)
+ if item.default_bom == self.name:
+ item.default_bom = None
+ item.save()
def clear_operations(self):
if not self.with_operations:
diff --git a/erpnext/patches.txt b/erpnext/patches.txt
index f5ae5b7..269dcba 100644
--- a/erpnext/patches.txt
+++ b/erpnext/patches.txt
@@ -100,6 +100,7 @@
execute:frappe.reload_doc('crm', 'doctype', 'lead')
execute:frappe.reload_doc('crm', 'doctype', 'opportunity')
erpnext.patches.v5_0.rename_taxes_and_charges_master
+erpnext.patches.v5_1.sales_bom_rename
erpnext.patches.v5_0.rename_table_fieldnames
execute:frappe.db.sql("update `tabJournal Entry` set voucher_type='Journal Entry' where ifnull(voucher_type, '')=''")
erpnext.patches.v5_0.is_group
@@ -173,6 +174,6 @@
erpnext.patches.v5_1.fix_against_account
erpnext.patches.v5_1.fix_credit_days_based_on
erpnext.patches.v5_1.track_operations
-erpnext.patches.v5_1.sales_bom_rename
execute:frappe.rename_doc("DocType", "Salary Manager", "Process Payroll", force=True)
erpnext.patches.v5_1.rename_roles
+erpnext.patches.v5_1.default_bom
diff --git a/erpnext/patches/v4_0/fields_to_be_renamed.py b/erpnext/patches/v4_0/fields_to_be_renamed.py
index 2baab97..cc17697 100644
--- a/erpnext/patches/v4_0/fields_to_be_renamed.py
+++ b/erpnext/patches/v4_0/fields_to_be_renamed.py
@@ -3,7 +3,7 @@
from __future__ import unicode_literals
import frappe
-from frappe.model import rename_field
+from frappe.model.utils.rename_field import rename_field
from frappe.modules import scrub, get_doctype_module
rename_map = {
diff --git a/erpnext/patches/v5_0/rename_table_fieldnames.py b/erpnext/patches/v5_0/rename_table_fieldnames.py
index 758280f..05d5c91 100644
--- a/erpnext/patches/v5_0/rename_table_fieldnames.py
+++ b/erpnext/patches/v5_0/rename_table_fieldnames.py
@@ -2,7 +2,7 @@
# License: GNU General Public License v3. See license.txt
import frappe
-from frappe.model import rename_field
+from frappe.model.utils.rename_field import rename_field
from frappe.modules import scrub, get_doctype_module
rename_map = {
@@ -111,7 +111,6 @@
["installed_item_details", "items"]
],
"Item": [
- ["item_variants", "variants"],
["item_reorder", "reorder_levels"],
["uom_conversion_details", "uoms"],
["item_supplier_details", "supplier_items"],
@@ -168,7 +167,7 @@
["earning_details", "earnings"],
["deduction_details", "deductions"]
],
- "Sales BOM": [
+ "Product Bundle": [
["sales_bom_items", "items"]
],
"SMS Settings": [
diff --git a/erpnext/patches/v5_0/rename_total_fields.py b/erpnext/patches/v5_0/rename_total_fields.py
index cf95caa..6657dd8 100644
--- a/erpnext/patches/v5_0/rename_total_fields.py
+++ b/erpnext/patches/v5_0/rename_total_fields.py
@@ -3,7 +3,7 @@
from __future__ import unicode_literals
import frappe
-from frappe.model import rename_field
+from frappe.model.utils.rename_field import rename_field
from frappe.modules import scrub, get_doctype_module
selling_doctypes = ("Quotation", "Sales Order", "Delivery Note", "Sales Invoice")
diff --git a/erpnext/patches/v5_1/default_bom.py b/erpnext/patches/v5_1/default_bom.py
new file mode 100644
index 0000000..6484edd
--- /dev/null
+++ b/erpnext/patches/v5_1/default_bom.py
@@ -0,0 +1,7 @@
+from __future__ import unicode_literals
+
+import frappe
+
+def execute():
+ frappe.db.sql("""Update `tabItem` as item set default_bom = NULL where
+ not exists(select name from `tabBOM` as bom where item.default_bom = bom.name and bom.docstatus =1 )""")
\ No newline at end of file
diff --git a/erpnext/setup/doctype/sms_settings/sms_settings.py b/erpnext/setup/doctype/sms_settings/sms_settings.py
index a9201e7..1403ee5 100644
--- a/erpnext/setup/doctype/sms_settings/sms_settings.py
+++ b/erpnext/setup/doctype/sms_settings/sms_settings.py
@@ -2,7 +2,7 @@
# License: GNU General Public License v3. See license.txt
from __future__ import unicode_literals
-import frappe, json
+import frappe
from frappe import _, throw, msgprint
from frappe.utils import cstr, nowdate
@@ -92,6 +92,8 @@
conn.request('GET', api_url + urllib.urlencode(args), headers = headers) # send request
resp = conn.getresponse() # get response
resp = resp.read()
+ if resp.status==200:
+ create_sms_log()
return resp
# Split gateway url to server and api url
diff --git a/setup.py b/setup.py
index e7702e4..610b284 100644
--- a/setup.py
+++ b/setup.py
@@ -1,6 +1,6 @@
from setuptools import setup, find_packages
-version = "5.1.6"
+version = "5.2.0"
with open("requirements.txt", "r") as f:
install_requires = f.readlines()