Merge branch 'shf_rename' of github.com:webnotes/erpnext into shf_rename
This commit is contained in:
commit
0f11df13bb
37
README.md
37
README.md
@ -1,46 +1,27 @@
|
|||||||
# ERPNext - Open Source + SAAS ERP
|
# ERPNext - Open Source ERP for small, medium sized businesses
|
||||||
|
|
||||||
Version 2.0
|
[https://erpnext.com](https://erpnext.com)
|
||||||
|
|
||||||
Includes Accounting, Inventory, CRM, Sales, Purchase, Projects, HRMS
|
Includes Accounting, Inventory, CRM, Sales, Purchase, Projects, HRMS. Built on Python / MySQL.
|
||||||
|
|
||||||
Built on Python / MySQL / wnframework
|
|
||||||
|
|
||||||
- [Download](http://erpnext.org)
|
|
||||||
- [Use now as SAAS @ $7/user/month](https://erpnext.com)
|
|
||||||
|
|
||||||
## Platform
|
## Platform
|
||||||
|
|
||||||
ERPNext is built on [wnframework](https://github.com/webnotes/wnframework) (Version 2.0)
|
ERPNext is built on [wnframework](https://github.com/webnotes/wnframework) (Version 2.0)
|
||||||
|
|
||||||
|
## User Guide
|
||||||
|
|
||||||
|
[See wiki](https://github.com/webnotes/erpnext/wiki/User-Guide)
|
||||||
|
|
||||||
## Download and Install
|
## Download and Install
|
||||||
|
|
||||||
For download and install details, please go to [erpnext.org](http://erpnext.org)
|
[See installation notes](https://github.com/webnotes/erpnext/wiki/How-to-Install-ERPNext)
|
||||||
|
|
||||||
## Forums
|
## Forums
|
||||||
|
|
||||||
- [User / Functional](http://groups.google.com/group/erpnext-user-forum)
|
- [User / Functional](http://groups.google.com/group/erpnext-user-forum)
|
||||||
- [Technical](http://groups.google.com/group/wnframework)
|
- [Technical](http://groups.google.com/group/wnframework)
|
||||||
|
|
||||||
## Changes from wnframework version 1.7
|
|
||||||
|
|
||||||
To update from wnframework version 1.
|
|
||||||
|
|
||||||
1. set your html folder to the root of erpnext (rather than wnframework)
|
|
||||||
2. create a symlink in erpnext:
|
|
||||||
|
|
||||||
ln -s path/to/wnframework lib
|
|
||||||
|
|
||||||
3. to setup the versions db, run:
|
|
||||||
|
|
||||||
python lib/wnf.py setup
|
|
||||||
|
|
||||||
4. copy defs.py from cgi-bin/webnotes to py/webnotes
|
|
||||||
5. change module_path (point to erpnext/erpnext) in defs.py
|
|
||||||
6. delete cgi-bin directory
|
|
||||||
7. delete all old module directories from erpnext
|
|
||||||
|
|
||||||
## License
|
## License
|
||||||
|
|
||||||
ERPNext is available under the GNU/GPL license.
|
GNU/General Public License
|
||||||
|
|
||||||
|
|||||||
28
erpnext/patches/may_2012/cleanup_notification_control.py
Normal file
28
erpnext/patches/may_2012/cleanup_notification_control.py
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
def execute():
|
||||||
|
import webnotes
|
||||||
|
webnotes.conn.sql("""
|
||||||
|
delete from `tabSingles`
|
||||||
|
where doctype='Notification Control'
|
||||||
|
and field in (
|
||||||
|
'payable_voucher',
|
||||||
|
'payment_received_message',
|
||||||
|
'payment_sent_message',
|
||||||
|
'enquiry')
|
||||||
|
""")
|
||||||
|
ren_list = [
|
||||||
|
['expense_voucher', 'expense_claim'],
|
||||||
|
['receivable_voucher', 'sales_invoice'],
|
||||||
|
['enquiry', 'opportunity'],
|
||||||
|
]
|
||||||
|
for r in ren_list:
|
||||||
|
webnotes.conn.sql("""
|
||||||
|
update `tabSingles`
|
||||||
|
set field=%s
|
||||||
|
where field=%s
|
||||||
|
and doctype='Notification Control'
|
||||||
|
""", (r[1], r[0]))
|
||||||
|
|
||||||
|
webnotes.conn.commit()
|
||||||
|
webnotes.conn.begin()
|
||||||
|
import webnotes.model.sync
|
||||||
|
webnotes.model.sync.sync('setup', 'notification_control')
|
||||||
@ -322,5 +322,10 @@ patch_list = [
|
|||||||
'patch_file': 'rename_prev_doctype',
|
'patch_file': 'rename_prev_doctype',
|
||||||
'description': 'rename prev doctype fix'
|
'description': 'rename prev doctype fix'
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
'patch_module': 'patches.may_2012',
|
||||||
|
'patch_file': 'cleanup_notification_control',
|
||||||
|
'description': 'cleanup notification control'
|
||||||
|
},
|
||||||
|
|
||||||
]
|
]
|
||||||
|
|||||||
@ -37,7 +37,8 @@ cur_frm.cscript.notify = function(doc, args) {
|
|||||||
if(user!='Administrator') {
|
if(user!='Administrator') {
|
||||||
return user;
|
return user;
|
||||||
} else {
|
} else {
|
||||||
return (wn.control_panel.auto_email_id || 'automail@erpnext.com');
|
return (wn.control_panel.auto_email_id ||
|
||||||
|
'ERPNext Notification<automail@erpnext.com>');
|
||||||
}
|
}
|
||||||
})();
|
})();
|
||||||
if(res.send) {
|
if(res.send) {
|
||||||
|
|||||||
@ -3,9 +3,9 @@
|
|||||||
|
|
||||||
# These values are common in all dictionaries
|
# These values are common in all dictionaries
|
||||||
{
|
{
|
||||||
'creation': '2012-03-27 14:36:22',
|
'creation': '2012-05-03 16:16:21',
|
||||||
'docstatus': 0,
|
'docstatus': 0,
|
||||||
'modified': '2012-03-27 14:36:22',
|
'modified': '2012-05-03 16:23:29',
|
||||||
'modified_by': u'Administrator',
|
'modified_by': u'Administrator',
|
||||||
'owner': u'Administrator'
|
'owner': u'Administrator'
|
||||||
},
|
},
|
||||||
@ -22,7 +22,7 @@
|
|||||||
'name': '__common__',
|
'name': '__common__',
|
||||||
'section_style': u'Simple',
|
'section_style': u'Simple',
|
||||||
'server_code_error': u' ',
|
'server_code_error': u' ',
|
||||||
'version': 79
|
'version': 1
|
||||||
},
|
},
|
||||||
|
|
||||||
# These values are common for all DocField
|
# These values are common for all DocField
|
||||||
@ -85,16 +85,6 @@
|
|||||||
'width': u'50%'
|
'width': u'50%'
|
||||||
},
|
},
|
||||||
|
|
||||||
# DocField
|
|
||||||
{
|
|
||||||
'doctype': u'DocField',
|
|
||||||
'fieldname': u'enquiry',
|
|
||||||
'fieldtype': u'Check',
|
|
||||||
'hidden': 1,
|
|
||||||
'label': u'Opportunity',
|
|
||||||
'print_hide': 1
|
|
||||||
},
|
|
||||||
|
|
||||||
# DocField
|
# DocField
|
||||||
{
|
{
|
||||||
'doctype': u'DocField',
|
'doctype': u'DocField',
|
||||||
@ -122,7 +112,7 @@
|
|||||||
# DocField
|
# DocField
|
||||||
{
|
{
|
||||||
'doctype': u'DocField',
|
'doctype': u'DocField',
|
||||||
'fieldname': u'receivable_voucher',
|
'fieldname': u'sales_invoice',
|
||||||
'fieldtype': u'Check',
|
'fieldtype': u'Check',
|
||||||
'label': u'Sales Invoice'
|
'label': u'Sales Invoice'
|
||||||
},
|
},
|
||||||
@ -155,16 +145,7 @@
|
|||||||
# DocField
|
# DocField
|
||||||
{
|
{
|
||||||
'doctype': u'DocField',
|
'doctype': u'DocField',
|
||||||
'fieldname': u'payable_voucher',
|
'fieldname': u'expense_claim',
|
||||||
'fieldtype': u'Check',
|
|
||||||
'label': u'Purchase Invoice',
|
|
||||||
'print_hide': 1
|
|
||||||
},
|
|
||||||
|
|
||||||
# DocField
|
|
||||||
{
|
|
||||||
'doctype': u'DocField',
|
|
||||||
'fieldname': u'expense_voucher',
|
|
||||||
'fieldtype': u'Check',
|
'fieldtype': u'Check',
|
||||||
'label': u'Expense Claim'
|
'label': u'Expense Claim'
|
||||||
},
|
},
|
||||||
@ -184,7 +165,7 @@
|
|||||||
'fieldname': u'select_transaction',
|
'fieldname': u'select_transaction',
|
||||||
'fieldtype': u'Select',
|
'fieldtype': u'Select',
|
||||||
'label': u'Select Transaction',
|
'label': u'Select Transaction',
|
||||||
'options': u'\nQuotation\nSales Order\nDelivery Note\nSales Invoice\nPayment Received\nPurchase Order\nPurchase Receipt\nPayment Sent',
|
'options': u'\nQuotation\nSales Order\nDelivery Note\nSales Invoice\nPurchase Order\nPurchase Receipt\nExpense Claim\nExpense Claim Approved\nExpense Claim Rejected',
|
||||||
'trigger': u'Client'
|
'trigger': u'Client'
|
||||||
},
|
},
|
||||||
|
|
||||||
@ -245,16 +226,6 @@
|
|||||||
'print_hide': 1
|
'print_hide': 1
|
||||||
},
|
},
|
||||||
|
|
||||||
# DocField
|
|
||||||
{
|
|
||||||
'doctype': u'DocField',
|
|
||||||
'fieldname': u'payment_received_message',
|
|
||||||
'fieldtype': u'Text',
|
|
||||||
'hidden': 1,
|
|
||||||
'label': u'Payment Received Message',
|
|
||||||
'print_hide': 1
|
|
||||||
},
|
|
||||||
|
|
||||||
# DocField
|
# DocField
|
||||||
{
|
{
|
||||||
'doctype': u'DocField',
|
'doctype': u'DocField',
|
||||||
@ -278,17 +249,7 @@
|
|||||||
# DocField
|
# DocField
|
||||||
{
|
{
|
||||||
'doctype': u'DocField',
|
'doctype': u'DocField',
|
||||||
'fieldname': u'payment_sent_message',
|
'fieldname': u'expense_claim_approved_message',
|
||||||
'fieldtype': u'Text',
|
|
||||||
'hidden': 1,
|
|
||||||
'label': u'Payment Sent Message',
|
|
||||||
'print_hide': 1
|
|
||||||
},
|
|
||||||
|
|
||||||
# DocField
|
|
||||||
{
|
|
||||||
'doctype': u'DocField',
|
|
||||||
'fieldname': u'expense_voucher_approved_message',
|
|
||||||
'fieldtype': u'Text',
|
'fieldtype': u'Text',
|
||||||
'hidden': 1,
|
'hidden': 1,
|
||||||
'label': u'Expense Claim Approved Message',
|
'label': u'Expense Claim Approved Message',
|
||||||
@ -298,7 +259,7 @@
|
|||||||
# DocField
|
# DocField
|
||||||
{
|
{
|
||||||
'doctype': u'DocField',
|
'doctype': u'DocField',
|
||||||
'fieldname': u'expense_voucher_rejected_message',
|
'fieldname': u'expense_claim_rejected_message',
|
||||||
'fieldtype': u'Text',
|
'fieldtype': u'Text',
|
||||||
'hidden': 1,
|
'hidden': 1,
|
||||||
'label': u'Expense Claim Rejected Message',
|
'label': u'Expense Claim Rejected Message',
|
||||||
|
|||||||
@ -77,9 +77,9 @@ def update_roles(arg=None):
|
|||||||
@webnotes.whitelist()
|
@webnotes.whitelist()
|
||||||
def update_security(args=''):
|
def update_security(args=''):
|
||||||
args = json.loads(args)
|
args = json.loads(args)
|
||||||
webnotes.conn.set_value('Profile', args['user'], 'restrict_ip', args.get('restrict_ip'))
|
webnotes.conn.set_value('Profile', args['user'], 'restrict_ip', args.get('restrict_ip') or '')
|
||||||
webnotes.conn.set_value('Profile', args['user'], 'login_after', args.get('login_after'))
|
webnotes.conn.set_value('Profile', args['user'], 'login_after', args.get('login_after') or None)
|
||||||
webnotes.conn.set_value('Profile', args['user'], 'login_before', args.get('login_before'))
|
webnotes.conn.set_value('Profile', args['user'], 'login_before', args.get('login_before') or None)
|
||||||
webnotes.conn.set_value('Profile', args['user'], 'enabled', int(args.get('enabled',0)) or 0)
|
webnotes.conn.set_value('Profile', args['user'], 'enabled', int(args.get('enabled',0)) or 0)
|
||||||
|
|
||||||
if args.get('new_password') and args.get('sys_admin_pwd'):
|
if args.get('new_password') and args.get('sys_admin_pwd'):
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user