mirror of
https://github.com/frappe/erpnext.git
synced 2026-04-29 03:28:32 +00:00
Merge branch 'master' of github.com:webnotes/erpnext
This commit is contained in:
@@ -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()
|
||||
@@ -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}
|
||||
}
|
||||
}
|
||||
@@ -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)
|
||||
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
test_ignore = ["Account"]
|
||||
test_ignore = ["Account", "Cost Center"]
|
||||
|
||||
test_records = [
|
||||
[{
|
||||
|
||||
@@ -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
|
||||
},
|
||||
{
|
||||
|
||||
@@ -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"""
|
||||
|
||||
Reference in New Issue
Block a user