mirror of
https://github.com/frappe/erpnext.git
synced 2026-05-31 18:59:08 +00:00
[minor] merge conflict fixed
This commit is contained in:
@@ -5,18 +5,6 @@ cur_frm.cscript.refresh = function(doc) {
|
||||
cur_frm.toggle_display('warehouse_name', doc.__islocal);
|
||||
}
|
||||
|
||||
cur_frm.cscript.merge = function(doc, cdt, cdn) {
|
||||
if (!doc.merge_with) {
|
||||
msgprint(wn._("Please enter the warehouse to which you want to merge?"));
|
||||
return;
|
||||
}
|
||||
var check = confirm(wn._("Are you sure you want to merge this warehouse into "
|
||||
+ doc.merge_with + "?"));
|
||||
if (check) {
|
||||
return $c_obj(make_doclist(cdt, cdn), 'merge_warehouses', '', '');
|
||||
}
|
||||
}
|
||||
|
||||
cur_frm.set_query("create_account_under", function() {
|
||||
return {
|
||||
filters: {
|
||||
|
||||
@@ -55,47 +55,6 @@ class DocType:
|
||||
else:
|
||||
webnotes.throw(_("Please enter account group under which account \
|
||||
for warehouse ") + self.doc.name +_(" will be created"))
|
||||
|
||||
def on_rename(self, new, old, merge=False):
|
||||
webnotes.conn.set_value("Account", {"account_type": "Warehouse", "master_name": old},
|
||||
"master_name", new)
|
||||
|
||||
if merge:
|
||||
from stock.stock_ledger import update_entries_after
|
||||
for item_code in webnotes.conn.sql("""select item_code from `tabBin`
|
||||
where warehouse=%s""", new):
|
||||
update_entries_after({"item_code": item_code, "warehouse": new})
|
||||
|
||||
def merge_warehouses(self):
|
||||
webnotes.conn.auto_commit_on_many_writes = 1
|
||||
|
||||
# get items which dealt with current warehouse
|
||||
items = webnotes.conn.sql("select item_code from tabBin where warehouse=%s" , self.doc.name)
|
||||
# delete old bins
|
||||
webnotes.conn.sql("delete from tabBin where warehouse=%s", self.doc.name)
|
||||
|
||||
# replace link fields
|
||||
from webnotes.model import rename_doc
|
||||
link_fields = rename_doc.get_link_fields('Warehouse')
|
||||
rename_doc.update_link_field_values(link_fields, self.doc.name, self.doc.merge_with)
|
||||
|
||||
account_link_fields = rename_doc.get_link_fields('Account')
|
||||
old_warehouse_account = webnotes.conn.get_value("Account", {"master_name": self.doc.name})
|
||||
new_warehouse_account = webnotes.conn.get_value("Account",
|
||||
{"master_name": self.doc.merge_with})
|
||||
rename_doc.update_link_field_values(account_link_fields, old_warehouse_account,
|
||||
new_warehouse_account)
|
||||
|
||||
webnotes.conn.delete_doc("Account", old_warehouse_account)
|
||||
|
||||
from utilities.repost_stock import repost
|
||||
for item_code in items:
|
||||
repost(item_code[0], self.doc.merge_with)
|
||||
|
||||
webnotes.conn.auto_commit_on_many_writes = 0
|
||||
|
||||
msgprint("Warehouse %s merged into %s. Now you can delete warehouse: %s"
|
||||
% (self.doc.name, self.doc.merge_with, self.doc.name))
|
||||
|
||||
def on_trash(self):
|
||||
# delete bin
|
||||
@@ -110,15 +69,61 @@ class DocType:
|
||||
webnotes.conn.sql("delete from `tabBin` where name = %s", d['name'])
|
||||
|
||||
warehouse_account = webnotes.conn.get_value("Account",
|
||||
{"account_type": "Warehosue", "master_name": self.doc.name})
|
||||
{"account_type": "Warehouse", "master_name": self.doc.name})
|
||||
if warehouse_account:
|
||||
webnotes.delete_doc("Account", warehouse_account)
|
||||
|
||||
# delete cancelled sle
|
||||
if webnotes.conn.sql("""select name from `tabStock Ledger Entry` where warehouse = %s""",
|
||||
self.doc.name):
|
||||
msgprint("""Warehosue can not be deleted as stock ledger entry
|
||||
if sql("""select name from `tabStock Ledger Entry` where warehouse = %s""", self.doc.name):
|
||||
msgprint("""Warehouse can not be deleted as stock ledger entry
|
||||
exists for this warehouse.""", raise_exception=1)
|
||||
else:
|
||||
webnotes.conn.sql("delete from `tabStock Ledger Entry` where warehouse = %s",
|
||||
self.doc.name)
|
||||
|
||||
def before_rename(self, olddn, newdn, merge=False):
|
||||
# Add company abbr if not provided
|
||||
from setup.doctype.company.company import get_name_with_abbr
|
||||
new_warehouse = get_name_with_abbr(newdn, self.doc.company)
|
||||
|
||||
if merge:
|
||||
if self.doc.company != webnotes.conn.get_value("Warehouse", new_warehouse, "company"):
|
||||
webnotes.throw(_("Both Warehouse must belong to same Company"))
|
||||
|
||||
webnotes.conn.sql("delete from `tabBin` where warehouse=%s", olddn)
|
||||
|
||||
self.rename_account(olddn, new_warehouse, merge)
|
||||
|
||||
return new_warehouse
|
||||
|
||||
def after_rename(self, olddn, newdn, merge=False):
|
||||
if merge:
|
||||
self.recalculate_bin_qty(newdn)
|
||||
|
||||
def recalculate_bin_qty(self, newdn):
|
||||
from utilities.repost_stock import repost_stock
|
||||
webnotes.conn.auto_commit_on_many_writes = 1
|
||||
webnotes.conn.set_default("allow_negative_stock", 1)
|
||||
|
||||
for item in webnotes.conn.sql("""select distinct item_code from (
|
||||
select name as item_code from `tabItem` where ifnull(is_stock_item, 'Yes')='Yes'
|
||||
union
|
||||
select distinct item_code from tabBin) a"""):
|
||||
repost_stock(item[0], newdn)
|
||||
|
||||
webnotes.conn.set_default("allow_negative_stock",
|
||||
webnotes.conn.get_value("Stock Settings", None, "allow_negative_stock"))
|
||||
webnotes.conn.auto_commit_on_many_writes = 0
|
||||
|
||||
def rename_account(self, olddn, newdn, merge):
|
||||
old_account = webnotes.conn.get_value("Account",
|
||||
{"account_type": "Warehouse", "master_name": olddn})
|
||||
if old_account:
|
||||
new_account = None
|
||||
if not merge:
|
||||
if old_account == olddn:
|
||||
new_account = webnotes.rename_doc("Account", olddn, newdn)
|
||||
else:
|
||||
existing_new_account = webnotes.conn.get_value("Account",
|
||||
{"account_type": "Warehouse", "master_name": newdn})
|
||||
new_account = webnotes.rename_doc("Account", old_account,
|
||||
existing_new_account or newdn, merge=True if existing_new_account else False)
|
||||
|
||||
if new_account:
|
||||
webnotes.conn.set_value("Account", new_account, "master_name", newdn)
|
||||
@@ -2,7 +2,7 @@
|
||||
{
|
||||
"creation": "2013-03-07 18:50:32",
|
||||
"docstatus": 0,
|
||||
"modified": "2013-10-28 16:42:07",
|
||||
"modified": "2013-11-19 12:12:33",
|
||||
"modified_by": "Administrator",
|
||||
"owner": "Administrator"
|
||||
},
|
||||
@@ -20,7 +20,8 @@
|
||||
"name": "__common__",
|
||||
"parent": "Warehouse",
|
||||
"parentfield": "fields",
|
||||
"parenttype": "DocType"
|
||||
"parenttype": "DocType",
|
||||
"permlevel": 0
|
||||
},
|
||||
{
|
||||
"doctype": "DocPerm",
|
||||
@@ -42,7 +43,6 @@
|
||||
"fieldtype": "Section Break",
|
||||
"label": "Warehouse Detail",
|
||||
"oldfieldtype": "Section Break",
|
||||
"permlevel": 0,
|
||||
"read_only": 0
|
||||
},
|
||||
{
|
||||
@@ -52,7 +52,6 @@
|
||||
"label": "Warehouse Name",
|
||||
"oldfieldname": "warehouse_name",
|
||||
"oldfieldtype": "Data",
|
||||
"permlevel": 0,
|
||||
"read_only": 0,
|
||||
"reqd": 1
|
||||
},
|
||||
@@ -65,7 +64,6 @@
|
||||
"oldfieldname": "company",
|
||||
"oldfieldtype": "Link",
|
||||
"options": "Company",
|
||||
"permlevel": 0,
|
||||
"read_only": 0,
|
||||
"reqd": 1,
|
||||
"search_index": 1
|
||||
@@ -95,7 +93,6 @@
|
||||
"fieldtype": "Table",
|
||||
"label": "Warehouse Users",
|
||||
"options": "Warehouse User",
|
||||
"permlevel": 0,
|
||||
"read_only": 0
|
||||
},
|
||||
{
|
||||
@@ -104,7 +101,6 @@
|
||||
"fieldname": "warehouse_contact_info",
|
||||
"fieldtype": "Section Break",
|
||||
"label": "Warehouse Contact Info",
|
||||
"permlevel": 0,
|
||||
"read_only": 0
|
||||
},
|
||||
{
|
||||
@@ -115,7 +111,6 @@
|
||||
"label": "Email Id",
|
||||
"oldfieldname": "email_id",
|
||||
"oldfieldtype": "Data",
|
||||
"permlevel": 0,
|
||||
"print_hide": 0,
|
||||
"read_only": 0
|
||||
},
|
||||
@@ -127,7 +122,6 @@
|
||||
"oldfieldname": "phone_no",
|
||||
"oldfieldtype": "Int",
|
||||
"options": "Phone",
|
||||
"permlevel": 0,
|
||||
"read_only": 0
|
||||
},
|
||||
{
|
||||
@@ -138,7 +132,6 @@
|
||||
"oldfieldname": "mobile_no",
|
||||
"oldfieldtype": "Int",
|
||||
"options": "Phone",
|
||||
"permlevel": 0,
|
||||
"read_only": 0
|
||||
},
|
||||
{
|
||||
@@ -146,7 +139,6 @@
|
||||
"fieldname": "column_break0",
|
||||
"fieldtype": "Column Break",
|
||||
"oldfieldtype": "Column Break",
|
||||
"permlevel": 0,
|
||||
"read_only": 0
|
||||
},
|
||||
{
|
||||
@@ -156,7 +148,6 @@
|
||||
"label": "Address Line 1",
|
||||
"oldfieldname": "address_line_1",
|
||||
"oldfieldtype": "Data",
|
||||
"permlevel": 0,
|
||||
"read_only": 0
|
||||
},
|
||||
{
|
||||
@@ -166,7 +157,6 @@
|
||||
"label": "Address Line 2",
|
||||
"oldfieldname": "address_line_2",
|
||||
"oldfieldtype": "Data",
|
||||
"permlevel": 0,
|
||||
"read_only": 0
|
||||
},
|
||||
{
|
||||
@@ -177,7 +167,6 @@
|
||||
"label": "City",
|
||||
"oldfieldname": "city",
|
||||
"oldfieldtype": "Data",
|
||||
"permlevel": 0,
|
||||
"read_only": 0,
|
||||
"reqd": 0
|
||||
},
|
||||
@@ -189,7 +178,6 @@
|
||||
"oldfieldname": "state",
|
||||
"oldfieldtype": "Select",
|
||||
"options": "Suggest",
|
||||
"permlevel": 0,
|
||||
"read_only": 0
|
||||
},
|
||||
{
|
||||
@@ -199,33 +187,6 @@
|
||||
"label": "PIN",
|
||||
"oldfieldname": "pin",
|
||||
"oldfieldtype": "Int",
|
||||
"permlevel": 0,
|
||||
"read_only": 0
|
||||
},
|
||||
{
|
||||
"description": "This feature is for merging duplicate warehouses. It will replace all the links of this warehouse by \"Merge Into\" warehouse. After merging you can delete this warehouse, as stock level for this warehouse will be zero.",
|
||||
"doctype": "DocField",
|
||||
"fieldname": "merge_warehouses_section",
|
||||
"fieldtype": "Section Break",
|
||||
"label": "Merge Warehouses",
|
||||
"permlevel": 2,
|
||||
"read_only": 0
|
||||
},
|
||||
{
|
||||
"doctype": "DocField",
|
||||
"fieldname": "merge_with",
|
||||
"fieldtype": "Link",
|
||||
"label": "Merge Into",
|
||||
"options": "Warehouse",
|
||||
"permlevel": 2,
|
||||
"read_only": 0
|
||||
},
|
||||
{
|
||||
"doctype": "DocField",
|
||||
"fieldname": "merge",
|
||||
"fieldtype": "Button",
|
||||
"label": "Merge",
|
||||
"permlevel": 2,
|
||||
"read_only": 0
|
||||
},
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user