From e77164955b4c3b0b6f80f8582c7bf72f4d0de492 Mon Sep 17 00:00:00 2001 From: Nabin Hait Date: Fri, 13 Apr 2012 11:53:06 +0530 Subject: [PATCH] removed repair fn, fixes in reports --- .../purchase_common/purchase_common.py | 72 ------------------- .../doctype/purchase_order/purchase_order.py | 5 -- .../purchase_request/purchase_request.py | 6 -- .../itemwise_purchase_details.txt | 11 +-- erpnext/patches/jan_mar_2012/rename_dt.py | 9 ++- .../purchase_receipt/purchase_receipt.py | 5 -- .../itemwise_receipt_details/__init__.py | 0 .../itemwise_receipt_details.js | 0 .../itemwise_receipt_details.txt | 12 ++-- 9 files changed, 20 insertions(+), 100 deletions(-) rename erpnext/{buying => stock}/search_criteria/itemwise_receipt_details/__init__.py (100%) rename erpnext/{buying => stock}/search_criteria/itemwise_receipt_details/itemwise_receipt_details.js (100%) rename erpnext/{buying => stock}/search_criteria/itemwise_receipt_details/itemwise_receipt_details.txt (67%) diff --git a/erpnext/buying/doctype/purchase_common/purchase_common.py b/erpnext/buying/doctype/purchase_common/purchase_common.py index bef418d4f9..7cbfe04d9f 100644 --- a/erpnext/buying/doctype/purchase_common/purchase_common.py +++ b/erpnext/buying/doctype/purchase_common/purchase_common.py @@ -55,17 +55,6 @@ class DocType(TransactionBase): 'Purchase Order' : 'Purchase Order Item', 'Purchase Receipt' : 'Purchase Receipt Item'} - self.repair_percent_field = { - 'ordered_qty' : 'per_ordered', - 'received_qty': 'per_received', - 'billed_qty' : 'per_billed'} - - self.repair_fields = { - 'Purchase Request Item' : ['ordered_qty'], - 'Purchase Order Item' : ['received_qty', 'billed_qty'], - 'Purchase Receipt Item': ['billed_qty'] - } - self.next_dt_detail = { 'ordered_qty' : 'Purchase Order Item', 'billed_qty' : 'Purchase Invoice Item', @@ -563,64 +552,3 @@ class DocType(TransactionBase): if d.prevdoc_doctype and d.prevdoc_docname: dt = sql("select transaction_date from `tab%s` where name = '%s'" % (d.prevdoc_doctype, d.prevdoc_docname)) d.prevdoc_date = dt and dt[0][0].strftime('%Y-%m-%d') or '' - - -#================================================================================= -# REPAIR OPTION -#================================================================================= - - def get_next_dt_detail_qty(self, next_dt_detail, name, curr_dt, f): - get_qty = (curr_dt == 'Purchase Request') and 'qty * conversion_factor' or 'qty' - qty = sql("select sum(%s) from `tab%s` where %s = '%s' and docstatus = 1"% (get_qty, next_dt_detail, (f == 'billed_qty') and (curr_dt == 'Purchase Order' and 'po_detail' or 'pr_detail') or 'prevdoc_detail_docname', name)) - return qty and flt(qty[0][0]) or 0 - - def repair_curr_qty_details(self, obj): - self.repair_fields_list, count, percent = self.repair_fields[obj.tname], {}, {} - # Check and Update Fields in Detail Table - for d in getlist(obj.doclist, obj.fname): - for f in self.repair_fields_list: - qty, update_qty = d.fields.get(f,0), self.get_next_dt_detail_qty(self.next_dt_detail[f], d.name, obj.doc.doctype, f) - - # Check qty - if flt(qty) != flt(update_qty): - msgprint('
Difference found in %s (Before : %s; After : %s) in %s of %s : %s in Row No : %s
' % (f, qty, update_qty, obj.tname, obj.doc.doctype, obj.doc.name, d.name)) - self.msg.append('
Difference found in %s (Before : %s; After : %s) in %s of %s : %s in Row No : %s
' % (f, qty, update_qty, obj.tname, obj.doc.doctype, obj.doc.name, d.name)) - # update qty - #sql("update `tab%s` set %s = '%s' where name = '%s'"% (obj.tname, f, update_qty, d.name)) - set(d, f, update_qty) - - # Calculate percentage - if flt(d.qty) - flt(update_qty) <= 0: - percent[f] = percent.get(f, 0) + 100 - else: - percent[f] = percent.get(f, 0) + (flt(update_qty)/flt(d.qty) * 100) - count[f] = count.get(f,0) + 1 - - return count, percent - - def repair_curr_percent_detail(self, obj, count, percent): - import math - for f in self.repair_fields_list: - per_complete, update_per_complete = flt(obj.doc.fields.get(self.repair_percent_field[f], 0)), math.floor(flt(percent[f]) / flt(count[f])) - if flt(obj.doc.fields.get(self.repair_percent_field[f], 0)) != flt(update_per_complete): - msgprint('
Difference found in %s (Before : %s; After : %s) in %s : %s
' % (self.repair_percent_field[f], per_complete, update_per_complete, obj.doc.doctype, obj.doc.name)) - self.msg.append('
Difference found in %s (Before : %s; After : %s) in %s : %s
' % (self.repair_percent_field[f], per_complete, update_per_complete, obj.doc.doctype, obj.doc.name)) - #sql("update `tab%s` set %s = '%s' where name = '%s'" % (obj.doc.doctype, self.repair_percent_field[f], update_per_complete, obj.doc.name)) - set(obj.doc, self.repair_percent_field[f], update_per_complete) - - def send_mail(self, obj): - email_msg = """ Dear Administrator, - -In Account := %s User := %s has Reposted %s : %s and following was found:- - -%s - -""" % (get_value('Control Panel', None,'account_id'), session['user'], obj.doc.doctype, obj.doc.name, '\n'.join(self.msg)) - - sendmail(['jai@webnotestech.com'], subject='Repair Option', parts = [('text/plain', email_msg)]) - - def repair_curr_doctype_details(self, obj): - count, percent = self.repair_curr_qty_details(obj) - self.repair_curr_percent_detail(obj, count, percent) - if self.msg: self.send_mail(obj) - msgprint('
' + cstr(obj.doc.doctype) + ' : ' + cstr(obj.doc.name) + ' has been checked' + cstr(self.msg and ' and repaired successfully.' or '. No changes Found.' + '
')) diff --git a/erpnext/buying/doctype/purchase_order/purchase_order.py b/erpnext/buying/doctype/purchase_order/purchase_order.py index 0f852f2f23..9466387657 100644 --- a/erpnext/buying/doctype/purchase_order/purchase_order.py +++ b/erpnext/buying/doctype/purchase_order/purchase_order.py @@ -363,8 +363,3 @@ class DocType(TransactionBase): # **** Pull details from other charges master (Get Other Charges) **** def get_purchase_tax_details(self): return get_obj('Purchase Common').get_purchase_tax_details(self) - - # Repair Purchase Order - # =========================================== - def repair_purchase_order(self): - get_obj('Purchase Common', 'Purchase Common').repair_curr_doctype_details(self) diff --git a/erpnext/buying/doctype/purchase_request/purchase_request.py b/erpnext/buying/doctype/purchase_request/purchase_request.py index 92ff425638..b96ff182b3 100644 --- a/erpnext/buying/doctype/purchase_request/purchase_request.py +++ b/erpnext/buying/doctype/purchase_request/purchase_request.py @@ -231,9 +231,3 @@ class DocType: # Step 5:=> Set Status set(self.doc,'status','Cancelled') - - - # Repair Purchase Request - # =========================================== - def repair_indent(self): - get_obj('Purchase Common', 'Purchase Common').repair_curr_doctype_details(self) diff --git a/erpnext/buying/search_criteria/itemwise_purchase_details/itemwise_purchase_details.txt b/erpnext/buying/search_criteria/itemwise_purchase_details/itemwise_purchase_details.txt index 2b41033ab3..de0f278dd3 100644 --- a/erpnext/buying/search_criteria/itemwise_purchase_details/itemwise_purchase_details.txt +++ b/erpnext/buying/search_criteria/itemwise_purchase_details/itemwise_purchase_details.txt @@ -3,24 +3,25 @@ # These values are common in all dictionaries { - 'creation': '2012-04-03 12:49:51', + 'creation': '2012-04-11 13:16:55', 'docstatus': 0, - 'modified': '2012-04-03 12:49:51', + 'modified': '2012-04-13 11:15:06', 'modified_by': u'Administrator', 'owner': u'Administrator' }, # These values are common for all Search Criteria { - 'columns': u'Purchase Order\x01ID,Purchase Order\x01PO Date,Purchase Order\x01Grand Total,Purchase Order Item\x01Item Code,Purchase Order Item\x01Item Name,Purchase Order Item\x01Quantity,Purchase Order Item\x01Stock UOM,Purchase Order Item\x01Purchase Rate,Purchase Order Item\x01Amount,Purchase Order Item\x01Warehouse', + 'columns': u'Purchase Order\x01ID,Purchase Order\x01Purchase Order Date,Purchase Order Item\x01Item Code,Purchase Order Item\x01Item Name,Purchase Order Item\x01Quantity,Purchase Order Item\x01Stock UOM,Purchase Order Item\x01Rate ,Purchase Order Item\x01Amount,Purchase Order\x01Net Total*,Purchase Order\x01Grand Total', 'criteria_name': u'Itemwise Purchase Details', 'doc_type': u'Purchase Order Item', 'doctype': 'Search Criteria', - 'filters': u"{'Purchase Order\x01Saved':1,'Purchase Order\x01Submitted':1,'Purchase Order\x01Status':'','Purchase Order\x01Company Name':''}", + 'filters': u'{"Purchase Order\\u0001Submitted":1,"Purchase Order\\u0001Status":[],"Purchase Order\\u0001Fiscal Year":[]}', 'module': u'Buying', 'name': '__common__', + 'page_len': 50, 'parent_doc_type': u'Purchase Order', - 'sort_by': u'`tabPurchase Order`.`name`', + 'sort_by': u'`tabPurchase Order`.`transaction_date`', 'sort_order': u'DESC', 'standard': u'Yes' }, diff --git a/erpnext/patches/jan_mar_2012/rename_dt.py b/erpnext/patches/jan_mar_2012/rename_dt.py index aa50dfbfd0..ffdeb7c1d9 100644 --- a/erpnext/patches/jan_mar_2012/rename_dt.py +++ b/erpnext/patches/jan_mar_2012/rename_dt.py @@ -48,6 +48,7 @@ def execute(): reload_doc(mod, 'DocType Mapper', ren_mapper[d]) delete_search_criteria() + change_report_module() # reload custom search criteria #for d in webnotes.conn.sql("""select name, module from @@ -126,7 +127,8 @@ def delete_search_criteria(): 'delivery_notes', 'delivery_note_disabled', 'lead', 'lead_interested', 'lead_report', 'periodic_sales_summary', 'monthly_despatched_trend', 'sales', 'sales_order', 'sales_order1', 'sales_agentwise_commission', 'test_report', - 'territory_wise_sales_-_target_vs_actual_')""") + 'territory_wise_sales_-_target_vs_actual_', + 'pending_po_items_to_bill1', 'pending_po_items_to_receive1')""") webnotes.conn.sql(""" DELETE FROM `tabSearch Criteria` @@ -137,6 +139,11 @@ def delete_search_criteria(): AND IFNULL(standard, 'No') = 'Yes' """) +def change_report_module(): + reports = {'itemwise_receipt_details': 'Stock'} + for k in reports: + sql("update `tabSearch Criteria` set module = %s where name = %s", (reports[k], k)) + def rename_in_db(ren_data, data_type, is_doctype): for d in ren_data: print colored('Renaming... ' + d + ' --> '+ ren_data[d], 'yellow') diff --git a/erpnext/stock/doctype/purchase_receipt/purchase_receipt.py b/erpnext/stock/doctype/purchase_receipt/purchase_receipt.py index c723494835..798a2c56de 100644 --- a/erpnext/stock/doctype/purchase_receipt/purchase_receipt.py +++ b/erpnext/stock/doctype/purchase_receipt/purchase_receipt.py @@ -466,8 +466,3 @@ class DocType(TransactionBase): # **** Pull details from other charges master (Get Other Charges) **** def get_purchase_tax_details(self): return get_obj('Purchase Common').get_purchase_tax_details(self) - - # Repair Purchase Order - # =========================================== - def repair_purchase_receipt(self): - get_obj('Purchase Common').repair_curr_doctype_details(self) diff --git a/erpnext/buying/search_criteria/itemwise_receipt_details/__init__.py b/erpnext/stock/search_criteria/itemwise_receipt_details/__init__.py similarity index 100% rename from erpnext/buying/search_criteria/itemwise_receipt_details/__init__.py rename to erpnext/stock/search_criteria/itemwise_receipt_details/__init__.py diff --git a/erpnext/buying/search_criteria/itemwise_receipt_details/itemwise_receipt_details.js b/erpnext/stock/search_criteria/itemwise_receipt_details/itemwise_receipt_details.js similarity index 100% rename from erpnext/buying/search_criteria/itemwise_receipt_details/itemwise_receipt_details.js rename to erpnext/stock/search_criteria/itemwise_receipt_details/itemwise_receipt_details.js diff --git a/erpnext/buying/search_criteria/itemwise_receipt_details/itemwise_receipt_details.txt b/erpnext/stock/search_criteria/itemwise_receipt_details/itemwise_receipt_details.txt similarity index 67% rename from erpnext/buying/search_criteria/itemwise_receipt_details/itemwise_receipt_details.txt rename to erpnext/stock/search_criteria/itemwise_receipt_details/itemwise_receipt_details.txt index 093544f142..b9c8b9c11e 100644 --- a/erpnext/buying/search_criteria/itemwise_receipt_details/itemwise_receipt_details.txt +++ b/erpnext/stock/search_criteria/itemwise_receipt_details/itemwise_receipt_details.txt @@ -3,21 +3,21 @@ # These values are common in all dictionaries { - 'creation': '2012-04-03 12:49:51', + 'creation': '2012-04-11 13:16:55', 'docstatus': 0, - 'modified': '2012-04-03 12:49:51', + 'modified': '2012-04-13 11:16:40', 'modified_by': u'Administrator', 'owner': u'Administrator' }, # These values are common for all Search Criteria { - 'columns': u'Purchase Receipt\x01ID,Purchase Receipt\x01Posting Date,Purchase Receipt Item\x01Item Code,Purchase Receipt Item\x01Item Name,Purchase Receipt Item\x01Accepted Quantity,Purchase Receipt Item\x01Rejected Quantity,Purchase Receipt Item\x01Accepted Warehouse,Purchase Receipt Item\x01Rejected Warehouse,Purchase Receipt Item\x01Amount', + 'columns': u'Purchase Receipt\x01ID,Purchase Receipt\x01Posting Date,Purchase Receipt Item\x01Item Code,Purchase Receipt Item\x01Item Name,Purchase Receipt Item\x01Accepted Quantity,Purchase Receipt Item\x01Rejected Quantity,Purchase Receipt Item\x01UOM,Purchase Receipt Item\x01Accepted Warehouse,Purchase Receipt Item\x01Rejected Warehouse,Purchase Receipt Item\x01Amount', 'criteria_name': u'Itemwise Receipt Details', 'doc_type': u'Purchase Receipt Item', 'doctype': 'Search Criteria', - 'filters': u"{'Purchase Receipt\x01Saved':1,'Purchase Receipt\x01Submitted':1,'Purchase Receipt\x01Status':'','Purchase Receipt\x01Fiscal Year':''}", - 'module': u'Buying', + 'filters': u'{"Purchase Receipt\\u0001Submitted":1,"Purchase Receipt\\u0001Status":[""],"Purchase Receipt\\u0001Fiscal Year":[""]}', + 'module': u'Stock', 'name': '__common__', 'page_len': 50, 'parent_doc_type': u'Purchase Receipt', @@ -31,4 +31,4 @@ 'doctype': 'Search Criteria', 'name': u'itemwise_receipt_details' } -] \ No newline at end of file +]