From c53231a841ca60b0afbfc0d1a57da7d95e86bcb1 Mon Sep 17 00:00:00 2001 From: Rushabh Mehta Date: Mon, 18 Feb 2013 18:24:28 +0530 Subject: [PATCH] model_wrapper is now bean, refactoring defaults --- .../bank_reconciliation.py | 2 +- .../budget_distribution.py | 2 +- accounts/doctype/c_form/c_form.py | 2 +- accounts/doctype/cost_center/cost_center.py | 2 +- .../journal_voucher/journal_voucher.py | 2 +- accounts/doctype/mis_control/mis_control.py | 2 +- .../payment_to_invoice_matching_tool.py | 2 +- .../period_closing_voucher.py | 2 +- accounts/doctype/pos_setting/pos_setting.py | 2 +- .../purchase_invoice/purchase_invoice.py | 2 +- .../purchase_invoice/test_purchase_invoice.py | 4 +- .../purchase_taxes_and_charges_master.py | 2 +- .../doctype/sales_invoice/sales_invoice.py | 6 +- .../sales_invoice/test_sales_invoice.py | 4 +- .../trend_analyzer_control.py | 2 +- .../voucher_import_tool.py | 4 +- accounts/utils.py | 4 +- .../purchase_common/purchase_common.py | 2 +- .../doctype/purchase_order/purchase_order.py | 2 +- .../quality_inspection/quality_inspection.py | 2 +- .../supplier_quotation/supplier_quotation.py | 2 +- buying/utils.py | 4 +- home/doctype/feed/feed.py | 2 +- hr/doctype/appraisal/appraisal.py | 2 +- hr/doctype/attendance/attendance.py | 2 +- .../attendance_control_panel.py | 2 +- hr/doctype/employee/employee.py | 2 +- hr/doctype/expense_claim/expense_claim.py | 2 +- hr/doctype/holiday_list/holiday_list.py | 2 +- .../job_applicant/get_job_applications.py | 4 +- .../test_leave_application.py | 7 +- .../leave_control_panel.py | 2 +- hr/doctype/salary_manager/salary_manager.py | 2 +- hr/doctype/salary_slip/salary_slip.py | 2 +- .../salary_structure/salary_structure.py | 2 +- manufacturing/doctype/bom/bom.py | 2 +- .../production_order/production_order.py | 2 +- .../production_planning_tool.py | 6 +- .../doctype/workstation/workstation.py | 2 +- .../august_2012/changed_blog_date_format.py | 4 +- patches/december_2012/expense_leave_reload.py | 4 +- patches/february_2013/p03_material_request.py | 2 + patches/january_2013/holiday_list_patch.py | 2 +- .../remove_unwanted_permission.py | 2 +- .../stock_reconciliation_patch.py | 2 +- patches/june_2012/cms2.py | 4 +- projects/doctype/project/project.py | 2 +- .../project_control/project_control.py | 2 +- projects/doctype/task/task.py | 2 +- projects/doctype/timesheet/timesheet.py | 2 +- .../installation_note/installation_note.py | 2 +- selling/doctype/lead/get_leads.py | 4 +- selling/doctype/opportunity/opportunity.py | 2 +- selling/doctype/plot_control/plot_control.py | 2 +- selling/doctype/quotation/quotation.py | 2 +- selling/doctype/sales_common/sales_common.py | 2 +- selling/doctype/sales_order/sales_order.py | 2 +- selling/doctype/sms_center/sms_center.py | 2 +- selling/page/sales_browser/sales_browser.py | 2 +- .../authorization_control.py | 2 +- .../authorization_rule/authorization_rule.py | 2 +- .../contact_control/contact_control.py | 2 +- setup/doctype/print_heading/print_heading.py | 2 +- .../sales_browser_control.py | 2 +- setup/doctype/sales_partner/sales_partner.py | 2 +- setup/doctype/sales_person/sales_person.py | 2 +- setup/doctype/territory/territory.py | 2 +- .../workflow_engine/workflow_engine.py | 2 +- setup/doctype/workflow_rule/workflow_rule.py | 2 +- stock/doctype/bin/bin.py | 44 +++++---- stock/doctype/delivery_note/delivery_note.py | 6 +- stock/doctype/item/item.py | 2 +- stock/doctype/item/test_item.py | 31 +++++- .../landed_cost_wizard/landed_cost_wizard.py | 2 +- .../material_request/material_request.js | 4 +- .../material_request/material_request.py | 2 +- .../material_request/material_request.txt | 51 ++++++---- .../material_request/test_material_request.py | 32 ++++++ .../purchase_receipt/purchase_receipt.py | 2 +- .../sales_and_purchase_return_tool.py | 2 +- stock/doctype/serial_no/test_serial_no.py | 2 +- stock/doctype/stock_entry/stock_entry.py | 2 +- stock/doctype/stock_entry/test_stock_entry.py | 99 +++++++++++++++++++ stock/doctype/stock_ledger/stock_ledger.py | 4 +- .../stock_reconciliation.py | 2 +- .../test_stock_reconciliation.py | 2 +- .../stock_uom_replace_utility.py | 2 +- stock/doctype/warehouse/test_warehouse.py | 7 +- stock/doctype/warehouse/warehouse.py | 2 +- stock/page/stock_home/stock_home.js | 5 + stock/stock_ledger.py | 2 +- .../doctype/customer_issue/customer_issue.py | 2 +- .../maintenance_schedule.py | 2 +- .../maintenance_visit/maintenance_visit.py | 2 +- support/doctype/newsletter/test_newsletter.py | 10 +- .../support_ticket/get_support_mails.py | 4 +- .../doctype/support_ticket/support_ticket.py | 2 +- .../profile_control/profile_control.py | 2 +- utilities/doctype/sms_control/sms_control.py | 2 +- .../doctype/trash_control/trash_control.py | 2 +- .../contact_us_settings.py | 2 +- .../product_settings/product_settings.py | 2 +- website/helpers/slideshow.py | 2 +- website/utils.py | 2 +- 104 files changed, 351 insertions(+), 163 deletions(-) create mode 100644 stock/doctype/material_request/test_material_request.py create mode 100644 stock/doctype/stock_entry/test_stock_entry.py diff --git a/accounts/doctype/bank_reconciliation/bank_reconciliation.py b/accounts/doctype/bank_reconciliation/bank_reconciliation.py index 05c043265d..980af5844f 100644 --- a/accounts/doctype/bank_reconciliation/bank_reconciliation.py +++ b/accounts/doctype/bank_reconciliation/bank_reconciliation.py @@ -20,7 +20,7 @@ import webnotes from webnotes.utils import cstr, flt, getdate, now, nowdate from webnotes.model import db_exists from webnotes.model.doc import addchild -from webnotes.model.wrapper import getlist, copy_doclist +from webnotes.model.bean import getlist, copy_doclist from webnotes import msgprint sql = webnotes.conn.sql diff --git a/accounts/doctype/budget_distribution/budget_distribution.py b/accounts/doctype/budget_distribution/budget_distribution.py index 976fa84c95..f2fff5a0ac 100644 --- a/accounts/doctype/budget_distribution/budget_distribution.py +++ b/accounts/doctype/budget_distribution/budget_distribution.py @@ -19,7 +19,7 @@ import webnotes from webnotes.utils import flt from webnotes.model.doc import addchild -from webnotes.model.wrapper import getlist +from webnotes.model.bean import getlist from webnotes import msgprint class DocType: diff --git a/accounts/doctype/c_form/c_form.py b/accounts/doctype/c_form/c_form.py index 2636b0cfc4..e574708a14 100644 --- a/accounts/doctype/c_form/c_form.py +++ b/accounts/doctype/c_form/c_form.py @@ -18,7 +18,7 @@ from __future__ import unicode_literals import webnotes from webnotes.utils import flt, getdate from webnotes.model.doc import make_autoname -from webnotes.model.wrapper import getlist +from webnotes.model.bean import getlist class DocType: def __init__(self,d,dl): diff --git a/accounts/doctype/cost_center/cost_center.py b/accounts/doctype/cost_center/cost_center.py index d23b08681c..8340a8b39f 100644 --- a/accounts/doctype/cost_center/cost_center.py +++ b/accounts/doctype/cost_center/cost_center.py @@ -16,7 +16,7 @@ from __future__ import unicode_literals import webnotes -from webnotes.model.wrapper import getlist +from webnotes.model.bean import getlist from webnotes import msgprint from webnotes.utils.nestedset import DocTypeNestedSet diff --git a/accounts/doctype/journal_voucher/journal_voucher.py b/accounts/doctype/journal_voucher/journal_voucher.py index 4408068b35..2acf08efd6 100644 --- a/accounts/doctype/journal_voucher/journal_voucher.py +++ b/accounts/doctype/journal_voucher/journal_voucher.py @@ -19,7 +19,7 @@ import webnotes from webnotes.utils import cint, cstr, flt, fmt_money, formatdate, getdate from webnotes.model.doc import addchild, make_autoname -from webnotes.model.wrapper import getlist +from webnotes.model.bean import getlist from webnotes.model.code import get_obj from webnotes import msgprint from setup.utils import get_company_currency diff --git a/accounts/doctype/mis_control/mis_control.py b/accounts/doctype/mis_control/mis_control.py index 953fed00fc..6d4a8525d5 100644 --- a/accounts/doctype/mis_control/mis_control.py +++ b/accounts/doctype/mis_control/mis_control.py @@ -19,7 +19,7 @@ import webnotes from webnotes.utils import cint, cstr, flt, get_defaults, get_first_day, get_last_day, has_common from webnotes.model import db_exists -from webnotes.model.wrapper import copy_doclist +from webnotes.model.bean import copy_doclist from webnotes import session, msgprint sql = webnotes.conn.sql diff --git a/accounts/doctype/payment_to_invoice_matching_tool/payment_to_invoice_matching_tool.py b/accounts/doctype/payment_to_invoice_matching_tool/payment_to_invoice_matching_tool.py index b75142b66e..ba4dec3715 100644 --- a/accounts/doctype/payment_to_invoice_matching_tool/payment_to_invoice_matching_tool.py +++ b/accounts/doctype/payment_to_invoice_matching_tool/payment_to_invoice_matching_tool.py @@ -19,7 +19,7 @@ import webnotes from webnotes.utils import flt from webnotes.model.doc import addchild -from webnotes.model.wrapper import getlist +from webnotes.model.bean import getlist from webnotes import msgprint class DocType: diff --git a/accounts/doctype/period_closing_voucher/period_closing_voucher.py b/accounts/doctype/period_closing_voucher/period_closing_voucher.py index 80e993aff9..9269661c0a 100644 --- a/accounts/doctype/period_closing_voucher/period_closing_voucher.py +++ b/accounts/doctype/period_closing_voucher/period_closing_voucher.py @@ -20,7 +20,7 @@ import webnotes from webnotes.utils import cstr, flt, getdate from webnotes.model import db_exists from webnotes.model.doc import Document -from webnotes.model.wrapper import copy_doclist +from webnotes.model.bean import copy_doclist from webnotes.model.code import get_obj from webnotes import msgprint diff --git a/accounts/doctype/pos_setting/pos_setting.py b/accounts/doctype/pos_setting/pos_setting.py index 7f820fee05..0e68e2aced 100755 --- a/accounts/doctype/pos_setting/pos_setting.py +++ b/accounts/doctype/pos_setting/pos_setting.py @@ -18,7 +18,7 @@ from __future__ import unicode_literals import webnotes from webnotes.model import db_exists -from webnotes.model.wrapper import copy_doclist +from webnotes.model.bean import copy_doclist from webnotes import msgprint sql = webnotes.conn.sql diff --git a/accounts/doctype/purchase_invoice/purchase_invoice.py b/accounts/doctype/purchase_invoice/purchase_invoice.py index f1c5758617..3043ed3e0f 100644 --- a/accounts/doctype/purchase_invoice/purchase_invoice.py +++ b/accounts/doctype/purchase_invoice/purchase_invoice.py @@ -18,7 +18,7 @@ from __future__ import unicode_literals import webnotes from webnotes.utils import add_days, cint, cstr, flt, formatdate, get_defaults -from webnotes.model.wrapper import getlist +from webnotes.model.bean import getlist from webnotes.model.code import get_obj from webnotes import msgprint, _ from setup.utils import get_company_currency diff --git a/accounts/doctype/purchase_invoice/test_purchase_invoice.py b/accounts/doctype/purchase_invoice/test_purchase_invoice.py index 825c7d03c1..62296bf5bf 100644 --- a/accounts/doctype/purchase_invoice/test_purchase_invoice.py +++ b/accounts/doctype/purchase_invoice/test_purchase_invoice.py @@ -25,7 +25,7 @@ test_dependencies = ["Item", "Cost Center"] class TestPurchaseInvoice(unittest.TestCase): def test_gl_entries(self): - wrapper = webnotes.model_wrapper(self.get_test_doclist()) + wrapper = webnotes.bean(self.get_test_doclist()) # circumvent the disabled calculation call obj = webnotes.get_obj(doc=wrapper.doc, doclist=wrapper.doclist) @@ -54,7 +54,7 @@ class TestPurchaseInvoice(unittest.TestCase): self.assertEqual([d.debit, d.credit], expected_gl_entries.get(d.account)) def test_purchase_invoice_calculation(self): - wrapper = webnotes.model_wrapper(self.get_test_doclist()) + wrapper = webnotes.bean(self.get_test_doclist()) # circumvent the disabled calculation call obj = webnotes.get_obj(doc=wrapper.doc, doclist=wrapper.doclist) diff --git a/accounts/doctype/purchase_taxes_and_charges_master/purchase_taxes_and_charges_master.py b/accounts/doctype/purchase_taxes_and_charges_master/purchase_taxes_and_charges_master.py index faf06fdfc3..1250db5c28 100644 --- a/accounts/doctype/purchase_taxes_and_charges_master/purchase_taxes_and_charges_master.py +++ b/accounts/doctype/purchase_taxes_and_charges_master/purchase_taxes_and_charges_master.py @@ -18,7 +18,7 @@ from __future__ import unicode_literals import webnotes from webnotes.model import db_exists -from webnotes.model.wrapper import copy_doclist +from webnotes.model.bean import copy_doclist from webnotes.model.code import get_obj sql = webnotes.conn.sql diff --git a/accounts/doctype/sales_invoice/sales_invoice.py b/accounts/doctype/sales_invoice/sales_invoice.py index 8ffe17d1d7..997339866d 100644 --- a/accounts/doctype/sales_invoice/sales_invoice.py +++ b/accounts/doctype/sales_invoice/sales_invoice.py @@ -20,7 +20,7 @@ import webnotes from webnotes.utils import add_days, cint, cstr, date_diff, flt, getdate, nowdate, sendmail from webnotes.utils import comma_and from webnotes.model.doc import make_autoname -from webnotes.model.wrapper import getlist +from webnotes.model.bean import getlist from webnotes.model.code import get_obj from webnotes import _, msgprint @@ -858,7 +858,7 @@ def manage_recurring_invoices(next_date=None): where posting_date=%s and recurring_id=%s and docstatus=1""", (next_date, recurring_id)): try: - ref_wrapper = webnotes.model_wrapper('Sales Invoice', ref_invoice) + ref_wrapper = webnotes.bean('Sales Invoice', ref_invoice) new_invoice_wrapper = make_new_invoice(ref_wrapper, next_date) send_notification(new_invoice_wrapper) webnotes.conn.commit() @@ -880,7 +880,7 @@ def manage_recurring_invoices(next_date=None): raise Exception, exception_message def make_new_invoice(ref_wrapper, posting_date): - from webnotes.model.wrapper import clone + from webnotes.model.bean import clone from accounts.utils import get_fiscal_year new_invoice = clone(ref_wrapper) diff --git a/accounts/doctype/sales_invoice/test_sales_invoice.py b/accounts/doctype/sales_invoice/test_sales_invoice.py index c222c1aa63..6dcb713d76 100644 --- a/accounts/doctype/sales_invoice/test_sales_invoice.py +++ b/accounts/doctype/sales_invoice/test_sales_invoice.py @@ -3,7 +3,7 @@ import unittest class TestSalesInvoice(unittest.TestCase): def make(self): - w = webnotes.model_wrapper(webnotes.copy_doclist(test_records[0])) + w = webnotes.bean(webnotes.copy_doclist(test_records[0])) w.insert() w.submit() return w @@ -17,7 +17,7 @@ class TestSalesInvoice(unittest.TestCase): from accounts.doctype.journal_voucher.test_journal_voucher \ import test_records as jv_test_records - jv = webnotes.model_wrapper(webnotes.copy_doclist(jv_test_records[0])) + jv = webnotes.bean(webnotes.copy_doclist(jv_test_records[0])) jv.doclist[1].against_invoice = w.doc.name jv.insert() jv.submit() diff --git a/accounts/doctype/trend_analyzer_control/trend_analyzer_control.py b/accounts/doctype/trend_analyzer_control/trend_analyzer_control.py index b8461bd1c7..8c9f227886 100755 --- a/accounts/doctype/trend_analyzer_control/trend_analyzer_control.py +++ b/accounts/doctype/trend_analyzer_control/trend_analyzer_control.py @@ -19,7 +19,7 @@ import webnotes from webnotes.utils import add_days, add_months, cint, cstr from webnotes.model import db_exists -from webnotes.model.wrapper import copy_doclist +from webnotes.model.bean import copy_doclist sql = webnotes.conn.sql diff --git a/accounts/page/voucher_import_tool/voucher_import_tool.py b/accounts/page/voucher_import_tool/voucher_import_tool.py index f99a0781e9..b94864c211 100644 --- a/accounts/page/voucher_import_tool/voucher_import_tool.py +++ b/accounts/page/voucher_import_tool/voucher_import_tool.py @@ -65,7 +65,7 @@ def map_fields(field_list, source, target): def import_vouchers(common_values, data, start_idx, import_type): from webnotes.model.doc import Document - from webnotes.model.wrapper import ModelWrapper + from webnotes.model.bean import Bean from accounts.utils import get_fiscal_year from webnotes.utils.dateutils import parse_date @@ -159,7 +159,7 @@ def import_vouchers(common_values, data, start_idx, import_type): If you entered accounts correctly, please check template once"""] raise Exception - doclist = ModelWrapper([jv]+details) + doclist = Bean([jv]+details) doclist.submit() messages.append("""

[row #%s] diff --git a/accounts/utils.py b/accounts/utils.py index 4c904adc89..14ceb4e99e 100644 --- a/accounts/utils.py +++ b/accounts/utils.py @@ -121,7 +121,7 @@ def add_ac(args=None): args = webnotes.form_dict args.pop("cmd") - ac = webnotes.model_wrapper(args) + ac = webnotes.bean(args) ac.doc.doctype = "Account" ac.doc.old_parent = "" ac.doc.freeze_account = "No" @@ -135,7 +135,7 @@ def add_cc(args=None): args = webnotes.form_dict args.pop("cmd") - cc = webnotes.model_wrapper(args) + cc = webnotes.bean(args) cc.doc.doctype = "Cost Center" cc.doc.old_parent = "" cc.ignore_permissions = 1 diff --git a/buying/doctype/purchase_common/purchase_common.py b/buying/doctype/purchase_common/purchase_common.py index a0133d6e76..6af08c6520 100644 --- a/buying/doctype/purchase_common/purchase_common.py +++ b/buying/doctype/purchase_common/purchase_common.py @@ -19,7 +19,7 @@ import webnotes from webnotes.utils import add_days, cint, cstr, flt from webnotes.model.doc import addchild -from webnotes.model.wrapper import getlist +from webnotes.model.bean import getlist from webnotes.model.code import get_obj from webnotes import msgprint, _ diff --git a/buying/doctype/purchase_order/purchase_order.py b/buying/doctype/purchase_order/purchase_order.py index 053c70f649..7581a688d1 100644 --- a/buying/doctype/purchase_order/purchase_order.py +++ b/buying/doctype/purchase_order/purchase_order.py @@ -19,7 +19,7 @@ import webnotes from webnotes.utils import cstr, flt, get_defaults from webnotes.model.doc import addchild -from webnotes.model.wrapper import getlist +from webnotes.model.bean import getlist from webnotes.model.code import get_obj from webnotes import msgprint from buying.utils import get_last_purchase_details diff --git a/buying/doctype/quality_inspection/quality_inspection.py b/buying/doctype/quality_inspection/quality_inspection.py index 415524f32a..336aabee8d 100644 --- a/buying/doctype/quality_inspection/quality_inspection.py +++ b/buying/doctype/quality_inspection/quality_inspection.py @@ -19,7 +19,7 @@ import webnotes from webnotes.model import db_exists from webnotes.model.doc import addchild, make_autoname -from webnotes.model.wrapper import copy_doclist +from webnotes.model.bean import copy_doclist sql = webnotes.conn.sql diff --git a/buying/doctype/supplier_quotation/supplier_quotation.py b/buying/doctype/supplier_quotation/supplier_quotation.py index 28b8e1420f..0982fd6d9f 100644 --- a/buying/doctype/supplier_quotation/supplier_quotation.py +++ b/buying/doctype/supplier_quotation/supplier_quotation.py @@ -57,7 +57,7 @@ class DocType(BuyingController): self.doc, self.doclist, """[['Material Request', 'Supplier Quotation'], ['Material Request Item', 'Supplier Quotation Item']]""") - from webnotes.model.wrapper import getlist + from webnotes.model.bean import getlist for d in getlist(self.doclist, self.fname): if d.item_code and not d.purchase_rate: d.purchase_ref_rate = d.discount_rate = d.purchase_rate = 0.0 diff --git a/buying/utils.py b/buying/utils.py index 97efbc7333..9d125de24a 100644 --- a/buying/utils.py +++ b/buying/utils.py @@ -37,7 +37,7 @@ def get_item_details(args): args = webnotes._dict(args) - item_wrapper = webnotes.model_wrapper("Item", args.item_code) + item_wrapper = webnotes.bean("Item", args.item_code) item = item_wrapper.doc from stock.utils import validate_end_of_life @@ -98,7 +98,7 @@ def get_item_details(args): def get_rates_as_per_price_list(args, item_doclist=None): if not item_doclist: - item_doclist = webnotes.model_wrapper("Item", args.item_code).doclist + item_doclist = webnotes.bean("Item", args.item_code).doclist result = item_doclist.get({"parentfield": "ref_rate_details", "price_list_name": args.price_list_name, "ref_currency": args.price_list_currency, diff --git a/home/doctype/feed/feed.py b/home/doctype/feed/feed.py index 6e4199b901..36e09cacfb 100644 --- a/home/doctype/feed/feed.py +++ b/home/doctype/feed/feed.py @@ -18,7 +18,7 @@ from __future__ import unicode_literals import webnotes from webnotes.model import db_exists -from webnotes.model.wrapper import copy_doclist +from webnotes.model.bean import copy_doclist sql = webnotes.conn.sql diff --git a/hr/doctype/appraisal/appraisal.py b/hr/doctype/appraisal/appraisal.py index 3d49c311d9..eaa609c3ec 100644 --- a/hr/doctype/appraisal/appraisal.py +++ b/hr/doctype/appraisal/appraisal.py @@ -18,7 +18,7 @@ from __future__ import unicode_literals import webnotes from webnotes.utils import cstr, flt, getdate -from webnotes.model.wrapper import getlist +from webnotes.model.bean import getlist from webnotes.model.code import get_obj from webnotes import msgprint diff --git a/hr/doctype/attendance/attendance.py b/hr/doctype/attendance/attendance.py index d1ebc97333..b0f31310e0 100644 --- a/hr/doctype/attendance/attendance.py +++ b/hr/doctype/attendance/attendance.py @@ -20,7 +20,7 @@ import webnotes from webnotes.utils import add_days, getdate, now from webnotes.model import db_exists from webnotes.model.doc import make_autoname -from webnotes.model.wrapper import copy_doclist +from webnotes.model.bean import copy_doclist from webnotes import msgprint sql = webnotes.conn.sql diff --git a/hr/doctype/attendance_control_panel/attendance_control_panel.py b/hr/doctype/attendance_control_panel/attendance_control_panel.py index bc21f13ffe..fdcc43dede 100644 --- a/hr/doctype/attendance_control_panel/attendance_control_panel.py +++ b/hr/doctype/attendance_control_panel/attendance_control_panel.py @@ -19,7 +19,7 @@ import webnotes from webnotes.utils import cint, cstr, date_diff, formatdate, get_defaults, getdate, now from webnotes.model import db_exists -from webnotes.model.wrapper import copy_doclist +from webnotes.model.bean import copy_doclist from webnotes import form, msgprint sql = webnotes.conn.sql diff --git a/hr/doctype/employee/employee.py b/hr/doctype/employee/employee.py index cef6fdc697..2bd7998159 100644 --- a/hr/doctype/employee/employee.py +++ b/hr/doctype/employee/employee.py @@ -79,7 +79,7 @@ class DocType: from webnotes.profile import add_role add_role(self.doc.user_id, "HR User") - profile_wrapper = webnotes.model_wrapper("Profile", self.doc.user_id) + profile_wrapper = webnotes.bean("Profile", self.doc.user_id) # copy details like Fullname, DOB and Image to Profile if self.doc.employee_name: diff --git a/hr/doctype/expense_claim/expense_claim.py b/hr/doctype/expense_claim/expense_claim.py index 9e476e5595..0aa9ed80b9 100644 --- a/hr/doctype/expense_claim/expense_claim.py +++ b/hr/doctype/expense_claim/expense_claim.py @@ -18,7 +18,7 @@ from __future__ import unicode_literals import webnotes from webnotes.utils import add_days -from webnotes.model.wrapper import getlist +from webnotes.model.bean import getlist from webnotes import form, msgprint from webnotes.model.code import get_obj diff --git a/hr/doctype/holiday_list/holiday_list.py b/hr/doctype/holiday_list/holiday_list.py index 5a4c062810..0218114207 100644 --- a/hr/doctype/holiday_list/holiday_list.py +++ b/hr/doctype/holiday_list/holiday_list.py @@ -20,7 +20,7 @@ import webnotes from webnotes.utils import add_days, add_years, cint, getdate from webnotes.model import db_exists from webnotes.model.doc import addchild, make_autoname -from webnotes.model.wrapper import copy_doclist +from webnotes.model.bean import copy_doclist from webnotes import msgprint sql = webnotes.conn.sql diff --git a/hr/doctype/job_applicant/get_job_applications.py b/hr/doctype/job_applicant/get_job_applications.py index 4737a6a81b..0b994c5b81 100644 --- a/hr/doctype/job_applicant/get_job_applications.py +++ b/hr/doctype/job_applicant/get_job_applications.py @@ -31,14 +31,14 @@ class JobsMailbox(POP3Mailbox): name = webnotes.conn.get_value("Job Applicant", {"email_id": mail.from_email}, "name") if name: - applicant = webnotes.model_wrapper("Job Applicant", name) + applicant = webnotes.bean("Job Applicant", name) if applicant.doc.status!="Rejected": applicant.doc.status = "Open" applicant.doc.save() else: name = (mail.from_real_name and (mail.from_real_name + " - ") or "") \ + mail.from_email - applicant = webnotes.model_wrapper({ + applicant = webnotes.bean({ "creation": mail.date, "doctype":"Job Applicant", "applicant_name": name, diff --git a/hr/doctype/leave_application/test_leave_application.py b/hr/doctype/leave_application/test_leave_application.py index 584549add3..dc1b463e97 100644 --- a/hr/doctype/leave_application/test_leave_application.py +++ b/hr/doctype/leave_application/test_leave_application.py @@ -5,18 +5,18 @@ from hr.doctype.leave_application.leave_application import LeaveDayBlockedError class TestLeaveApplication(unittest.TestCase): def get_application(self, doclist): - application = webnotes.model_wrapper(doclist) + application = webnotes.bean(copy=doclist) application.doc.from_date = "2013-01-01" application.doc.to_date = "2013-01-05" return application def test_block_list(self): import webnotes - webnotes.conn.set_value("Employee", "_T-Employee-0001", "department", - "_Test Department with Block List") + webnotes.conn.set_value("Department", "_Test Department", "leave_block_list", "_Test Leave Block List") application = self.get_application(test_records[1]) application.insert() + application.doc.status = "Approved" self.assertRaises(LeaveDayBlockedError, application.submit) webnotes.session.user = "test1@example.com" @@ -45,6 +45,7 @@ class TestLeaveApplication(unittest.TestCase): from webnotes.profile import add_role add_role("test@example.com", "Leave Approver") + application.doc.status = "Approved" self.assertRaises(LeaveDayBlockedError, application.submit) diff --git a/hr/doctype/leave_control_panel/leave_control_panel.py b/hr/doctype/leave_control_panel/leave_control_panel.py index c81575c1d9..d26efd41fe 100644 --- a/hr/doctype/leave_control_panel/leave_control_panel.py +++ b/hr/doctype/leave_control_panel/leave_control_panel.py @@ -20,7 +20,7 @@ import webnotes from webnotes.utils import cint, cstr, flt, now, nowdate from webnotes.model import db_exists from webnotes.model.doc import Document -from webnotes.model.wrapper import copy_doclist +from webnotes.model.bean import copy_doclist from webnotes.model.code import get_obj from webnotes import msgprint diff --git a/hr/doctype/salary_manager/salary_manager.py b/hr/doctype/salary_manager/salary_manager.py index 45b78a6fb7..e9b3dd719e 100644 --- a/hr/doctype/salary_manager/salary_manager.py +++ b/hr/doctype/salary_manager/salary_manager.py @@ -20,7 +20,7 @@ import webnotes from webnotes.utils import cint, flt from webnotes.model import db_exists from webnotes.model.doc import Document -from webnotes.model.wrapper import getlist, copy_doclist +from webnotes.model.bean import getlist, copy_doclist from webnotes.model.code import get_obj from webnotes import msgprint diff --git a/hr/doctype/salary_slip/salary_slip.py b/hr/doctype/salary_slip/salary_slip.py index 0f8e1ce252..3edf410954 100644 --- a/hr/doctype/salary_slip/salary_slip.py +++ b/hr/doctype/salary_slip/salary_slip.py @@ -19,7 +19,7 @@ import webnotes from webnotes.utils import add_days, cint, cstr, flt, getdate from webnotes.model.doc import make_autoname -from webnotes.model.wrapper import getlist +from webnotes.model.bean import getlist from webnotes.model.code import get_obj from webnotes import msgprint from setup.utils import get_company_currency diff --git a/hr/doctype/salary_structure/salary_structure.py b/hr/doctype/salary_structure/salary_structure.py index 9c5ad246ef..22789e3f49 100644 --- a/hr/doctype/salary_structure/salary_structure.py +++ b/hr/doctype/salary_structure/salary_structure.py @@ -20,7 +20,7 @@ import webnotes from webnotes.utils import cstr, flt from webnotes.model import db_exists from webnotes.model.doc import addchild, make_autoname -from webnotes.model.wrapper import copy_doclist +from webnotes.model.bean import copy_doclist from webnotes import msgprint sql = webnotes.conn.sql diff --git a/manufacturing/doctype/bom/bom.py b/manufacturing/doctype/bom/bom.py index 809f36a5f2..ef07e5e10a 100644 --- a/manufacturing/doctype/bom/bom.py +++ b/manufacturing/doctype/bom/bom.py @@ -18,7 +18,7 @@ from __future__ import unicode_literals import webnotes from webnotes.utils import cint, cstr, flt, now, nowdate from webnotes.model.doc import Document, addchild -from webnotes.model.wrapper import getlist +from webnotes.model.bean import getlist from webnotes.model.code import get_obj from webnotes import msgprint, _ diff --git a/manufacturing/doctype/production_order/production_order.py b/manufacturing/doctype/production_order/production_order.py index 9a09494b92..a0498e063f 100644 --- a/manufacturing/doctype/production_order/production_order.py +++ b/manufacturing/doctype/production_order/production_order.py @@ -20,7 +20,7 @@ import webnotes from webnotes.utils import cstr, flt, now, nowdate from webnotes.model import db_exists from webnotes.model.doc import make_autoname -from webnotes.model.wrapper import copy_doclist +from webnotes.model.bean import copy_doclist from webnotes.model.code import get_obj from webnotes import msgprint diff --git a/manufacturing/doctype/production_planning_tool/production_planning_tool.py b/manufacturing/doctype/production_planning_tool/production_planning_tool.py index b83441b0b8..9626da17c9 100644 --- a/manufacturing/doctype/production_planning_tool/production_planning_tool.py +++ b/manufacturing/doctype/production_planning_tool/production_planning_tool.py @@ -18,7 +18,7 @@ from __future__ import unicode_literals import webnotes from webnotes.utils import cstr, flt, cint, nowdate, add_days from webnotes.model.doc import addchild, Document -from webnotes.model.wrapper import getlist +from webnotes.model.bean import getlist from webnotes.model.code import get_obj from webnotes import msgprint @@ -339,7 +339,7 @@ class DocType: purchase_request_list = [] if items_to_be_requested: for item in items_to_be_requested: - item_wrapper = webnotes.model_wrapper("Item", item) + item_wrapper = webnotes.bean("Item", item) pr_doclist = [ { "doctype": "Material Request", @@ -367,7 +367,7 @@ class DocType: "warehouse": self.doc.purchase_request_for_warehouse } ] - pr_wrapper = webnotes.model_wrapper(pr_doclist) + pr_wrapper = webnotes.bean(pr_doclist) pr_wrapper.ignore_permissions = 1 pr_wrapper.submit() purchase_request_list.append(pr_wrapper.doc.name) diff --git a/manufacturing/doctype/workstation/workstation.py b/manufacturing/doctype/workstation/workstation.py index 1609f6df52..96f694bbd5 100644 --- a/manufacturing/doctype/workstation/workstation.py +++ b/manufacturing/doctype/workstation/workstation.py @@ -19,7 +19,7 @@ import webnotes from webnotes.utils import flt from webnotes.model import db_exists -from webnotes.model.wrapper import copy_doclist +from webnotes.model.bean import copy_doclist sql = webnotes.conn.sql diff --git a/patches/august_2012/changed_blog_date_format.py b/patches/august_2012/changed_blog_date_format.py index f44dc38ea3..df51977be5 100644 --- a/patches/august_2012/changed_blog_date_format.py +++ b/patches/august_2012/changed_blog_date_format.py @@ -1,5 +1,5 @@ from __future__ import unicode_literals def execute(): import webnotes - from webnotes.model.wrapper import ModelWrapper - ModelWrapper("Website Settings", "Website Settings").save() \ No newline at end of file + from webnotes.model.bean import Bean + Bean("Website Settings", "Website Settings").save() \ No newline at end of file diff --git a/patches/december_2012/expense_leave_reload.py b/patches/december_2012/expense_leave_reload.py index 06c67e6993..867a7956c6 100644 --- a/patches/december_2012/expense_leave_reload.py +++ b/patches/december_2012/expense_leave_reload.py @@ -4,10 +4,10 @@ def execute(): # new roles roles = [r[0] for r in webnotes.conn.sql("""select name from tabRole""")] if not "Leave Approver" in roles: - webnotes.model_wrapper([{"doctype":"Role", "role_name":"Leave Approver", + webnotes.bean([{"doctype":"Role", "role_name":"Leave Approver", "__islocal":1, "module":"HR"}]).save() if not "Expense Approver" in roles: - webnotes.model_wrapper([{"doctype":"Role", "role_name":"Expense Approver", + webnotes.bean([{"doctype":"Role", "role_name":"Expense Approver", "__islocal":1, "module":"HR"}]).save() # reload diff --git a/patches/february_2013/p03_material_request.py b/patches/february_2013/p03_material_request.py index b8a4181410..e56cfde0a9 100644 --- a/patches/february_2013/p03_material_request.py +++ b/patches/february_2013/p03_material_request.py @@ -6,6 +6,8 @@ def execute(): webnotes.rename_doc("DocType", "Purchase Request", "Material Request", force=True) webnotes.reload_doc("buying", "search_criteria", "pending_po_items_to_bill") webnotes.reload_doc("buying", "search_criteria", "pending_po_items_to_receive") + + webnotes.conn.sql("""update `tabMaterial Request` set material_request_type='Purchase'""") os.system("rm -rf app/buying/doctype/purchase_request") os.system("rm -rf app/buying/doctype/purchase_request_item") diff --git a/patches/january_2013/holiday_list_patch.py b/patches/january_2013/holiday_list_patch.py index e8e8f8c298..714c0e8963 100644 --- a/patches/january_2013/holiday_list_patch.py +++ b/patches/january_2013/holiday_list_patch.py @@ -1,7 +1,7 @@ import webnotes def execute(): for name in webnotes.conn.sql("""select name from `tabHoliday List`"""): - holiday_list_wrapper = webnotes.model_wrapper("Holiday List", name[0]) + holiday_list_wrapper = webnotes.bean("Holiday List", name[0]) desc_count = _count([d.description for d in holiday_list_wrapper.doclist.get({"doctype": "Holiday"})]) diff --git a/patches/january_2013/remove_unwanted_permission.py b/patches/january_2013/remove_unwanted_permission.py index deeb1b3b1e..7053d9fd1a 100644 --- a/patches/january_2013/remove_unwanted_permission.py +++ b/patches/january_2013/remove_unwanted_permission.py @@ -5,7 +5,7 @@ def execute(): webnotes.conn.sql("""update tabDocPerm set report = 0 where parent = %s""", dt[0]) - doctype = webnotes.model_wrapper("DocType", dt[0]) + doctype = webnotes.bean("DocType", dt[0]) for pl in [1, 2, 3]: if not doctype.doclist.get({"doctype": "DocField", "permlevel": pl}): if doctype.doclist.get({"doctype":"DocPerm", "permlevel":pl}): diff --git a/patches/january_2013/stock_reconciliation_patch.py b/patches/january_2013/stock_reconciliation_patch.py index fa919f4598..9a25ffd94a 100644 --- a/patches/january_2013/stock_reconciliation_patch.py +++ b/patches/january_2013/stock_reconciliation_patch.py @@ -23,7 +23,7 @@ def move_remarks_to_comments(): where ifnull(remark, '')!=''""") fullname_map = {} for reco, remark, modified_by in result: - webnotes.model_wrapper([{ + webnotes.bean([{ "doctype": "Comment", "comment": remark, "comment_by": modified_by, diff --git a/patches/june_2012/cms2.py b/patches/june_2012/cms2.py index c476d91c8d..414af73c00 100644 --- a/patches/june_2012/cms2.py +++ b/patches/june_2012/cms2.py @@ -67,13 +67,13 @@ def save_pages(): } import webnotes - from webnotes.model.wrapper import ModelWrapper + from webnotes.model.bean import Bean import webnotes.modules.patch_handler for dt in query_map: for result in webnotes.conn.sql(query_map[dt], as_dict=1): try: - ModelWrapper(dt, result['name'].encode('utf-8')).save() + Bean(dt, result['name'].encode('utf-8')).save() except Exception, e: webnotes.modules.patch_handler.log(unicode(e)) diff --git a/projects/doctype/project/project.py b/projects/doctype/project/project.py index 3e334e84a3..1de551c753 100644 --- a/projects/doctype/project/project.py +++ b/projects/doctype/project/project.py @@ -20,7 +20,7 @@ import webnotes from webnotes.utils import flt, getdate from webnotes.model import db_exists from webnotes.model.doc import Document -from webnotes.model.wrapper import copy_doclist +from webnotes.model.bean import copy_doclist from webnotes import msgprint sql = webnotes.conn.sql diff --git a/projects/doctype/project_control/project_control.py b/projects/doctype/project_control/project_control.py index d11b260b88..53caab08c9 100644 --- a/projects/doctype/project_control/project_control.py +++ b/projects/doctype/project_control/project_control.py @@ -19,7 +19,7 @@ import webnotes from webnotes.utils import add_days, cint, cstr, date_diff, flt, now, nowdate, add_days from webnotes.model import db_exists -from webnotes.model.wrapper import copy_doclist +from webnotes.model.bean import copy_doclist from webnotes import msgprint from webnotes.utils.email_lib import sendmail sql = webnotes.conn.sql diff --git a/projects/doctype/task/task.py b/projects/doctype/task/task.py index 79fca9aa9c..ad2303efaf 100644 --- a/projects/doctype/task/task.py +++ b/projects/doctype/task/task.py @@ -19,7 +19,7 @@ import webnotes from webnotes.utils import getdate, today from webnotes.model import db_exists -from webnotes.model.wrapper import copy_doclist +from webnotes.model.bean import copy_doclist from webnotes import msgprint sql = webnotes.conn.sql diff --git a/projects/doctype/timesheet/timesheet.py b/projects/doctype/timesheet/timesheet.py index 4f4d824347..6e6e27acd3 100644 --- a/projects/doctype/timesheet/timesheet.py +++ b/projects/doctype/timesheet/timesheet.py @@ -20,7 +20,7 @@ import time, datetime from webnotes.utils import cint, cstr, getdate, now, nowdate from webnotes.model import db_exists -from webnotes.model.wrapper import getlist, copy_doclist +from webnotes.model.bean import getlist, copy_doclist from webnotes import msgprint sql = webnotes.conn.sql diff --git a/selling/doctype/installation_note/installation_note.py b/selling/doctype/installation_note/installation_note.py index 00d365afc7..b0e1d966d9 100644 --- a/selling/doctype/installation_note/installation_note.py +++ b/selling/doctype/installation_note/installation_note.py @@ -20,7 +20,7 @@ import webnotes from webnotes.utils import cstr, getdate from webnotes.model import db_exists from webnotes.model.doc import make_autoname -from webnotes.model.wrapper import getlist, copy_doclist +from webnotes.model.bean import getlist, copy_doclist from webnotes.model.code import get_obj from webnotes import msgprint from stock.utils import get_valid_serial_nos diff --git a/selling/doctype/lead/get_leads.py b/selling/doctype/lead/get_leads.py index cda74129dd..5b127e74e5 100644 --- a/selling/doctype/lead/get_leads.py +++ b/selling/doctype/lead/get_leads.py @@ -23,7 +23,7 @@ from core.doctype.communication.communication import make def add_sales_communication(subject, content, sender, real_name, mail=None, status="Open", date=None): def set_status(doctype, name): - w = webnotes.model_wrapper(doctype, name) + w = webnotes.bean(doctype, name) w.ignore_permissions = True w.doc.status = is_system_user and "Replied" or status w.doc.save() @@ -36,7 +36,7 @@ def add_sales_communication(subject, content, sender, real_name, mail=None, if not (lead_name or contact_name): # none, create a new Lead - lead = webnotes.model_wrapper({ + lead = webnotes.bean({ "doctype":"Lead", "lead_name": real_name or sender, "email_id": sender, diff --git a/selling/doctype/opportunity/opportunity.py b/selling/doctype/opportunity/opportunity.py index 369fab72a1..9da5e6adad 100644 --- a/selling/doctype/opportunity/opportunity.py +++ b/selling/doctype/opportunity/opportunity.py @@ -20,7 +20,7 @@ import webnotes from webnotes.utils import add_days, cstr, getdate from webnotes.model import db_exists from webnotes.model.doc import Document, addchild -from webnotes.model.wrapper import getlist +from webnotes.model.bean import getlist from webnotes import msgprint sql = webnotes.conn.sql diff --git a/selling/doctype/plot_control/plot_control.py b/selling/doctype/plot_control/plot_control.py index 7823b7346d..9431bf9283 100644 --- a/selling/doctype/plot_control/plot_control.py +++ b/selling/doctype/plot_control/plot_control.py @@ -19,7 +19,7 @@ import webnotes from webnotes.utils import cint, cstr, get_defaults, now from webnotes.model import db_exists -from webnotes.model.wrapper import copy_doclist +from webnotes.model.bean import copy_doclist sql = webnotes.conn.sql diff --git a/selling/doctype/quotation/quotation.py b/selling/doctype/quotation/quotation.py index 6c1300b28d..c154a6a3b0 100644 --- a/selling/doctype/quotation/quotation.py +++ b/selling/doctype/quotation/quotation.py @@ -18,7 +18,7 @@ from __future__ import unicode_literals import webnotes from webnotes.utils import cstr, getdate -from webnotes.model.wrapper import getlist +from webnotes.model.bean import getlist from webnotes.model.code import get_obj from webnotes import msgprint diff --git a/selling/doctype/sales_common/sales_common.py b/selling/doctype/sales_common/sales_common.py index 49dc9991e3..797462a853 100644 --- a/selling/doctype/sales_common/sales_common.py +++ b/selling/doctype/sales_common/sales_common.py @@ -19,7 +19,7 @@ import webnotes from webnotes.utils import cint, cstr, flt, getdate, nowdate, formatdate from webnotes.model.doc import addchild -from webnotes.model.wrapper import getlist +from webnotes.model.bean import getlist from webnotes.model.code import get_obj from webnotes import msgprint, _ from setup.utils import get_company_currency diff --git a/selling/doctype/sales_order/sales_order.py b/selling/doctype/sales_order/sales_order.py index 868608123e..b79a6d64f3 100644 --- a/selling/doctype/sales_order/sales_order.py +++ b/selling/doctype/sales_order/sales_order.py @@ -18,7 +18,7 @@ from __future__ import unicode_literals import webnotes from webnotes.utils import cstr, flt, getdate -from webnotes.model.wrapper import getlist +from webnotes.model.bean import getlist from webnotes.model.code import get_obj from webnotes import msgprint diff --git a/selling/doctype/sms_center/sms_center.py b/selling/doctype/sms_center/sms_center.py index 416b1ec4fa..c5db7383f7 100644 --- a/selling/doctype/sms_center/sms_center.py +++ b/selling/doctype/sms_center/sms_center.py @@ -19,7 +19,7 @@ import webnotes from webnotes.utils import cstr from webnotes.model import db_exists -from webnotes.model.wrapper import copy_doclist +from webnotes.model.bean import copy_doclist from webnotes.model.code import get_obj from webnotes import msgprint diff --git a/selling/page/sales_browser/sales_browser.py b/selling/page/sales_browser/sales_browser.py index 5b5e4b85d5..b12c0f4d75 100644 --- a/selling/page/sales_browser/sales_browser.py +++ b/selling/page/sales_browser/sales_browser.py @@ -30,4 +30,4 @@ def add_node(): parent_field: webnotes.form_dict['parent'], "is_group": webnotes.form_dict['is_group'] }] - webnotes.model_wrapper(doclist).save() \ No newline at end of file + webnotes.bean(doclist).save() \ No newline at end of file diff --git a/setup/doctype/authorization_control/authorization_control.py b/setup/doctype/authorization_control/authorization_control.py index 8e02bdf617..33687c7fbe 100644 --- a/setup/doctype/authorization_control/authorization_control.py +++ b/setup/doctype/authorization_control/authorization_control.py @@ -18,7 +18,7 @@ from __future__ import unicode_literals import webnotes from webnotes.utils import cstr, flt, has_common, make_esc -from webnotes.model.wrapper import getlist +from webnotes.model.bean import getlist from webnotes import session, msgprint from setup.utils import get_company_currency diff --git a/setup/doctype/authorization_rule/authorization_rule.py b/setup/doctype/authorization_rule/authorization_rule.py index be6c0aee33..9f19701b8d 100644 --- a/setup/doctype/authorization_rule/authorization_rule.py +++ b/setup/doctype/authorization_rule/authorization_rule.py @@ -19,7 +19,7 @@ import webnotes from webnotes.utils import cint, cstr, flt, has_common from webnotes.model import db_exists -from webnotes.model.wrapper import copy_doclist +from webnotes.model.bean import copy_doclist from webnotes import msgprint sql = webnotes.conn.sql diff --git a/setup/doctype/contact_control/contact_control.py b/setup/doctype/contact_control/contact_control.py index ed90b9985b..3c37ecfac4 100644 --- a/setup/doctype/contact_control/contact_control.py +++ b/setup/doctype/contact_control/contact_control.py @@ -5,7 +5,7 @@ import webnotes from webnotes.utils import set_default from webnotes.model import db_exists from webnotes.model.doc import Document -from webnotes.model.wrapper import copy_doclist +from webnotes.model.bean import copy_doclist from webnotes.model.code import get_obj from webnotes import msgprint diff --git a/setup/doctype/print_heading/print_heading.py b/setup/doctype/print_heading/print_heading.py index 87d21d7ffd..d856eb43bc 100644 --- a/setup/doctype/print_heading/print_heading.py +++ b/setup/doctype/print_heading/print_heading.py @@ -18,7 +18,7 @@ from __future__ import unicode_literals import webnotes from webnotes.model import db_exists -from webnotes.model.wrapper import copy_doclist +from webnotes.model.bean import copy_doclist sql = webnotes.conn.sql diff --git a/setup/doctype/sales_browser_control/sales_browser_control.py b/setup/doctype/sales_browser_control/sales_browser_control.py index 331fe780a8..ae9338fd42 100644 --- a/setup/doctype/sales_browser_control/sales_browser_control.py +++ b/setup/doctype/sales_browser_control/sales_browser_control.py @@ -20,7 +20,7 @@ import webnotes from webnotes.utils import cstr from webnotes.model import db_exists from webnotes.model.doc import Document -from webnotes.model.wrapper import copy_doclist +from webnotes.model.bean import copy_doclist from webnotes.model.code import get_obj from webnotes import msgprint diff --git a/setup/doctype/sales_partner/sales_partner.py b/setup/doctype/sales_partner/sales_partner.py index f99833e16b..f629bff225 100644 --- a/setup/doctype/sales_partner/sales_partner.py +++ b/setup/doctype/sales_partner/sales_partner.py @@ -18,7 +18,7 @@ from __future__ import unicode_literals import webnotes from webnotes.model import db_exists -from webnotes.model.wrapper import copy_doclist +from webnotes.model.bean import copy_doclist sql = webnotes.conn.sql diff --git a/setup/doctype/sales_person/sales_person.py b/setup/doctype/sales_person/sales_person.py index 65e7ac14ab..ea21cd06ce 100644 --- a/setup/doctype/sales_person/sales_person.py +++ b/setup/doctype/sales_person/sales_person.py @@ -17,7 +17,7 @@ from __future__ import unicode_literals import webnotes -from webnotes.model.wrapper import getlist +from webnotes.model.bean import getlist from webnotes.utils import flt from webnotes.utils.nestedset import DocTypeNestedSet diff --git a/setup/doctype/territory/territory.py b/setup/doctype/territory/territory.py index d97a9cada5..896d5c77b3 100644 --- a/setup/doctype/territory/territory.py +++ b/setup/doctype/territory/territory.py @@ -17,7 +17,7 @@ from __future__ import unicode_literals import webnotes -from webnotes.model.wrapper import getlist +from webnotes.model.bean import getlist from webnotes.utils import flt from webnotes.utils.nestedset import DocTypeNestedSet diff --git a/setup/doctype/workflow_engine/workflow_engine.py b/setup/doctype/workflow_engine/workflow_engine.py index f9e2cefbef..693027a68c 100644 --- a/setup/doctype/workflow_engine/workflow_engine.py +++ b/setup/doctype/workflow_engine/workflow_engine.py @@ -18,7 +18,7 @@ from __future__ import unicode_literals import webnotes from webnotes.model import db_exists -from webnotes.model.wrapper import getlist, copy_doclist +from webnotes.model.bean import getlist, copy_doclist from webnotes.model.code import get_obj from webnotes import form, msgprint diff --git a/setup/doctype/workflow_rule/workflow_rule.py b/setup/doctype/workflow_rule/workflow_rule.py index 24b2add676..1c2514d691 100644 --- a/setup/doctype/workflow_rule/workflow_rule.py +++ b/setup/doctype/workflow_rule/workflow_rule.py @@ -19,7 +19,7 @@ import webnotes from webnotes.utils import cstr from webnotes.model import db_exists -from webnotes.model.wrapper import getlist, copy_doclist +from webnotes.model.bean import getlist, copy_doclist from webnotes import form, msgprint sql = webnotes.conn.sql diff --git a/stock/doctype/bin/bin.py b/stock/doctype/bin/bin.py index fc2736f476..e5563cc0b9 100644 --- a/stock/doctype/bin/bin.py +++ b/stock/doctype/bin/bin.py @@ -17,10 +17,10 @@ from __future__ import unicode_literals import webnotes -from webnotes.utils import add_days, cint, cstr, flt, get_defaults, now, nowdate +from webnotes.utils import add_days, cint, cstr, flt, now, nowdate from webnotes.model import db_exists from webnotes.model.doc import Document, addchild -from webnotes.model.wrapper import copy_doclist +from webnotes.model.bean import copy_doclist from webnotes.model.code import get_obj from webnotes import msgprint sql = webnotes.conn.sql @@ -97,28 +97,34 @@ class DocType: def reorder_item(self,doc_type,doc_name): """ Reorder item if stock reaches reorder level""" + if not hasattr(webnotes, "auto_indent"): + webnotes.auto_indent = webnotes.conn.get_value('Global Defaults', None, 'auto_indent') - if webnotes.conn.get_value('Global Defaults', None, 'auto_indent'): + if webnotes.auto_indent: #check if re-order is required - ret = sql("""select re_order_level, item_name, description, brand, item_group, - lead_time_days, min_order_qty, email_notify, re_order_qty - from tabItem where name = %s""", (self.doc.item_code), as_dict=1) + item_reorder = webnotes.conn.get("Item Reorder", + {"parent": self.doc.item_code, "warehouse": self.doc.warehouse}, as_dict=1) - current_qty = sql(""" - select sum(t1.actual_qty) + sum(t1.indented_qty) + sum(t1.ordered_qty) -sum(t1.reserved_qty) - from tabBin t1, tabWarehouse t2 - where t1.item_code = %s - and t1.warehouse = t2.name - and t2.warehouse_type in ('Stores', 'Reserved', 'Default Warehouse Type') - and t1.docstatus != 2 - """, self.doc.item_code) + if item_reorder: + reorder_level = item_reorder.warehouse_reorder_level + reorder_qty = item_reorder.warehouse_reorder_qty + else: + reorder_level, reorder_qty = webnotes.conn.get_valuee("Item", self.doc.item_code, + ["re_order_level", "re_order_qty"]) + + if flt(reorder_qty) and flt(self.doc.projected_qty) < flt(reorder_level): + self.create_material_request(doc_type, doc_name) - if ret[0]["re_order_level"] and current_qty and \ - (flt(ret[0]['re_order_level']) > flt(current_qty[0][0])): - self.create_auto_indent(ret[0], doc_type, doc_name, current_qty[0][0]) - - def create_auto_indent(self, i , doc_type, doc_name, cur_qty): + def create_material_request(self, doc_type, doc_name): """ Create indent on reaching reorder level """ + defaults = webnotes.conn.get_defaults() + mr = webnotes.bean([{ + "doctype": "Material Request", + "company": defaults.company, + + }]) + + indent = Document('Material Request') indent.transaction_date = nowdate() indent.naming_series = 'IDT' diff --git a/stock/doctype/delivery_note/delivery_note.py b/stock/doctype/delivery_note/delivery_note.py index 4c5aeee4ef..b8d20fbe85 100644 --- a/stock/doctype/delivery_note/delivery_note.py +++ b/stock/doctype/delivery_note/delivery_note.py @@ -18,7 +18,7 @@ from __future__ import unicode_literals import webnotes from webnotes.utils import cstr, flt, getdate -from webnotes.model.wrapper import getlist +from webnotes.model.bean import getlist from webnotes.model.code import get_obj from webnotes import msgprint @@ -312,9 +312,9 @@ class DocType(SellingController): """, self.doc.name) if res and res[0][1]>0: - from webnotes.model.wrapper import ModelWrapper + from webnotes.model.bean import Bean for r in res: - ps = ModelWrapper(dt='Packing Slip', dn=r[0]) + ps = Bean(dt='Packing Slip', dn=r[0]) ps.cancel() webnotes.msgprint("%s Packing Slip(s) Cancelled" % res[0][1]) diff --git a/stock/doctype/item/item.py b/stock/doctype/item/item.py index c6ace19b48..a4c35b3679 100644 --- a/stock/doctype/item/item.py +++ b/stock/doctype/item/item.py @@ -19,7 +19,7 @@ import webnotes from webnotes.utils import cstr, flt from webnotes.model.doc import addchild -from webnotes.model.wrapper import getlist +from webnotes.model.bean import getlist from webnotes import msgprint sql = webnotes.conn.sql diff --git a/stock/doctype/item/test_item.py b/stock/doctype/item/test_item.py index 28da848f23..4238e149bb 100644 --- a/stock/doctype/item/test_item.py +++ b/stock/doctype/item/test_item.py @@ -19,7 +19,7 @@ import unittest import webnotes import copy -from webnotes.model.wrapper import ModelWrapper +from webnotes.model.bean import Bean from webnotes.model.doc import Document from webnotes.utils import flt @@ -34,7 +34,7 @@ class TestItem(unittest.TestCase): webnotes.conn.rollback() def testInsert(self): - d = ModelWrapper() + d = Bean() count_before = flt(sql("select count(*) from tab"+_doctype)[0][0]) if docok: @@ -49,7 +49,7 @@ class TestItem(unittest.TestCase): def testFailAssert(self): if docnotok: with self.assertRaises(Exception) as context: - d = ModelWrapper() + d = Bean() d.doc = docnotok[0] d.children = None d.doc.fields['__islocal']=1 @@ -77,6 +77,31 @@ docnotok = [Document(fielddata=r) for r in tabNotOK] test_records = [ + [{ + "doctype": "Item", + "item_code": "_Test Item", + "item_name": "_Test Item", + "description": "_Test Item", + "item_group": "_Test Item Group", + "is_stock_item": "Yes", + "is_asset_item": "No", + "has_batch_no": "No", + "has_serial_no": "No", + "is_purchase_item": "Yes", + "is_sales_item": "Yes", + "is_service_item": "No", + "is_sample_item": "No", + "inspection_required": "No", + "is_pro_applicable": "No", + "is_sub_contracted_item": "No", + "stock_uom": "_Test UOM" + }, { + "doctype": "Item Reorder", + "parentfield": "item_reorder", + "warehouse": "_Test Warehouse", + "warehouse_reorder_level": 20, + "warehouse_reorder_qty": 20 + }], [{ "doctype": "Item", "item_code": "_Test Item Home Desktop 100", diff --git a/stock/doctype/landed_cost_wizard/landed_cost_wizard.py b/stock/doctype/landed_cost_wizard/landed_cost_wizard.py index f2bc7992d0..1fb7b9a016 100644 --- a/stock/doctype/landed_cost_wizard/landed_cost_wizard.py +++ b/stock/doctype/landed_cost_wizard/landed_cost_wizard.py @@ -18,7 +18,7 @@ from __future__ import unicode_literals import webnotes from webnotes.utils import cint, cstr, flt from webnotes.model.doc import addchild -from webnotes.model.wrapper import getlist +from webnotes.model.bean import getlist from webnotes.model.code import get_obj from webnotes import msgprint diff --git a/stock/doctype/material_request/material_request.js b/stock/doctype/material_request/material_request.js index 224fcc627e..fa16c6c532 100644 --- a/stock/doctype/material_request/material_request.js +++ b/stock/doctype/material_request/material_request.js @@ -20,7 +20,7 @@ cur_frm.cscript.fname = "indent_details"; wn.require('app/buying/doctype/purchase_common/purchase_common.js'); wn.require('app/utilities/doctype/sms_control/sms_control.js'); -erpnext.buying.PurchaseRequestController = erpnext.buying.BuyingController.extend({ +erpnext.buying.MaterialRequestController = erpnext.buying.BuyingController.extend({ refresh: function(doc) { this._super(); @@ -39,7 +39,7 @@ erpnext.buying.PurchaseRequestController = erpnext.buying.BuyingController.exten } }); -var new_cscript = new erpnext.buying.PurchaseRequestController({frm: cur_frm}); +var new_cscript = new erpnext.buying.MaterialRequestController({frm: cur_frm}); // for backward compatibility: combine new and previous states $.extend(cur_frm.cscript, new_cscript); diff --git a/stock/doctype/material_request/material_request.py b/stock/doctype/material_request/material_request.py index c2cadda837..e956364490 100644 --- a/stock/doctype/material_request/material_request.py +++ b/stock/doctype/material_request/material_request.py @@ -5,7 +5,7 @@ from __future__ import unicode_literals import webnotes from webnotes.utils import cstr, flt, get_defaults -from webnotes.model.wrapper import getlist +from webnotes.model.bean import getlist from webnotes.model.code import get_obj from webnotes import msgprint diff --git a/stock/doctype/material_request/material_request.txt b/stock/doctype/material_request/material_request.txt index 45dd4167d5..2bf48f4e31 100644 --- a/stock/doctype/material_request/material_request.txt +++ b/stock/doctype/material_request/material_request.txt @@ -1,8 +1,8 @@ [ { - "creation": "2013-01-29 19:25:55", + "creation": "2013-02-18 13:50:55", "docstatus": 0, - "modified": "2013-02-18 13:10:37", + "modified": "2013-02-18 14:41:41", "modified_by": "Administrator", "owner": "Administrator" }, @@ -37,6 +37,19 @@ "doctype": "DocType", "name": "Material Request" }, + { + "doctype": "DocField", + "fieldname": "material_request_type", + "fieldtype": "Select", + "in_list_view": 1, + "label": "Material Request Type", + "options": "Purchase\nTransfer" + }, + { + "doctype": "DocField", + "fieldname": "column_break_2", + "fieldtype": "Column Break" + }, { "description": "To manage multiple series please go to Setup > Manage Series", "doctype": "DocField", @@ -46,25 +59,10 @@ "no_copy": 1, "oldfieldname": "naming_series", "oldfieldtype": "Select", - "options": "MREQ\nIDT", + "options": "MREQ-\nIDT", "print_hide": 1, "reqd": 1 }, - { - "description": "The date at which current entry is made in system.", - "doctype": "DocField", - "fieldname": "transaction_date", - "fieldtype": "Date", - "in_filter": 1, - "label": "Transaction Date", - "no_copy": 1, - "oldfieldname": "transaction_date", - "oldfieldtype": "Date", - "print_width": "100px", - "reqd": 1, - "search_index": 1, - "width": "100px" - }, { "doctype": "DocField", "fieldname": "items", @@ -140,6 +138,21 @@ "print_width": "50%", "width": "50%" }, + { + "description": "The date at which current entry is made in system.", + "doctype": "DocField", + "fieldname": "transaction_date", + "fieldtype": "Date", + "in_filter": 1, + "label": "Transaction Date", + "no_copy": 1, + "oldfieldname": "transaction_date", + "oldfieldtype": "Date", + "print_width": "100px", + "reqd": 1, + "search_index": 1, + "width": "100px" + }, { "description": "Select the relevant company name if you have multiple companies", "doctype": "DocField", @@ -276,7 +289,7 @@ "doctype": "DocField", "fieldname": "remark", "fieldtype": "Small Text", - "in_list_view": 1, + "in_list_view": 0, "label": "Remarks", "no_copy": 1, "oldfieldname": "remark", diff --git a/stock/doctype/material_request/test_material_request.py b/stock/doctype/material_request/test_material_request.py new file mode 100644 index 0000000000..d6e5350cf8 --- /dev/null +++ b/stock/doctype/material_request/test_material_request.py @@ -0,0 +1,32 @@ +test_records = [ + [ + { + "company": "_Test Company", + "doctype": "Material Request", + "fiscal_year": "_Test Fiscal Year 2013", + "transaction_date": "2013-02-18" + }, + { + "description": "A 6", + "doctype": "Material Request Item", + "item_code": "_Test Item Home Desktop 100", + "item_name": "A 6", + "parentfield": "indent_details", + "qty": 54.0, + "schedule_date": "2013-02-18", + "uom": "_Test UOM", + "warehouse": "_Test Warehouse" + }, + { + "description": "Value 3.5", + "doctype": "Material Request Item", + "item_code": "_Test Item Home Desktop 200", + "item_name": "Valve 3.5", + "parentfield": "indent_details", + "qty": 3.0, + "schedule_date": "2013-02-19", + "uom": "_Test UOM", + "warehouse": "_Test Warehouse" + } + ] +] \ No newline at end of file diff --git a/stock/doctype/purchase_receipt/purchase_receipt.py b/stock/doctype/purchase_receipt/purchase_receipt.py index 94d2039995..6c3669ba1d 100644 --- a/stock/doctype/purchase_receipt/purchase_receipt.py +++ b/stock/doctype/purchase_receipt/purchase_receipt.py @@ -19,7 +19,7 @@ import webnotes from webnotes.utils import cstr, flt, get_defaults from webnotes.model.doc import addchild -from webnotes.model.wrapper import getlist +from webnotes.model.bean import getlist from webnotes.model.code import get_obj from webnotes import msgprint diff --git a/stock/doctype/sales_and_purchase_return_tool/sales_and_purchase_return_tool.py b/stock/doctype/sales_and_purchase_return_tool/sales_and_purchase_return_tool.py index 92b0cb1d09..f0170bb20e 100644 --- a/stock/doctype/sales_and_purchase_return_tool/sales_and_purchase_return_tool.py +++ b/stock/doctype/sales_and_purchase_return_tool/sales_and_purchase_return_tool.py @@ -20,7 +20,7 @@ import webnotes from webnotes.utils import flt from webnotes.model import db_exists from webnotes.model.doc import addchild -from webnotes.model.wrapper import copy_doclist +from webnotes.model.bean import copy_doclist sql = webnotes.conn.sql diff --git a/stock/doctype/serial_no/test_serial_no.py b/stock/doctype/serial_no/test_serial_no.py index 1398e68ae8..ef20de8f47 100644 --- a/stock/doctype/serial_no/test_serial_no.py +++ b/stock/doctype/serial_no/test_serial_no.py @@ -41,7 +41,7 @@ class TestSerialNo(unittest.TestCase): ["2012-01-01", "02:00", "10006", 1200, 800], ["2012-01-01", "06:00", "10007", 1500, 900]] for d in data: - webnotes.model_wrapper([{ + webnotes.bean([{ "doctype": "Serial No", "item_code": "Nebula 8", "warehouse": "Default Warehouse", diff --git a/stock/doctype/stock_entry/stock_entry.py b/stock/doctype/stock_entry/stock_entry.py index 73af2bfdf7..342cd6b3ed 100644 --- a/stock/doctype/stock_entry/stock_entry.py +++ b/stock/doctype/stock_entry/stock_entry.py @@ -19,7 +19,7 @@ import webnotes from webnotes.utils import cstr, cint, flt, comma_or from webnotes.model.doc import Document, addchild -from webnotes.model.wrapper import getlist +from webnotes.model.bean import getlist from webnotes.model.code import get_obj from webnotes import msgprint, _ from stock.utils import get_incoming_rate diff --git a/stock/doctype/stock_entry/test_stock_entry.py b/stock/doctype/stock_entry/test_stock_entry.py new file mode 100644 index 0000000000..6678eb3738 --- /dev/null +++ b/stock/doctype/stock_entry/test_stock_entry.py @@ -0,0 +1,99 @@ +import webnotes, unittest + +class TestStockEntry(unittest.TestCase): + def test_auto_material_request(self): + webnotes.conn.sql("""delete from `tabMaterial Request Item`""") + webnotes.conn.sql("""delete from `tabMaterial Request`""") + + st1 = webnotes.bean(copy=test_records[0]) + st1.insert() + st1.submit() + + st2 = webnotes.bean(copy=test_records[0]) + st2.insert() + st2.submit() + + mr_name = webnotes.conn.sql("""select parent from `tabMaterial Request Item` + where item_code='_Test Item'""") + + self.assertTrue(mr_name) + +test_records = [ + [ + { + "company": "_Test Company", + "doctype": "Stock Entry", + "posting_date": "2013-01-25", + "posting_time": "17:14:24", + "purpose": "Material Receipt" + }, + { + "conversion_factor": 1.0, + "doctype": "Stock Entry Detail", + "item_code": "_Test Item", + "parentfield": "mtn_details", + "incoming_rate": 100, + "qty": 50.0, + "stock_uom": "_Test UOM", + "transfer_qty": 50.0, + "uom": "_Test UOM", + "t_warehouse": "_Test Warehouse", + }, + ], + [ + { + "company": "_Test Company", + "doctype": "Stock Entry", + "posting_date": "2013-01-25", + "posting_time": "17:15", + "purpose": "Material Issue" + }, + { + "conversion_factor": 1.0, + "doctype": "Stock Entry Detail", + "item_code": "_Test Item", + "parentfield": "mtn_details", + "incoming_rate": 100, + "qty": 40.0, + "stock_uom": "_Test UOM", + "transfer_qty": 40.0, + "uom": "_Test UOM", + "s_warehouse": "_Test Warehouse", + }, + ], + [ + { + "company": "_Test Company", + "doctype": "Stock Entry", + "posting_date": "2013-01-25", + "posting_time": "17:14:24", + "purpose": "Material Transfer" + }, + { + "conversion_factor": 1.0, + "doctype": "Stock Entry Detail", + "item_code": "_Test Item Home Desktop 100", + "parentfield": "mtn_details", + "incoming_rate": 100, + "qty": 45.0, + "stock_uom": "_Test UOM", + "transfer_qty": 45.0, + "uom": "_Test UOM", + "s_warehouse": "_Test Warehouse", + "t_warehouse": "_Test Warehouse 1", + }, + { + "conversion_factor": 1.0, + "doctype": "Stock Entry Detail", + "item_code": "_Test Item Home Desktop 100", + "parentfield": "mtn_details", + "qty": 45.0, + "incoming_rate": 100, + "stock_uom": "_Test UOM", + "transfer_qty": 45.0, + "uom": "_Test UOM", + "s_warehouse": "_Test Warehouse", + "t_warehouse": "_Test Warehouse 1", + } + ] +] \ No newline at end of file diff --git a/stock/doctype/stock_ledger/stock_ledger.py b/stock/doctype/stock_ledger/stock_ledger.py index 0c0e246a7d..05fc0e0642 100644 --- a/stock/doctype/stock_ledger/stock_ledger.py +++ b/stock/doctype/stock_ledger/stock_ledger.py @@ -19,7 +19,7 @@ import webnotes from webnotes.utils import add_days, cstr, flt, nowdate, cint from webnotes.model.doc import Document -from webnotes.model.wrapper import getlist +from webnotes.model.bean import getlist from webnotes.model.code import get_obj from webnotes import session, msgprint from stock.utils import get_valid_serial_nos @@ -221,7 +221,7 @@ class DocType: if args.get("warehouse"): args["warehouse_type"] = webnotes.conn.get_value('Warehouse' , args["warehouse"], 'warehouse_type') - sle = webnotes.model_wrapper([args]) + sle = webnotes.bean([args]) sle.ignore_permissions = 1 sle.insert() return sle.doc.name diff --git a/stock/doctype/stock_reconciliation/stock_reconciliation.py b/stock/doctype/stock_reconciliation/stock_reconciliation.py index 32fcf89151..e0f7f09c58 100644 --- a/stock/doctype/stock_reconciliation/stock_reconciliation.py +++ b/stock/doctype/stock_reconciliation/stock_reconciliation.py @@ -248,7 +248,7 @@ class DocType(DocListController): } args.update(opts) # create stock ledger entry - sle_wrapper = webnotes.model_wrapper([args]) + sle_wrapper = webnotes.bean([args]) sle_wrapper.ignore_permissions = 1 sle_wrapper.insert() diff --git a/stock/doctype/stock_reconciliation/test_stock_reconciliation.py b/stock/doctype/stock_reconciliation/test_stock_reconciliation.py index 7030c1b492..80579aed5b 100644 --- a/stock/doctype/stock_reconciliation/test_stock_reconciliation.py +++ b/stock/doctype/stock_reconciliation/test_stock_reconciliation.py @@ -115,7 +115,7 @@ class TestStockReconciliation(unittest.TestCase): self.setUp() def submit_stock_reconciliation(self, qty, rate, posting_date, posting_time): - return webnotes.model_wrapper([{ + return webnotes.bean([{ "doctype": "Stock Reconciliation", "name": "RECO-001", "__islocal": 1, diff --git a/stock/doctype/stock_uom_replace_utility/stock_uom_replace_utility.py b/stock/doctype/stock_uom_replace_utility/stock_uom_replace_utility.py index a02758dfb3..dbcccc4418 100644 --- a/stock/doctype/stock_uom_replace_utility/stock_uom_replace_utility.py +++ b/stock/doctype/stock_uom_replace_utility/stock_uom_replace_utility.py @@ -19,7 +19,7 @@ import webnotes from webnotes.utils import cstr, flt, now from webnotes.model import db_exists -from webnotes.model.wrapper import copy_doclist +from webnotes.model.bean import copy_doclist from webnotes.model.code import get_obj from webnotes import msgprint diff --git a/stock/doctype/warehouse/test_warehouse.py b/stock/doctype/warehouse/test_warehouse.py index eb4554b5ee..eed81863ff 100644 --- a/stock/doctype/warehouse/test_warehouse.py +++ b/stock/doctype/warehouse/test_warehouse.py @@ -3,5 +3,10 @@ test_records = [ "doctype": "Warehouse", "warehouse_name": "_Test Warehouse", "warehouse_type": "_Test Warehouse Type" - }] + }], + [{ + "doctype": "Warehouse", + "warehouse_name": "_Test Warehouse 1", + "warehouse_type": "_Test Warehouse Type" + }] ] \ No newline at end of file diff --git a/stock/doctype/warehouse/warehouse.py b/stock/doctype/warehouse/warehouse.py index 380adaa805..a7fc1853ce 100644 --- a/stock/doctype/warehouse/warehouse.py +++ b/stock/doctype/warehouse/warehouse.py @@ -34,7 +34,7 @@ class DocType: warehouse = %s", (item_code, warehouse)) bin = bin and bin[0][0] or '' if not bin: - bin_wrapper = webnotes.model_wrapper([{ + bin_wrapper = webnotes.bean([{ "doctype": "Bin", "item_code": item_code, "warehouse": warehouse, diff --git a/stock/page/stock_home/stock_home.js b/stock/page/stock_home/stock_home.js index 473bb2f5b7..a09cae75bd 100644 --- a/stock/page/stock_home/stock_home.js +++ b/stock/page/stock_home/stock_home.js @@ -6,6 +6,11 @@ wn.module_page["Stock"] = [ title: wn._("Documents"), icon: "icon-copy", items: [ + { + label: wn._("Material Request"), + description: wn._("Request Material for Transfer or Purchase."), + doctype:"Material Request" + }, { label: wn._("Stock Entry"), description: wn._("Transfer stock from one warehouse to another."), diff --git a/stock/stock_ledger.py b/stock/stock_ledger.py index 26f03c6478..60b5fd4aea 100644 --- a/stock/stock_ledger.py +++ b/stock/stock_ledger.py @@ -86,7 +86,7 @@ def update_entries_after(args, verbose=1): # update bin if not webnotes.conn.exists({"doctype": "Bin", "item_code": args["item_code"], "warehouse": args["warehouse"]}): - bin_wrapper = webnotes.model_wrapper([{ + bin_wrapper = webnotes.bean([{ "doctype": "Bin", "item_code": args["item_code"], "warehouse": args["warehouse"], diff --git a/support/doctype/customer_issue/customer_issue.py b/support/doctype/customer_issue/customer_issue.py index af93f33eda..3a4ffc1d0a 100644 --- a/support/doctype/customer_issue/customer_issue.py +++ b/support/doctype/customer_issue/customer_issue.py @@ -19,7 +19,7 @@ from __future__ import unicode_literals import webnotes from webnotes.model import db_exists -from webnotes.model.wrapper import copy_doclist +from webnotes.model.bean import copy_doclist from webnotes import session, msgprint from webnotes.utils import today diff --git a/support/doctype/maintenance_schedule/maintenance_schedule.py b/support/doctype/maintenance_schedule/maintenance_schedule.py index 46891dcff2..60962b1d52 100644 --- a/support/doctype/maintenance_schedule/maintenance_schedule.py +++ b/support/doctype/maintenance_schedule/maintenance_schedule.py @@ -19,7 +19,7 @@ import webnotes from webnotes.utils import add_days, cstr, getdate from webnotes.model.doc import Document, addchild -from webnotes.model.wrapper import getlist +from webnotes.model.bean import getlist from webnotes.model.code import get_obj from webnotes import msgprint diff --git a/support/doctype/maintenance_visit/maintenance_visit.py b/support/doctype/maintenance_visit/maintenance_visit.py index 98a3f522a7..cf1ddeb8cc 100644 --- a/support/doctype/maintenance_visit/maintenance_visit.py +++ b/support/doctype/maintenance_visit/maintenance_visit.py @@ -19,7 +19,7 @@ import webnotes from webnotes.utils import cstr from webnotes.model import db_exists -from webnotes.model.wrapper import getlist, copy_doclist +from webnotes.model.bean import getlist, copy_doclist from webnotes.model.code import get_obj from webnotes import msgprint diff --git a/support/doctype/newsletter/test_newsletter.py b/support/doctype/newsletter/test_newsletter.py index 98ad21f160..4650c0adbf 100644 --- a/support/doctype/newsletter/test_newsletter.py +++ b/support/doctype/newsletter/test_newsletter.py @@ -2,7 +2,7 @@ import webnotes, unittest class TestNewsletter(unittest.TestCase): def test_get_recipients_lead(self): - w = webnotes.model_wrapper(test_records[0]) + w = webnotes.bean(test_records[0]) w.insert() self.assertTrue("test_lead@example.com" in w.controller.get_recipients()) webnotes.conn.sql("""delete from `tabBulk Email`""") @@ -10,24 +10,24 @@ class TestNewsletter(unittest.TestCase): self.assertTrue(webnotes.conn.get_value("Bulk Email", {"recipient": "test_lead@example.com"})) def test_get_recipients_lead_by_status(self): - w = webnotes.model_wrapper(test_records[0]) + w = webnotes.bean(test_records[0]) w.doc.lead_status="Converted" w.insert() self.assertTrue("test_lead3@example.com" in w.controller.get_recipients()) def test_get_recipients_contact_customer(self): - w = webnotes.model_wrapper(test_records[1]) + w = webnotes.bean(test_records[1]) w.insert() self.assertTrue("test_contact_customer@example.com" in w.controller.get_recipients()) def test_get_recipients_contact_supplier(self): - w = webnotes.model_wrapper(test_records[1]) + w = webnotes.bean(test_records[1]) w.doc.contact_type="Supplier" w.insert() self.assertTrue("test_contact_supplier@example.com" in w.controller.get_recipients()) def test_get_recipients_custom(self): - w = webnotes.model_wrapper(test_records[2]) + w = webnotes.bean(test_records[2]) w.insert() self.assertTrue("test_custom2@example.com" in w.controller.get_recipients()) self.assertTrue(webnotes.conn.get("Lead", diff --git a/support/doctype/support_ticket/get_support_mails.py b/support/doctype/support_ticket/get_support_mails.py index d431d8f135..a91d483200 100644 --- a/support/doctype/support_ticket/get_support_mails.py +++ b/support/doctype/support_ticket/get_support_mails.py @@ -38,12 +38,12 @@ class SupportMailbox(POP3Mailbox): ticket = None if thread_id and webnotes.conn.exists("Support Ticket", thread_id): - ticket = webnotes.model_wrapper("Support Ticket", thread_id) + ticket = webnotes.bean("Support Ticket", thread_id) ticket.doc.status = 'Open' ticket.doc.save() else: - ticket = webnotes.model_wrapper([{ + ticket = webnotes.bean([{ "doctype":"Support Ticket", "description": mail.content, "subject": mail.mail["Subject"], diff --git a/support/doctype/support_ticket/support_ticket.py b/support/doctype/support_ticket/support_ticket.py index 43b8283b54..170497dd7f 100644 --- a/support/doctype/support_ticket/support_ticket.py +++ b/support/doctype/support_ticket/support_ticket.py @@ -67,7 +67,7 @@ class DocType(TransactionBase): @webnotes.whitelist() def set_status(name, status): - st = webnotes.model_wrapper("Support Ticket", name) + st = webnotes.bean("Support Ticket", name) st.doc.status = status st.save() diff --git a/utilities/doctype/profile_control/profile_control.py b/utilities/doctype/profile_control/profile_control.py index 5f6b4d5530..340293dc60 100644 --- a/utilities/doctype/profile_control/profile_control.py +++ b/utilities/doctype/profile_control/profile_control.py @@ -20,7 +20,7 @@ import webnotes from webnotes.utils import cstr from webnotes.model import db_exists from webnotes.model.doc import Document -from webnotes.model.wrapper import copy_doclist +from webnotes.model.bean import copy_doclist sql = webnotes.conn.sql diff --git a/utilities/doctype/sms_control/sms_control.py b/utilities/doctype/sms_control/sms_control.py index 61b45b1a76..857dfdb1a5 100644 --- a/utilities/doctype/sms_control/sms_control.py +++ b/utilities/doctype/sms_control/sms_control.py @@ -21,7 +21,7 @@ from webnotes.utils import load_json, nowdate, cstr from webnotes.model.code import get_obj from webnotes.model.doc import Document from webnotes import msgprint -from webnotes.model.wrapper import getlist, copy_doclist +from webnotes.model.bean import getlist, copy_doclist sql = webnotes.conn.sql diff --git a/utilities/doctype/trash_control/trash_control.py b/utilities/doctype/trash_control/trash_control.py index 50edbf5704..341f837031 100644 --- a/utilities/doctype/trash_control/trash_control.py +++ b/utilities/doctype/trash_control/trash_control.py @@ -19,7 +19,7 @@ import webnotes from webnotes.utils import now from webnotes.model import db_exists -from webnotes.model.wrapper import copy_doclist +from webnotes.model.bean import copy_doclist from webnotes.model.code import get_obj sql = webnotes.conn.sql diff --git a/website/doctype/contact_us_settings/contact_us_settings.py b/website/doctype/contact_us_settings/contact_us_settings.py index 8e6ef29474..740b651a17 100644 --- a/website/doctype/contact_us_settings/contact_us_settings.py +++ b/website/doctype/contact_us_settings/contact_us_settings.py @@ -14,7 +14,7 @@ class DocType: else: self.doc.query_options = ["Sales", "Support", "General"] if self.doc.address: - self.address = webnotes.model_wrapper("Address", self.doc.address).doc + self.address = webnotes.bean("Address", self.doc.address).doc def on_update(self): from website.utils import clear_cache diff --git a/website/doctype/product_settings/product_settings.py b/website/doctype/product_settings/product_settings.py index 4e72be6be3..980f1238da 100644 --- a/website/doctype/product_settings/product_settings.py +++ b/website/doctype/product_settings/product_settings.py @@ -13,5 +13,5 @@ class DocType: clear_cache() if self.doc.default_product_category: - webnotes.model_wrapper("Item Group", + webnotes.bean("Item Group", self.doc.default_product_category).save() \ No newline at end of file diff --git a/website/helpers/slideshow.py b/website/helpers/slideshow.py index 2c2ae4ba05..0afd80a0a3 100644 --- a/website/helpers/slideshow.py +++ b/website/helpers/slideshow.py @@ -17,7 +17,7 @@ import webnotes def get_slideshow(obj): - slideshow = webnotes.model_wrapper("Website Slideshow", obj.doc.slideshow) + slideshow = webnotes.bean("Website Slideshow", obj.doc.slideshow) obj.slides = slideshow.doclist.get({"doctype":"Website Slideshow Item"}) obj.doc.slideshow_header = slideshow.doc.header or "" for s in obj.slides: diff --git a/website/utils.py b/website/utils.py index 48ca844ae9..1f27cc86c7 100644 --- a/website/utils.py +++ b/website/utils.py @@ -155,7 +155,7 @@ def prepare_args(page_name): 'name': page_name, }) if page_name in page_settings_map: - args.obj = webnotes.model_wrapper(page_settings_map[page_name]).obj + args.obj = webnotes.bean(page_settings_map[page_name]).obj else: args = get_doc_fields(page_name)