Merge branch 'master' of github.com:webnotes/erpnext

This commit is contained in:
Rushabh Mehta
2013-03-26 12:47:51 +05:30
37 changed files with 522 additions and 304 deletions

View File

@@ -44,7 +44,10 @@ def dropbox_callback(oauth_token=None, not_approved=False):
webnotes.conn.set_value("Backup Manager", "Backup Manager", "dropbox_access_secret", access_token.secret)
webnotes.conn.set_value("Backup Manager", "Backup Manager", "dropbox_access_allowed", allowed)
dropbox_client = client.DropboxClient(sess)
dropbox_client.file_create_folder("files")
try:
dropbox_client.file_create_folder("files")
except:
pass
else:
allowed = 0
@@ -94,7 +97,11 @@ def backup_to_dropbox():
upload_file_to_dropbox(filepath, "files", dropbox_client)
def get_dropbox_session():
from dropbox import session
try:
from dropbox import session
except:
webnotes.msgprint(_("Please install dropbox python module"), raise_exception=1)
try:
from conf import dropbox_access_key, dropbox_secret_key
except ImportError:
@@ -107,16 +114,20 @@ def upload_file_to_dropbox(filename, folder, dropbox_client):
from dropbox import rest
size = os.stat(filename).st_size
f = open(filename,'r')
if size > 4194304:
# if max packet size reached, use chunked uploader
max_packet_size = 4194304
if size > max_packet_size:
uploader = dropbox_client.get_chunked_uploader(f, size)
while uploader.offset < size:
try:
uploader.upload_chunked()
uploader.finish(os.path.join(folder, os.path.basename(filename)), overwrite=True)
uploader.finish(folder + "/" + os.path.basename(filename), overwrite=True)
except rest.ErrorResponse:
pass
else:
dropbox_client.put_file(os.path.join(folder, os.path.basename(filename)), f, overwrite=True)
dropbox_client.put_file(folder + "/" + os.path.basename(filename), f, overwrite=True)
if __name__=="__main__":
backup_to_dropbox()

View File

@@ -101,4 +101,11 @@ cur_frm.fields_dict["stock_received_but_not_billed"].get_query = function(doc) {
"company": doc.name
}
}
}
cur_frm.fields_dict["stock_adjustment_cost_center"].get_query = function(doc) {
return {
"query": "accounts.utils.get_cost_center_list",
"filters": {"company": doc.name}
}
}

View File

@@ -199,12 +199,7 @@ class DocType:
if not self.doc.payables_group and webnotes.conn.exists('Account',
'Accounts Payable - ' + self.doc.abbr):
webnotes.conn.set(self.doc, 'payables_group', 'Accounts Payable - ' + self.doc.abbr)
if not self.doc.stock_delivered_but_not_billed and webnotes.conn.exists("Account",
"Stock Delivered But Not Billed - " + self.doc.abbr):
webnotes.conn.set(self.doc, "stock_delivered_but_not_billed",
"Stock Delivered But Not Billed - " + self.doc.abbr)
if not self.doc.stock_received_but_not_billed and webnotes.conn.exists("Account",
"Stock Received But Not Billed - " + self.doc.abbr):
webnotes.conn.set(self.doc, "stock_received_but_not_billed",
@@ -219,7 +214,12 @@ class DocType:
"Expenses Included In Valuation - " + self.doc.abbr):
webnotes.conn.set(self.doc, "expenses_included_in_valuation",
"Expenses Included In Valuation - " + self.doc.abbr)
if not self.doc.stock_adjustment_cost_center and webnotes.conn.exists("Cost Center",
"Auto Inventory Accounting - " + self.doc.abbr):
webnotes.conn.set(self.doc, "stock_adjustment_cost_center",
"Auto Inventory Accounting - " + self.doc.abbr)
# Create default cost center
# ---------------------------------------------------
def create_default_cost_center(self):
@@ -249,15 +249,17 @@ class DocType:
def on_update(self):
self.set_letter_head()
ac = sql("select name from tabAccount where company=%s and docstatus<2 limit 1",
self.doc.name)
if not ac:
if not webnotes.conn.sql("""select name from tabAccount
where company=%s and docstatus<2 limit 1""", self.doc.name):
self.create_default_accounts()
self.set_default_accounts()
cc = sql("select name from `tabCost Center` where cost_center_name = 'Root' and company_name = '%s'"%(self.doc.name))
if not cc:
if not webnotes.conn.sql("""select name from `tabCost Center`
where cost_center_name = 'Root' and company_name = %s""", self.doc.name):
self.create_default_cost_center()
self.set_default_accounts()
if self.doc.default_currency:
webnotes.conn.set_value("Currency", self.doc.default_currency, "enabled", 1)

View File

@@ -191,16 +191,10 @@
},
{
"doctype": "DocField",
"fieldname": "stock_adjustment_account",
"fieldname": "stock_received_but_not_billed",
"fieldtype": "Link",
"label": "Stock Adjustment Account",
"options": "Account"
},
{
"doctype": "DocField",
"fieldname": "expenses_included_in_valuation",
"fieldtype": "Link",
"label": "Expenses Included In Valuation",
"label": "Stock Received But Not Billed",
"no_copy": 1,
"options": "Account"
},
{
@@ -211,18 +205,28 @@
},
{
"doctype": "DocField",
"fieldname": "stock_delivered_but_not_billed",
"fieldname": "stock_adjustment_account",
"fieldtype": "Link",
"label": "Stock Delivered But Not Billed",
"label": "Stock Adjustment Account",
"no_copy": 1,
"options": "Account"
},
{
"doctype": "DocField",
"fieldname": "stock_received_but_not_billed",
"fieldname": "expenses_included_in_valuation",
"fieldtype": "Link",
"label": "Stock Received But Not Billed",
"label": "Expenses Included In Valuation",
"no_copy": 1,
"options": "Account"
},
{
"doctype": "DocField",
"fieldname": "stock_adjustment_cost_center",
"fieldtype": "Link",
"label": "Stock Adjustment Cost Center",
"no_copy": 1,
"options": "Cost Center"
},
{
"description": "For reference only.",
"doctype": "DocField",

View File

@@ -1,4 +1,4 @@
test_ignore = ["Account"]
test_ignore = ["Account", "Cost Center"]
test_records = [
[{

View File

@@ -1,10 +1,10 @@
[
{
"creation": "2012-07-12 23:29:44",
"creation": "2013-03-25 17:53:21",
"docstatus": 0,
"modified": "2013-03-25 17:32:05",
"modified": "2013-03-25 18:41:27",
"modified_by": "Administrator",
"owner": "harshada@webnotestech.com"
"owner": "Administrator"
},
{
"allow_copy": 1,
@@ -34,9 +34,7 @@
"parenttype": "DocType",
"permlevel": 0,
"read": 1,
"report": 0,
"role": "System Manager",
"submit": 0,
"write": 1
},
{

View File

@@ -45,11 +45,20 @@ keydict = {
'session_expiry': 'session_expiry',
'disable_rounded_total': 'disable_rounded_total',
"update_stock": "update_stock",
# "auto_inventory_accounting": "auto_inventory_accounting",
}
class DocType:
def __init__(self, d, dl):
self.doc, self.doclist = d, dl
def validate(self):
previous_auto_inventory_accounting = cint(webnotes.conn.get_value("Global Defaults", None,
"auto_inventory_accounting"))
if cint(self.doc.auto_inventory_accounting) != previous_auto_inventory_accounting:
from accounts.utils import create_stock_in_hand_jv
create_stock_in_hand_jv(reverse = \
cint(self.doc.auto_inventory_accounting) < previous_auto_inventory_accounting)
def on_update(self):
"""update defaults"""