Merge branch 'latest' of github.com:webnotes/erpnext into latest

This commit is contained in:
Rushabh Mehta 2012-02-14 17:25:40 +05:30
commit c9b10fd8d4
7 changed files with 116 additions and 64 deletions

View File

@ -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);
} }

View File

@ -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'
} }
] ]

View 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'
""")

View File

@ -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'
} }
] ]

View File

@ -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)

View File

@ -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);
} }

View File

@ -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