merge, update bean validations

This commit is contained in:
Rushabh Mehta
2013-03-01 19:09:06 +05:30
26 changed files with 156 additions and 143 deletions

View File

@@ -1,15 +1,17 @@
[
{
"creation": "2013-01-10 16:34:25",
"creation": "2013-03-01 08:21:54",
"docstatus": 0,
"modified": "2013-01-29 13:40:32",
"modified": "2013-03-01 08:22:16",
"modified_by": "Administrator",
"owner": "harshada@webnotestech.com"
},
{
"allow_attach": 1,
"autoname": "field:batch_id",
"doctype": "DocType",
"document_type": "Master",
"max_attachments": 5,
"module": "Stock",
"name": "__common__"
},
@@ -105,6 +107,15 @@
"oldfieldtype": "Small Text",
"read_only": 1
},
{
"doctype": "DocField",
"fieldname": "file_list",
"fieldtype": "Text",
"hidden": 1,
"label": "File List",
"no_copy": 1,
"print_hide": 1
},
{
"doctype": "DocPerm"
}

View File

@@ -22,13 +22,11 @@ cur_frm.cscript.refresh = function(doc) {
if ((!doc.__islocal) && (doc.is_stock_item == 'Yes')) {
var callback = function(r, rt) {
var enabled = (r.message == 'exists') ? false : true;
var enabled = (r.message == 'exists') ? false : true;
cur_frm.toggle_enable(['has_serial_no', 'is_stock_item', 'valuation_method'], enabled);
}
$c_obj(make_doclist(doc.doctype, doc.name),'check_if_sle_exists','',callback);
}
cur_frm.cscript.hide_website_fields(doc);
}
cur_frm.cscript.item_code = function(doc) {

View File

@@ -1,8 +1,8 @@
[
{
"creation": "2013-02-20 13:26:14",
"creation": "2013-02-21 14:54:43",
"docstatus": 0,
"modified": "2013-02-20 18:14:06",
"modified": "2013-02-28 10:43:02",
"modified_by": "Administrator",
"owner": "Administrator"
},
@@ -28,13 +28,14 @@
"permlevel": 0
},
{
"amend": 0,
"doctype": "DocPerm",
"name": "__common__",
"parent": "Item",
"parentfield": "permissions",
"parenttype": "DocType",
"permlevel": 0,
"read": 1,
"report": 1,
"submit": 0
},
{
@@ -596,7 +597,6 @@
"label": "Price Lists and Rates"
},
{
"depends_on": "eval:doc.is_sales_item==\"Yes\"",
"description": "Create a price list from Price List master and enter standard ref rates against each of them. On selection of a price list in Quotation, Sales Order or Delivery Note, corresponding ref rate will be fetched for this item.",
"doctype": "DocField",
"fieldname": "ref_rate_details",
@@ -812,76 +812,27 @@
"fieldtype": "Text Editor",
"label": "Website Description"
},
{
"cancel": 0,
"create": 0,
"doctype": "DocPerm",
"permlevel": 1,
"report": 0,
"role": "Material Manager",
"write": 0
},
{
"cancel": 0,
"create": 0,
"doctype": "DocPerm",
"permlevel": 0,
"report": 1,
"role": "Material Manager",
"write": 0
},
{
"cancel": 0,
"create": 0,
"doctype": "DocPerm",
"permlevel": 1,
"report": 0,
"role": "Material User",
"write": 0
},
{
"cancel": 0,
"create": 0,
"doctype": "DocPerm",
"permlevel": 0,
"report": 1,
"role": "Material User",
"write": 0
},
{
"cancel": 1,
"create": 1,
"doctype": "DocPerm",
"permlevel": 0,
"report": 1,
"role": "Material Master Manager",
"write": 1
},
{
"amend": 0,
"cancel": 0,
"create": 0,
"doctype": "DocPerm",
"permlevel": 1,
"report": 0,
"role": "Material Master Manager",
"role": "Material Manager",
"write": 0
},
{
"cancel": 1,
"create": 1,
"doctype": "DocPerm",
"permlevel": 0,
"report": 1,
"role": "System Manager",
"write": 1
},
{
"amend": 0,
"cancel": 0,
"create": 0,
"doctype": "DocPerm",
"permlevel": 1,
"report": 0,
"role": "System Manager",
"role": "Material User",
"write": 0
}
]

View File

@@ -37,6 +37,18 @@ erpnext.buying.PurchaseReceiptController = erpnext.buying.BuyingController.exten
if(wn.boot.control_panel.country == 'India') {
unhide_field(['challan_no', 'challan_date']);
}
},
onload_post_render: function(doc, dt, dn) {
var me = this;
var callback = function(doc, dt, dn) {
me.update_item_details(doc, dt, dn, function(r,rt) { });
}
// TODO: improve this
if(this.frm.doc.__islocal && this.frm.fields_dict.price_list_name
&& this.frm.doc.price_list_name) {
this.price_list_name(callback);
}
}
});
@@ -45,7 +57,6 @@ var new_cscript = new erpnext.buying.PurchaseReceiptController({frm: cur_frm});
// for backward compatibility: combine new and previous states
$.extend(cur_frm.cscript, new_cscript);
//========================== On Load ================================================================
cur_frm.cscript.onload = function(doc, cdt, cdn) {
if(!doc.fiscal_year && doc.__islocal){ wn.model.set_default_values(doc);}
if (!doc.posting_date) doc.posting_date = dateutil.obj_to_str(new Date());
@@ -53,15 +64,6 @@ cur_frm.cscript.onload = function(doc, cdt, cdn) {
if (!doc.status) doc.status = 'Draft';
}
cur_frm.cscript.onload_post_render = function(doc, dt, dn) {
var callback = function(doc, dt, dn) {
// defined in purchase_common.js
cur_frm.cscript.update_item_details(doc, dt, dn, function(r,rt) { });
}
cur_frm.cscript.dynamic_label(doc, dt, dn, callback);
}
//Supplier
cur_frm.cscript.supplier = function(doc,dt,dn) {
if (doc.supplier) {
get_server_fields('get_default_supplier_address',

View File

@@ -214,7 +214,8 @@ class DocType(BuyingController):
def validate_inspection(self):
for d in getlist(self.doclist, 'purchase_receipt_details'): #Enter inspection date for all items that require inspection
ins_reqd = sql("select inspection_required from `tabItem` where name = %s", (d.item_code), as_dict = 1)
ins_reqd = sql("select inspection_required from `tabItem` where name = %s",
(d.item_code,), as_dict = 1)
ins_reqd = ins_reqd and ins_reqd[0]['inspection_required'] or 'No'
if ins_reqd == 'Yes' and not d.qa_no:
msgprint("Item: " + d.item_code + " requires QA Inspection. Please enter QA No or report to authorized person to create Quality Inspection")
@@ -289,17 +290,17 @@ class DocType(BuyingController):
self.make_gl_entries()
def validate_for_subcontracting(self):
if self.sub_contracted_items and self.purchase_items and not self.doc.is_subcontracted:
if not self.doc.is_subcontracted and self.sub_contracted_items:
webnotes.msgprint(_("""Please enter whether Purchase Recipt is made for subcontracting
or purchasing, in 'Is Subcontracted' field"""), raise_exception=1)
if self.doc.is_subcontracted and not self.doc.supplier_warehouse:
if self.doc.is_subcontracted=="Yes" and not self.doc.supplier_warehouse:
webnotes.msgprint(_("Please Enter Supplier Warehouse for subcontracted Items"),
raise_exception=1)
def update_raw_materials_supplied(self):
self.doclist = self.doc.clear_table(self.doclist, 'pr_raw_material_details')
if self.sub_contracted_items:
if self.doc.is_subcontracted=="Yes":
for item in self.doclist.get({"parentfield": "purchase_receipt_details"}):
if item.item_code in self.sub_contracted_items:
self.add_bom_items(item)

View File

@@ -102,8 +102,7 @@ erpnext.StockBalance = erpnext.StockAnalytics.extend({
for(var i=0, j=data.length; i<j; i++) {
var sl = data[i];
sl.posting_datetime = sl.posting_date + " " + sl.posting_time;
var posting_datetime = dateutil.str_to_obj(sl.posting_datetime);
var sl_posting_date = dateutil.str_to_obj(sl.posting_date);
if(me.is_default("warehouse") ? true : me.warehouse == sl.warehouse) {
var item = me.item_by_name[sl.item_code];
@@ -115,10 +114,10 @@ erpnext.StockBalance = erpnext.StockAnalytics.extend({
var qty_diff = sl.qty;
var value_diff = me.get_value_diff(wh, sl, is_fifo);
if(posting_datetime < from_date) {
if(sl_posting_date < from_date) {
item.opening_qty += qty_diff;
item.opening_value += value_diff;
} else if(posting_datetime <= to_date) {
} else if(sl_posting_date <= to_date) {
var ignore_inflow_outflow = this.is_default("warehouse")
&& sl.voucher_type=="Stock Entry"
&& this.stock_entry_map[sl.voucher_no].purpose=="Material Transfer";