Merge remote-tracking branch 'frappe/develop' into wip-4.1

This commit is contained in:
Anand Doshi
2014-06-26 15:05:42 +05:30
6 changed files with 25 additions and 23 deletions

View File

@@ -54,7 +54,6 @@ cur_frm.add_fetch('parent_account', 'root_type', 'root_type');
cur_frm.cscript.account_type = function(doc, cdt, cdn) { cur_frm.cscript.account_type = function(doc, cdt, cdn) {
if(doc.group_or_ledger=='Ledger') { if(doc.group_or_ledger=='Ledger') {
cur_frm.toggle_display(['tax_rate'], doc.account_type == 'Tax'); cur_frm.toggle_display(['tax_rate'], doc.account_type == 'Tax');
cur_frm.toggle_display('master_type', cstr(doc.account_type)=='');
cur_frm.toggle_display('master_name', doc.account_type=='Warehouse' || cur_frm.toggle_display('master_name', doc.account_type=='Warehouse' ||
in_list(['Customer', 'Supplier'], doc.master_type)); in_list(['Customer', 'Supplier'], doc.master_type));
} }

View File

@@ -11,8 +11,9 @@ class Account(Document):
nsm_parent_field = 'parent_account' nsm_parent_field = 'parent_account'
def onload(self): def onload(self):
frozen_accounts_modifier = frappe.db.get_value("Accounts Settings", "Accounts Settings", "frozen_accounts_modifier") frozen_accounts_modifier = frappe.db.get_value("Accounts Settings", "Accounts Settings",
if frozen_accounts_modifier in frappe.user.get_roles(): "frozen_accounts_modifier")
if not frozen_accounts_modifier or frozen_accounts_modifier in frappe.user.get_roles():
self.get("__onload").can_freeze_account = True self.get("__onload").can_freeze_account = True

View File

@@ -383,20 +383,20 @@ class SalesInvoice(SellingController):
def get_warehouse(self): def get_warehouse(self):
w = frappe.db.sql("""select warehouse from `tabPOS Setting` user_pos_setting = frappe.db.sql("""select name, warehouse from `tabPOS Setting`
where ifnull(user,'') = %s and company = %s""", where ifnull(user,'') = %s and company = %s""", (frappe.session['user'], self.company))
(frappe.session['user'], self.company)) warehouse = user_pos_setting[0][1] if user_pos_setting else None
w = w and w[0][0] or ''
if not w: if not warehouse:
ps = frappe.db.sql("""select name, warehouse from `tabPOS Setting` global_pos_setting = frappe.db.sql("""select name, warehouse from `tabPOS Setting`
where ifnull(user,'') = '' and company = %s""", self.company) where ifnull(user,'') = '' and company = %s""", self.company)
if not ps:
if global_pos_setting:
warehouse = global_pos_setting[0][1]
elif not user_pos_setting:
msgprint(_("POS Setting required to make POS Entry"), raise_exception=True) msgprint(_("POS Setting required to make POS Entry"), raise_exception=True)
elif not ps[0][1]:
msgprint(_("Warehouse required in POS Setting")) return warehouse
else:
w = ps[0][1]
return w
def on_update(self): def on_update(self):
if cint(self.update_stock) == 1: if cint(self.update_stock) == 1:
@@ -747,7 +747,7 @@ def assign_task_to_owner(inv, msg, users):
'doctype' : 'Sales Invoice', 'doctype' : 'Sales Invoice',
'name' : inv, 'name' : inv,
'description' : msg, 'description' : msg,
'priority' : 'Urgent' 'priority' : 'High'
} }
assign_to.add(args) assign_to.add(args)

View File

@@ -238,7 +238,11 @@ class StockController(AccountsController):
frappe.throw(_("Expense or Difference account is mandatory for Item {0} as it impacts overall stock value").format(item.item_code)) frappe.throw(_("Expense or Difference account is mandatory for Item {0} as it impacts overall stock value").format(item.item_code))
else: else:
is_expense_account = frappe.db.get_value("Account", item.get("expense_account"), "report_type")=="Profit and Loss" is_expense_account = frappe.db.get_value("Account",
item.get("expense_account"), "report_type")=="Profit and Loss"
if self.doctype != "Purchase Receipt" and not is_expense_account:
frappe.throw(_("Expense / Difference account ({0}) must be a 'Profit or Loss' account")
.format(item.get("expense_account")))
if is_expense_account and not item.get("cost_center"): if is_expense_account and not item.get("cost_center"):
frappe.throw(_("{0} {1}: Cost Center is mandatory for Item {2}").format( frappe.throw(_("{0} {1}: Cost Center is mandatory for Item {2}").format(
_(self.doctype), self.name, item.get("item_code"))) _(self.doctype), self.name, item.get("item_code")))

View File

@@ -370,10 +370,8 @@ class ProductionPlanningTool(Document):
if items_to_be_requested: if items_to_be_requested:
for item in items_to_be_requested: for item in items_to_be_requested:
item_wrapper = frappe.get_doc("Item", item) item_wrapper = frappe.get_doc("Item", item)
pr_doc = frappe.get_doc({ pr_doc = frappe.new_doc("Material Request")
"doctype": "Material Request", pr_doc.update({
"__islocal": 1,
"naming_series": "IDT",
"transaction_date": nowdate(), "transaction_date": nowdate(),
"status": "Draft", "status": "Draft",
"company": self.company, "company": self.company,

View File

@@ -155,7 +155,7 @@
"fieldtype": "Select", "fieldtype": "Select",
"label": "Creation Document Type", "label": "Creation Document Type",
"no_copy": 1, "no_copy": 1,
"options": "\nPurchase Receipt\nStock Entry", "options": "\nPurchase Receipt\nStock Entry\nSerial No",
"permlevel": 0, "permlevel": 0,
"read_only": 1 "read_only": 1
}, },
@@ -418,7 +418,7 @@
"icon": "icon-barcode", "icon": "icon-barcode",
"idx": 1, "idx": 1,
"in_create": 0, "in_create": 0,
"modified": "2014-05-27 03:49:19.131746", "modified": "2014-06-26 12:33:49.911829",
"modified_by": "Administrator", "modified_by": "Administrator",
"module": "Stock", "module": "Stock",
"name": "Serial No", "name": "Serial No",