diff --git a/README.md b/README.md index 3327238f2fe..27f86feb3c0 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,7 @@ # ERPNext - Open Source + SAAS ERP +Version 2.0 + Includes Accounting, Inventory, CRM, Sales, Purchase, Projects, HRMS Built on Python / MySQL / wnframework @@ -9,7 +11,7 @@ Built on Python / MySQL / wnframework ## Platform -ERPNext is built on [wnframework](https://github.com/webnotes/wnframework) +ERPNext is built on [wnframework](https://github.com/webnotes/wnframework) (Version 2.0) ## Download and Install @@ -20,9 +22,18 @@ For download and install details, please go to [erpnext.org](http://erpnext.org) - [User / Functional](http://groups.google.com/group/erpnext-user-forum) - [Technical](http://groups.google.com/group/wnframework) -## Contributing +## Changes from wnframework version 1.7 -If you interested in contributing to ERPNext, you must go thorough the wnframework. The code is not easily understandable, but we are making a lot of effort to do it. +To update from wnframework version 1. + +1. set your html folder to the root of erpnext (rather than wnframework) +2. symlink wnframework as 'lib': + + ln -s path/to/wnframework lib + +3. to setup the versions db, run: + + python lib/wnf.py setup ## License diff --git a/cgi-bin/README.md b/cgi-bin/README.md new file mode 100644 index 00000000000..0ea07794685 --- /dev/null +++ b/cgi-bin/README.md @@ -0,0 +1 @@ +## Deprecated \ No newline at end of file diff --git a/cgi-bin/getfile.cgi b/cgi-bin/getfile.cgi new file mode 100755 index 00000000000..6b113057dcc --- /dev/null +++ b/cgi-bin/getfile.cgi @@ -0,0 +1,83 @@ +#!/usr/bin/python + +try: + + import sys, os + + sys.path.append('../lib/py') + sys.path.append('../erpnext') + + def getTraceback(): + import sys, traceback, string + type, value, tb = sys.exc_info() + body = "Traceback (innermost last):\n" + list = traceback.format_tb(tb, None) \ + + traceback.format_exception_only(type, value) + body = body + "%-20s %s" % (string.join(list[:-1], ""), list[-1]) + return body + + import cgi + import webnotes + import webnotes.auth + import webnotes.utils + import webnotes.utils.file_manager + import webnotes.db + import webnotes.defs + + sys.path.append(webnotes.defs.modules_path) + + form = cgi.FieldStorage() + webnotes.form_dict = {} + + for each in form.keys(): + webnotes.form_dict[each] = form.getvalue(each) + + n = form.getvalue('name') + + # authenticate + webnotes.auth.HTTPRequest() + + # get file + res = webnotes.utils.file_manager.get_file(n) + + fname = res[0] + if hasattr(res[1], 'tostring'): + fcontent = res[1].tostring() + else: + fcontent = res[1] + + if form.getvalue('thumbnail'): + tn = webnotes.utils.cint(form.getvalue('thumbnail')) + try: + from PIL import Image + import cStringIO + + fobj = cStringIO.StringIO(fcontent) + image = Image.open(fobj) + image.thumbnail((tn,tn*2), Image.ANTIALIAS) + outfile = cStringIO.StringIO() + + if image.mode != "RGB": + image = image.convert("RGB") + + image.save(outfile, 'JPEG') + outfile.seek(0) + fcontent = outfile.read() + except: + pass + + import mimetypes + print "Content-Type: %s" % (mimetypes.guess_type(fname)[0] or 'application/unknown') + print "Content-Disposition: filename="+fname.replace(' ', '_') + print "Cache-Control: max-age=3600" + print + print fcontent + +except Exception, e: + print "Content-Type: text/html" + try: + out = {'message':'', 'exc':getTraceback().replace('\n','
')} + except: + out = {'exc': e} + print + print str(out) diff --git a/erpnext/accounts/DocType Mapper/Delivery Note-Receivable Voucher/Delivery Note-Receivable Voucher.txt b/erpnext/accounts/DocType Mapper/Delivery Note-Receivable Voucher/Delivery Note-Receivable Voucher.txt index 40cdad38f22..9ed756f0235 100644 --- a/erpnext/accounts/DocType Mapper/Delivery Note-Receivable Voucher/Delivery Note-Receivable Voucher.txt +++ b/erpnext/accounts/DocType Mapper/Delivery Note-Receivable Voucher/Delivery Note-Receivable Voucher.txt @@ -5,7 +5,7 @@ { 'creation': '2010-08-08 17:09:34', 'docstatus': 0, - 'modified': '2011-09-13 17:35:54', + 'modified': '2011-09-15 15:04:42', 'modified_by': 'Administrator', 'owner': 'Administrator' }, @@ -143,6 +143,17 @@ 'validation_logic': 'docstatus=1' }, + # Table Mapper Detail + { + 'doctype': 'Table Mapper Detail', + 'from_field': 'delivery_note_details', + 'from_table': 'Delivery Note Detail', + 'match_id': 1, + 'to_field': 'entries', + 'to_table': 'RV Detail', + 'validation_logic': 'amount > ifnull(billed_amt, 0) and docstatus = 1' + }, + # Table Mapper Detail { 'doctype': 'Table Mapper Detail', diff --git a/erpnext/accounts/DocType Mapper/Project-Receivable Voucher/Project-Receivable Voucher.txt b/erpnext/accounts/DocType Mapper/Project-Receivable Voucher/Project-Receivable Voucher.txt index 0854802f0d8..e88f45250fd 100644 --- a/erpnext/accounts/DocType Mapper/Project-Receivable Voucher/Project-Receivable Voucher.txt +++ b/erpnext/accounts/DocType Mapper/Project-Receivable Voucher/Project-Receivable Voucher.txt @@ -3,9 +3,9 @@ # These values are common in all dictionaries { - 'creation': '2010-09-01 15:48:10', + 'creation': '2010-09-01 15:47:59', 'docstatus': 0, - 'modified': '2010-09-01 14:24:38', + 'modified': '2011-09-15 15:04:43', 'modified_by': 'Administrator', 'owner': 'ashwini@webnotestech.com' }, diff --git a/erpnext/accounts/DocType Mapper/Purchase Order-Payable Voucher/Purchase Order-Payable Voucher.txt b/erpnext/accounts/DocType Mapper/Purchase Order-Payable Voucher/Purchase Order-Payable Voucher.txt index 61ee9b6d649..19491102743 100644 --- a/erpnext/accounts/DocType Mapper/Purchase Order-Payable Voucher/Purchase Order-Payable Voucher.txt +++ b/erpnext/accounts/DocType Mapper/Purchase Order-Payable Voucher/Purchase Order-Payable Voucher.txt @@ -5,7 +5,7 @@ { 'creation': '2010-08-08 17:09:35', 'docstatus': 0, - 'modified': '2011-09-13 17:37:09', + 'modified': '2011-09-15 15:04:43', 'modified_by': 'Administrator', 'owner': 'Administrator' }, @@ -116,6 +116,17 @@ 'validation_logic': 'docstatus =1' }, + # Table Mapper Detail + { + 'doctype': 'Table Mapper Detail', + 'from_field': 'po_details', + 'from_table': 'PO Detail', + 'match_id': 1, + 'to_field': 'entries', + 'to_table': 'PV Detail', + 'validation_logic': 'ifnull(billed_qty,0) < qty' + }, + # Table Mapper Detail { 'doctype': 'Table Mapper Detail', diff --git a/erpnext/accounts/DocType Mapper/Purchase Receipt-Payable Voucher/Purchase Receipt-Payable Voucher.txt b/erpnext/accounts/DocType Mapper/Purchase Receipt-Payable Voucher/Purchase Receipt-Payable Voucher.txt index b2baa57c62b..94408e7a2b3 100644 --- a/erpnext/accounts/DocType Mapper/Purchase Receipt-Payable Voucher/Purchase Receipt-Payable Voucher.txt +++ b/erpnext/accounts/DocType Mapper/Purchase Receipt-Payable Voucher/Purchase Receipt-Payable Voucher.txt @@ -5,7 +5,7 @@ { 'creation': '2010-08-08 17:09:35', 'docstatus': 0, - 'modified': '2011-09-13 17:27:32', + 'modified': '2011-09-15 15:04:44', 'modified_by': 'Administrator', 'owner': 'Administrator' }, diff --git a/erpnext/accounts/DocType Mapper/Sales Order-Receivable Voucher/Sales Order-Receivable Voucher.txt b/erpnext/accounts/DocType Mapper/Sales Order-Receivable Voucher/Sales Order-Receivable Voucher.txt index ebbdbcd0b57..630fb1502ab 100644 --- a/erpnext/accounts/DocType Mapper/Sales Order-Receivable Voucher/Sales Order-Receivable Voucher.txt +++ b/erpnext/accounts/DocType Mapper/Sales Order-Receivable Voucher/Sales Order-Receivable Voucher.txt @@ -5,7 +5,7 @@ { 'creation': '2010-08-08 17:09:36', 'docstatus': 0, - 'modified': '2011-09-13 17:36:31', + 'modified': '2011-09-15 15:04:45', 'modified_by': 'Administrator', 'owner': 'Administrator' }, @@ -145,6 +145,17 @@ 'validation_logic': 'docstatus=1' }, + # Table Mapper Detail + { + 'doctype': 'Table Mapper Detail', + 'from_field': 'sales_order_detail', + 'from_table': 'Sales Order Detail', + 'match_id': 1, + 'to_field': 'entries', + 'to_table': 'RV Detail', + 'validation_logic': 'docstatus = 1' + }, + # Table Mapper Detail { 'doctype': 'Table Mapper Detail', diff --git a/erpnext/buying/DocType Mapper/Indent-Purchase Order/Indent-Purchase Order.txt b/erpnext/buying/DocType Mapper/Indent-Purchase Order/Indent-Purchase Order.txt index 30412182fd3..fe49f4901e8 100644 --- a/erpnext/buying/DocType Mapper/Indent-Purchase Order/Indent-Purchase Order.txt +++ b/erpnext/buying/DocType Mapper/Indent-Purchase Order/Indent-Purchase Order.txt @@ -5,7 +5,7 @@ { 'creation': '2010-08-08 17:09:34', 'docstatus': 0, - 'modified': '2009-12-30 16:55:33', + 'modified': '2011-09-15 15:04:42', 'modified_by': 'Administrator', 'owner': 'Administrator' }, diff --git a/erpnext/hr/DocType Mapper/KRA Template-Appraisal/KRA Template-Appraisal.txt b/erpnext/hr/DocType Mapper/KRA Template-Appraisal/KRA Template-Appraisal.txt index b3081bfb52d..aed40029e23 100644 --- a/erpnext/hr/DocType Mapper/KRA Template-Appraisal/KRA Template-Appraisal.txt +++ b/erpnext/hr/DocType Mapper/KRA Template-Appraisal/KRA Template-Appraisal.txt @@ -3,9 +3,9 @@ # These values are common in all dictionaries { - 'creation': '2010-09-01 15:48:10', + 'creation': '2010-09-01 15:47:59', 'docstatus': 0, - 'modified': '2010-09-01 14:25:40', + 'modified': '2011-09-15 15:04:42', 'modified_by': 'Administrator', 'owner': 'ashwini@webnotestech.com' }, diff --git a/erpnext/hr/DocType Mapper/Salary Structure-Salary Slip/Salary Structure-Salary Slip.txt b/erpnext/hr/DocType Mapper/Salary Structure-Salary Slip/Salary Structure-Salary Slip.txt index 03318a1c2d3..0a365d10aa6 100644 --- a/erpnext/hr/DocType Mapper/Salary Structure-Salary Slip/Salary Structure-Salary Slip.txt +++ b/erpnext/hr/DocType Mapper/Salary Structure-Salary Slip/Salary Structure-Salary Slip.txt @@ -3,10 +3,10 @@ # These values are common in all dictionaries { - 'creation': '2010-12-14 10:23:25', + 'creation': '2010-12-14 10:33:11', 'docstatus': 0, - 'modified': '2011-02-12 18:31:40', - 'modified_by': 'umair@iwebnotes.com', + 'modified': '2011-09-15 15:04:44', + 'modified_by': 'Administrator', 'owner': 'harshada@webnotestech.com' }, diff --git a/erpnext/production/DocType Mapper/Production Forecast-Production Plan/Production Forecast-Production Plan.txt b/erpnext/production/DocType Mapper/Production Forecast-Production Plan/Production Forecast-Production Plan.txt index dfbef85dfcc..7065fa6ecc5 100644 --- a/erpnext/production/DocType Mapper/Production Forecast-Production Plan/Production Forecast-Production Plan.txt +++ b/erpnext/production/DocType Mapper/Production Forecast-Production Plan/Production Forecast-Production Plan.txt @@ -5,7 +5,7 @@ { 'creation': '2010-08-08 17:09:35', 'docstatus': 0, - 'modified': '2010-01-27 16:03:20', + 'modified': '2011-09-15 15:04:42', 'modified_by': 'Administrator', 'owner': 'Administrator' }, diff --git a/erpnext/production/DocType Mapper/Production Forecast-Production Planning Tool/Production Forecast-Production Planning Tool.txt b/erpnext/production/DocType Mapper/Production Forecast-Production Planning Tool/Production Forecast-Production Planning Tool.txt index 6125d981922..3d6281195d5 100644 --- a/erpnext/production/DocType Mapper/Production Forecast-Production Planning Tool/Production Forecast-Production Planning Tool.txt +++ b/erpnext/production/DocType Mapper/Production Forecast-Production Planning Tool/Production Forecast-Production Planning Tool.txt @@ -5,7 +5,7 @@ { 'creation': '2010-08-08 17:09:35', 'docstatus': 0, - 'modified': '2010-02-12 12:41:03', + 'modified': '2011-09-15 15:04:43', 'modified_by': 'Administrator', 'owner': 'jai@webnotestech.com' }, diff --git a/erpnext/production/DocType Mapper/Sales Order-Production Plan/Sales Order-Production Plan.txt b/erpnext/production/DocType Mapper/Sales Order-Production Plan/Sales Order-Production Plan.txt index 41c517376f5..780b841208d 100644 --- a/erpnext/production/DocType Mapper/Sales Order-Production Plan/Sales Order-Production Plan.txt +++ b/erpnext/production/DocType Mapper/Sales Order-Production Plan/Sales Order-Production Plan.txt @@ -5,7 +5,7 @@ { 'creation': '2010-08-08 17:09:36', 'docstatus': 0, - 'modified': '2009-12-21 13:16:59', + 'modified': '2011-09-15 15:04:45', 'modified_by': 'Administrator', 'owner': 'Administrator' }, diff --git a/erpnext/selling/DocType Mapper/Delivery Note-Installation Note/Delivery Note-Installation Note.txt b/erpnext/selling/DocType Mapper/Delivery Note-Installation Note/Delivery Note-Installation Note.txt index e45c48767d4..da8762deab6 100644 --- a/erpnext/selling/DocType Mapper/Delivery Note-Installation Note/Delivery Note-Installation Note.txt +++ b/erpnext/selling/DocType Mapper/Delivery Note-Installation Note/Delivery Note-Installation Note.txt @@ -5,7 +5,7 @@ { 'creation': '2010-08-08 17:09:34', 'docstatus': 0, - 'modified': '2011-09-13 17:28:37', + 'modified': '2011-09-15 15:04:42', 'modified_by': 'Administrator', 'owner': 'Administrator' }, diff --git a/erpnext/selling/DocType Mapper/Project-Sales Order/Project-Sales Order.txt b/erpnext/selling/DocType Mapper/Project-Sales Order/Project-Sales Order.txt index 04f70ad94c1..ee8f8b01675 100644 --- a/erpnext/selling/DocType Mapper/Project-Sales Order/Project-Sales Order.txt +++ b/erpnext/selling/DocType Mapper/Project-Sales Order/Project-Sales Order.txt @@ -3,9 +3,9 @@ # These values are common in all dictionaries { - 'creation': '2010-09-01 15:48:10', + 'creation': '2010-09-01 15:47:59', 'docstatus': 0, - 'modified': '2010-09-01 14:23:28', + 'modified': '2011-09-15 15:04:43', 'modified_by': 'Administrator', 'owner': 'ashwini@webnotestech.com' }, diff --git a/erpnext/stock/DocType Mapper/Project-Delivery Note/Project-Delivery Note.txt b/erpnext/stock/DocType Mapper/Project-Delivery Note/Project-Delivery Note.txt index e1579f93f6e..69c4fe21f1d 100644 --- a/erpnext/stock/DocType Mapper/Project-Delivery Note/Project-Delivery Note.txt +++ b/erpnext/stock/DocType Mapper/Project-Delivery Note/Project-Delivery Note.txt @@ -3,9 +3,9 @@ # These values are common in all dictionaries { - 'creation': '2010-09-01 15:48:10', + 'creation': '2010-09-01 15:47:59', 'docstatus': 0, - 'modified': '2010-09-01 14:25:08', + 'modified': '2011-09-15 15:04:43', 'modified_by': 'Administrator', 'owner': 'harshada@webnotestech.com' }, diff --git a/erpnext/stock/DocType Mapper/Purchase Order-Purchase Receipt/Purchase Order-Purchase Receipt.txt b/erpnext/stock/DocType Mapper/Purchase Order-Purchase Receipt/Purchase Order-Purchase Receipt.txt index f561c157d97..3e65b2eaefd 100644 --- a/erpnext/stock/DocType Mapper/Purchase Order-Purchase Receipt/Purchase Order-Purchase Receipt.txt +++ b/erpnext/stock/DocType Mapper/Purchase Order-Purchase Receipt/Purchase Order-Purchase Receipt.txt @@ -5,7 +5,7 @@ { 'creation': '2010-08-08 17:09:35', 'docstatus': 0, - 'modified': '2011-09-13 17:26:55', + 'modified': '2011-09-15 15:04:43', 'modified_by': 'Administrator', 'owner': 'Administrator' }, diff --git a/erpnext/stock/DocType Mapper/Receivable Voucher-Delivery Note/Receivable Voucher-Delivery Note.txt b/erpnext/stock/DocType Mapper/Receivable Voucher-Delivery Note/Receivable Voucher-Delivery Note.txt index 74437311e04..61b33ee9506 100755 --- a/erpnext/stock/DocType Mapper/Receivable Voucher-Delivery Note/Receivable Voucher-Delivery Note.txt +++ b/erpnext/stock/DocType Mapper/Receivable Voucher-Delivery Note/Receivable Voucher-Delivery Note.txt @@ -3,9 +3,9 @@ # These values are common in all dictionaries { - 'creation': '2010-12-15 08:39:22', + 'creation': '2010-12-14 17:56:41', 'docstatus': 0, - 'modified': '2011-09-13 17:26:01', + 'modified': '2011-09-15 15:04:44', 'modified_by': 'Administrator', 'owner': 'Administrator' }, @@ -107,6 +107,15 @@ 'to_field': 'naming_series' }, + # Field Mapper Detail + { + 'doctype': 'Field Mapper Detail', + 'from_field': 'customer_address', + 'map': 'Yes', + 'match_id': 0, + 'to_field': 'delivery_address' + }, + # Field Mapper Detail { 'doctype': 'Field Mapper Detail', diff --git a/erpnext/stock/doctype/bin/bin.py b/erpnext/stock/doctype/bin/bin.py index 65b86867b68..3b71bd00342 100644 --- a/erpnext/stock/doctype/bin/bin.py +++ b/erpnext/stock/doctype/bin/bin.py @@ -40,7 +40,7 @@ class DocType: # update valuation for post dated entry - if actual_qty: + if actual_qty and serial_no: # check actual qty with total number of serial no self.check_qty_with_serial_no() diff --git a/erpnext/support/DocType Mapper/Customer Issue-Maintenance Visit/Customer Issue-Maintenance Visit.txt b/erpnext/support/DocType Mapper/Customer Issue-Maintenance Visit/Customer Issue-Maintenance Visit.txt index 75244dea9d0..55060ea75f9 100644 --- a/erpnext/support/DocType Mapper/Customer Issue-Maintenance Visit/Customer Issue-Maintenance Visit.txt +++ b/erpnext/support/DocType Mapper/Customer Issue-Maintenance Visit/Customer Issue-Maintenance Visit.txt @@ -5,8 +5,8 @@ { 'creation': '2010-08-08 17:09:34', 'docstatus': 0, - 'modified': '2011-05-18 13:37:43', - 'modified_by': 'umair@iwebnotes.com', + 'modified': '2011-09-15 15:04:41', + 'modified_by': 'Administrator', 'owner': 'ashwini@webnotestech.com' }, diff --git a/erpnext/support/DocType Mapper/Sales Order-Maintenance Schedule/Sales Order-Maintenance Schedule.txt b/erpnext/support/DocType Mapper/Sales Order-Maintenance Schedule/Sales Order-Maintenance Schedule.txt index e56c4bdf976..ccd0e60c9b0 100644 --- a/erpnext/support/DocType Mapper/Sales Order-Maintenance Schedule/Sales Order-Maintenance Schedule.txt +++ b/erpnext/support/DocType Mapper/Sales Order-Maintenance Schedule/Sales Order-Maintenance Schedule.txt @@ -5,8 +5,8 @@ { 'creation': '2010-08-08 17:09:35', 'docstatus': 0, - 'modified': '2011-05-18 11:05:26', - 'modified_by': 'umair@iwebnotes.com', + 'modified': '2011-09-15 15:04:44', + 'modified_by': 'Administrator', 'owner': 'Administrator' }, diff --git a/erpnext/support/DocType Mapper/Sales Order-Maintenance Visit/Sales Order-Maintenance Visit.txt b/erpnext/support/DocType Mapper/Sales Order-Maintenance Visit/Sales Order-Maintenance Visit.txt index 26a48f8a670..e4bd45bd17b 100644 --- a/erpnext/support/DocType Mapper/Sales Order-Maintenance Visit/Sales Order-Maintenance Visit.txt +++ b/erpnext/support/DocType Mapper/Sales Order-Maintenance Visit/Sales Order-Maintenance Visit.txt @@ -5,8 +5,8 @@ { 'creation': '2010-08-08 17:09:36', 'docstatus': 0, - 'modified': '2011-05-18 13:35:55', - 'modified_by': 'umair@iwebnotes.com', + 'modified': '2011-09-15 15:04:45', + 'modified_by': 'Administrator', 'owner': 'ashwini@webnotestech.com' }, diff --git a/index.cgi b/index.cgi index da52ef11864..3d61c560521 100755 --- a/index.cgi +++ b/index.cgi @@ -9,7 +9,6 @@ sys.path.append('lib/py') sys.path.append('erpnext') import webnotes -import webnotes.defs webnotes.form = cgi.FieldStorage() diff --git a/index.html b/index.html index e28f0069849..5d45b5f795a 100644 --- a/index.html +++ b/index.html @@ -3,7 +3,7 @@ ERPNext -