Merge branch 'latest' of github.com:webnotes/erpnext into latest
This commit is contained in:
commit
c9b10fd8d4
@ -38,7 +38,7 @@ cur_frm.cscript.onload_post_render = function(doc, dt, dn) {
|
|||||||
'load_default_accounts','',
|
'load_default_accounts','',
|
||||||
function(r,rt) {
|
function(r,rt) {
|
||||||
refresh_field('entries');
|
refresh_field('entries');
|
||||||
cur_frm.cscript.customer(doc,dt,dn);
|
cur_frm.cscript.customer(doc,dt,dn,onload=true);
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@ -137,18 +137,21 @@ cur_frm.cscript.warehouse = function(doc, cdt , cdn) {
|
|||||||
|
|
||||||
|
|
||||||
//Customer
|
//Customer
|
||||||
cur_frm.cscript.customer = function(doc,dt,dn) {
|
cur_frm.cscript.customer = function(doc,dt,dn,onload) {
|
||||||
|
|
||||||
var callback = function(r,rt) {
|
var callback = function(r,rt) {
|
||||||
var doc = locals[cur_frm.doctype][cur_frm.docname];
|
var doc = locals[cur_frm.doctype][cur_frm.docname];
|
||||||
get_server_fields('get_debit_to','','',doc, dt, dn, 0);
|
get_server_fields('get_debit_to','','',doc, dt, dn, 0);
|
||||||
cur_frm.refresh();
|
cur_frm.refresh();
|
||||||
}
|
}
|
||||||
|
var args = onload ? 'onload':''
|
||||||
|
if(doc.customer) $c_obj(make_doclist(doc.doctype, doc.name), 'get_default_customer_address', args, callback);
|
||||||
|
|
||||||
if(doc.customer) $c_obj(make_doclist(doc.doctype, doc.name), 'get_default_customer_address', '', callback);
|
|
||||||
if(doc.customer) unhide_field(['customer_address','contact_person','customer_name','address_display','contact_display','contact_mobile','contact_email','territory','customer_group']);
|
if(doc.customer) unhide_field(['customer_address','contact_person','customer_name','address_display','contact_display','contact_mobile','contact_email','territory','customer_group']);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
cur_frm.cscript.customer_address = cur_frm.cscript.contact_person = function(doc,dt,dn) {
|
cur_frm.cscript.customer_address = cur_frm.cscript.contact_person = function(doc,dt,dn) {
|
||||||
if(doc.customer) get_server_fields('get_customer_address', JSON.stringify({customer: doc.customer, address: doc.customer_address, contact: doc.contact_person}),'', doc, dt, dn, 1);
|
if(doc.customer) get_server_fields('get_customer_address', JSON.stringify({customer: doc.customer, address: doc.customer_address, contact: doc.contact_person}),'', doc, dt, dn, 1);
|
||||||
}
|
}
|
||||||
|
@ -5,130 +5,138 @@
|
|||||||
{
|
{
|
||||||
'creation': '2010-08-08 17:09:34',
|
'creation': '2010-08-08 17:09:34',
|
||||||
'docstatus': 0,
|
'docstatus': 0,
|
||||||
'modified': '2011-09-15 15:04:42',
|
'modified': '2012-02-14 15:21:20',
|
||||||
'modified_by': 'Administrator',
|
'modified_by': u'Administrator',
|
||||||
'owner': 'Administrator'
|
'owner': u'Administrator'
|
||||||
},
|
},
|
||||||
|
|
||||||
# These values are common for all Table Mapper Detail
|
# These values are common for all Table Mapper Detail
|
||||||
{
|
{
|
||||||
'doctype': 'Table Mapper Detail',
|
'doctype': u'Table Mapper Detail',
|
||||||
'name': '__common__',
|
'name': '__common__',
|
||||||
'parent': 'Indent-Purchase Order',
|
'parent': u'Indent-Purchase Order',
|
||||||
'parentfield': 'table_mapper_details',
|
'parentfield': u'table_mapper_details',
|
||||||
'parenttype': 'DocType Mapper'
|
'parenttype': u'DocType Mapper'
|
||||||
},
|
},
|
||||||
|
|
||||||
# These values are common for all Field Mapper Detail
|
# These values are common for all Field Mapper Detail
|
||||||
{
|
{
|
||||||
'doctype': 'Field Mapper Detail',
|
'doctype': u'Field Mapper Detail',
|
||||||
'map': 'Yes',
|
'map': u'Yes',
|
||||||
'name': '__common__',
|
'name': '__common__',
|
||||||
'parent': 'Indent-Purchase Order',
|
'parent': u'Indent-Purchase Order',
|
||||||
'parentfield': 'field_mapper_details',
|
'parentfield': u'field_mapper_details',
|
||||||
'parenttype': 'DocType Mapper'
|
'parenttype': u'DocType Mapper'
|
||||||
},
|
},
|
||||||
|
|
||||||
# These values are common for all DocType Mapper
|
# These values are common for all DocType Mapper
|
||||||
{
|
{
|
||||||
'doctype': 'DocType Mapper',
|
'doctype': u'DocType Mapper',
|
||||||
'from_doctype': 'Indent',
|
'from_doctype': u'Indent',
|
||||||
'module': 'Buying',
|
'module': u'Buying',
|
||||||
'name': '__common__',
|
'name': '__common__',
|
||||||
'ref_doc_submitted': 1,
|
'ref_doc_submitted': 1,
|
||||||
'to_doctype': 'Purchase Order'
|
'to_doctype': u'Purchase Order'
|
||||||
},
|
},
|
||||||
|
|
||||||
# DocType Mapper, Indent-Purchase Order
|
# DocType Mapper, Indent-Purchase Order
|
||||||
{
|
{
|
||||||
'doctype': 'DocType Mapper',
|
'doctype': u'DocType Mapper',
|
||||||
'name': 'Indent-Purchase Order'
|
'name': u'Indent-Purchase Order'
|
||||||
},
|
},
|
||||||
|
|
||||||
# Field Mapper Detail
|
# Field Mapper Detail
|
||||||
{
|
{
|
||||||
'checking_operator': '=',
|
'checking_operator': u'=',
|
||||||
'doctype': 'Field Mapper Detail',
|
'doctype': u'Field Mapper Detail',
|
||||||
'from_field': 'company',
|
'from_field': u'company',
|
||||||
'match_id': 0,
|
'match_id': 0,
|
||||||
'to_field': 'company'
|
'to_field': u'company'
|
||||||
},
|
},
|
||||||
|
|
||||||
# Field Mapper Detail
|
# Field Mapper Detail
|
||||||
{
|
{
|
||||||
'doctype': 'Field Mapper Detail',
|
'doctype': u'Field Mapper Detail',
|
||||||
'from_field': 'parenttype',
|
'from_field': u'parenttype',
|
||||||
'match_id': 1,
|
'match_id': 1,
|
||||||
'to_field': 'prevdoc_doctype'
|
'to_field': u'prevdoc_doctype'
|
||||||
},
|
},
|
||||||
|
|
||||||
# Field Mapper Detail
|
# Field Mapper Detail
|
||||||
{
|
{
|
||||||
'doctype': 'Field Mapper Detail',
|
'doctype': u'Field Mapper Detail',
|
||||||
'from_field': 'parent',
|
'from_field': u'parent',
|
||||||
'match_id': 1,
|
'match_id': 1,
|
||||||
'to_field': 'prevdoc_docname'
|
'to_field': u'prevdoc_docname'
|
||||||
},
|
},
|
||||||
|
|
||||||
# Field Mapper Detail
|
# Field Mapper Detail
|
||||||
{
|
{
|
||||||
'doctype': 'Field Mapper Detail',
|
'doctype': u'Field Mapper Detail',
|
||||||
'from_field': 'name',
|
'from_field': u'name',
|
||||||
'match_id': 1,
|
'match_id': 1,
|
||||||
'to_field': 'prevdoc_detail_docname'
|
'to_field': u'prevdoc_detail_docname'
|
||||||
},
|
},
|
||||||
|
|
||||||
# Field Mapper Detail
|
# Field Mapper Detail
|
||||||
{
|
{
|
||||||
'doctype': 'Field Mapper Detail',
|
'doctype': u'Field Mapper Detail',
|
||||||
'from_field': 'uom',
|
'from_field': u'uom',
|
||||||
'match_id': 1,
|
'match_id': 1,
|
||||||
'to_field': 'stock_uom'
|
'to_field': u'stock_uom'
|
||||||
},
|
},
|
||||||
|
|
||||||
# Field Mapper Detail
|
# Field Mapper Detail
|
||||||
{
|
{
|
||||||
'doctype': 'Field Mapper Detail',
|
'doctype': u'Field Mapper Detail',
|
||||||
'from_field': 'eval:flt(1)',
|
'from_field': u'eval:flt(1)',
|
||||||
'match_id': 1,
|
'match_id': 1,
|
||||||
'to_field': 'conversion_factor'
|
'to_field': u'conversion_factor'
|
||||||
},
|
},
|
||||||
|
|
||||||
# Field Mapper Detail
|
# Field Mapper Detail
|
||||||
{
|
{
|
||||||
'doctype': 'Field Mapper Detail',
|
'doctype': u'Field Mapper Detail',
|
||||||
'from_field': 'eval:flt(obj.qty) - flt(obj.ordered_qty)',
|
'from_field': u'eval:flt(obj.qty) - flt(obj.ordered_qty)',
|
||||||
'match_id': 1,
|
'match_id': 1,
|
||||||
'to_field': 'stock_qty'
|
'to_field': u'stock_qty'
|
||||||
},
|
},
|
||||||
|
|
||||||
# Field Mapper Detail
|
# Field Mapper Detail
|
||||||
{
|
{
|
||||||
'doctype': 'Field Mapper Detail',
|
'doctype': u'Field Mapper Detail',
|
||||||
'from_field': 'eval:flt(obj.qty) - flt(obj.ordered_qty)',
|
'from_field': u'eval:flt(obj.qty) - flt(obj.ordered_qty)',
|
||||||
'match_id': 1,
|
'match_id': 1,
|
||||||
'to_field': 'qty'
|
'to_field': u'qty'
|
||||||
|
},
|
||||||
|
|
||||||
|
# Field Mapper Detail
|
||||||
|
{
|
||||||
|
'doctype': u'Field Mapper Detail',
|
||||||
|
'from_field': u'schedule_date',
|
||||||
|
'match_id': 1,
|
||||||
|
'to_field': u'schedule_date'
|
||||||
},
|
},
|
||||||
|
|
||||||
# Table Mapper Detail
|
# Table Mapper Detail
|
||||||
{
|
{
|
||||||
'doctype': 'Table Mapper Detail',
|
'doctype': u'Table Mapper Detail',
|
||||||
'from_table': 'Indent',
|
'from_table': u'Indent',
|
||||||
'match_id': 0,
|
'match_id': 0,
|
||||||
'reference_key': 'prevdoc_docname',
|
'reference_key': u'prevdoc_docname',
|
||||||
'to_table': 'Purchase Order',
|
'to_table': u'Purchase Order',
|
||||||
'validation_logic': 'docstatus = 1'
|
'validation_logic': u'docstatus = 1'
|
||||||
},
|
},
|
||||||
|
|
||||||
# Table Mapper Detail
|
# Table Mapper Detail
|
||||||
{
|
{
|
||||||
'doctype': 'Table Mapper Detail',
|
'doctype': u'Table Mapper Detail',
|
||||||
'from_field': 'indent_details',
|
'from_field': u'indent_details',
|
||||||
'from_table': 'Indent Detail',
|
'from_table': u'Indent Detail',
|
||||||
'match_id': 1,
|
'match_id': 1,
|
||||||
'reference_doctype_key': 'prevdoc_doctype',
|
'reference_doctype_key': u'prevdoc_doctype',
|
||||||
'to_field': 'po_details',
|
'to_field': u'po_details',
|
||||||
'to_table': 'PO Detail',
|
'to_table': u'PO Detail',
|
||||||
'validation_logic': 'qty > ifnull(ordered_qty,0) and docstatus =1'
|
'validation_logic': u'qty > ifnull(ordered_qty,0) and docstatus =1'
|
||||||
}
|
}
|
||||||
]
|
]
|
7
erpnext/patches/jan_mar_2012/subcon_default_val.py
Normal file
7
erpnext/patches/jan_mar_2012/subcon_default_val.py
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
def execute():
|
||||||
|
import webnotes
|
||||||
|
webnotes.conn.sql("""
|
||||||
|
update `tabDocField` set `default` = 'No'
|
||||||
|
where parent in ('Purchase Order', 'Purchase Receipt')
|
||||||
|
and fieldname = 'is_subcontracted'
|
||||||
|
""")
|
@ -74,5 +74,10 @@ patch_list = [
|
|||||||
'patch_module': 'patches.jan_mar_2012',
|
'patch_module': 'patches.jan_mar_2012',
|
||||||
'patch_file': 'account_type_patch',
|
'patch_file': 'account_type_patch',
|
||||||
'description': 'mentioed account type for some tax accounts'
|
'description': 'mentioed account type for some tax accounts'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'patch_module': 'patches.jan_mar_2012',
|
||||||
|
'patch_file': 'subcon_default_val',
|
||||||
|
'description': 'Default value of is_subcontracted in PO, PR is No'
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
@ -11,6 +11,9 @@ def on_login(login_manager):
|
|||||||
try:
|
try:
|
||||||
import server_tools.gateway_utils
|
import server_tools.gateway_utils
|
||||||
server_tools.gateway_utils.check_login(login_manager.user)
|
server_tools.gateway_utils.check_login(login_manager.user)
|
||||||
|
|
||||||
|
login_as(login_manager)
|
||||||
|
|
||||||
except ImportError:
|
except ImportError:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
@ -69,3 +72,27 @@ def get_letter_heads():
|
|||||||
ret = webnotes.conn.sql("""select name, content from `tabLetter Head`
|
ret = webnotes.conn.sql("""select name, content from `tabLetter Head`
|
||||||
where ifnull(disabled,0)=0""")
|
where ifnull(disabled,0)=0""")
|
||||||
return dict(ret)
|
return dict(ret)
|
||||||
|
|
||||||
|
|
||||||
|
def login_as(login_manager):
|
||||||
|
"""
|
||||||
|
Login as functionality -- allows signin from signin.erpnext.com
|
||||||
|
"""
|
||||||
|
# login as user
|
||||||
|
user = webnotes.form.getvalue('login_as')
|
||||||
|
if user:
|
||||||
|
if isinstance(webnotes.session, dict):
|
||||||
|
webnotes.session['user'] = user
|
||||||
|
else:
|
||||||
|
webnotes.session = {'user': user}
|
||||||
|
|
||||||
|
login_manager.user = user
|
||||||
|
|
||||||
|
if hasattr(webnotes.defs, 'validate_ip'):
|
||||||
|
msg = getattr(webnotes.defs, 'validate_ip')()
|
||||||
|
if msg: webnotes.msgprint(msg, raise_exception=1)
|
||||||
|
|
||||||
|
# alisaing here... so check if the user is disabled
|
||||||
|
if not webnotes.conn.sql("select ifnull(enabled,0) from tabProfile where name=%s", user)[0][0]:
|
||||||
|
# throw execption
|
||||||
|
webnotes.msgprint("Authentication Failed", raise_exception=1)
|
||||||
|
@ -61,12 +61,13 @@ cur_frm.cscript.refresh = function(doc, cdt, cdn) {
|
|||||||
|
|
||||||
|
|
||||||
//customer
|
//customer
|
||||||
cur_frm.cscript.customer = function(doc,dt,dn) {
|
cur_frm.cscript.customer = function(doc,dt,dn,onload) {
|
||||||
var callback = function(r,rt) {
|
var callback = function(r,rt) {
|
||||||
var doc = locals[cur_frm.doctype][cur_frm.docname];
|
var doc = locals[cur_frm.doctype][cur_frm.docname];
|
||||||
cur_frm.refresh();
|
cur_frm.refresh();
|
||||||
}
|
}
|
||||||
if(doc.customer) $c_obj(make_doclist(doc.doctype, doc.name), 'get_default_customer_shipping_address', '', callback);
|
var args = onload ? 'onload':''
|
||||||
|
if(doc.customer) $c_obj(make_doclist(doc.doctype, doc.name), 'get_default_customer_shipping_address', args, callback);
|
||||||
if(doc.customer) unhide_field(['customer_address','contact_person','customer_name','address_display','contact_display','contact_mobile','contact_email','territory','customer_group','shipping_address']);
|
if(doc.customer) unhide_field(['customer_address','contact_person','customer_name','address_display','contact_display','contact_mobile','contact_email','territory','customer_group','shipping_address']);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -112,7 +113,7 @@ cur_frm.cscript['Get Items'] = function(doc,dt,dn) {
|
|||||||
cur_frm.cscript.pull_item_details_onload = function(doc,dt,dn){
|
cur_frm.cscript.pull_item_details_onload = function(doc,dt,dn){
|
||||||
var callback = function(r,rt){
|
var callback = function(r,rt){
|
||||||
refresh_field('delivery_note_details');
|
refresh_field('delivery_note_details');
|
||||||
cur_frm.cscript.customer(doc,dt,dn);
|
cur_frm.cscript.customer(doc,dt,dn,onload=true);
|
||||||
}
|
}
|
||||||
$c_obj(make_doclist(dt,dn),'set_item_details','',callback);
|
$c_obj(make_doclist(dt,dn),'set_item_details','',callback);
|
||||||
}
|
}
|
||||||
|
@ -19,6 +19,7 @@ class TransactionBase:
|
|||||||
self.doc.contact_mobile = contact_mobile or ''
|
self.doc.contact_mobile = contact_mobile or ''
|
||||||
|
|
||||||
self.get_customer_details(self.doc.customer)
|
self.get_customer_details(self.doc.customer)
|
||||||
|
if args != 'onload':
|
||||||
self.get_sales_person(self.doc.customer)
|
self.get_sales_person(self.doc.customer)
|
||||||
|
|
||||||
# Get Customer Default Shipping Address - first load
|
# Get Customer Default Shipping Address - first load
|
||||||
@ -34,7 +35,7 @@ class TransactionBase:
|
|||||||
self.doc.contact_mobile = contact_mobile or ''
|
self.doc.contact_mobile = contact_mobile or ''
|
||||||
|
|
||||||
self.get_customer_details(self.doc.customer)
|
self.get_customer_details(self.doc.customer)
|
||||||
if self.doc.doctype != 'Quotation':
|
if self.doc.doctype != 'Quotation' and args != 'onload':
|
||||||
self.get_sales_person(self.doc.customer)
|
self.get_sales_person(self.doc.customer)
|
||||||
|
|
||||||
# Get Customer Address
|
# Get Customer Address
|
||||||
|
Loading…
x
Reference in New Issue
Block a user