mirror of
https://github.com/frappe/erpnext.git
synced 2026-06-01 19:29:10 +00:00
backup manager (wip)
This commit is contained in:
11055
master.sql
Normal file
11055
master.sql
Normal file
File diff suppressed because one or more lines are too long
BIN
master.sql.gz
BIN
master.sql.gz
Binary file not shown.
@@ -3,5 +3,6 @@ def execute():
|
|||||||
webnotes.conn.sql("""delete from `tabSearch Criteria` \
|
webnotes.conn.sql("""delete from `tabSearch Criteria` \
|
||||||
where name = 'customer_address_contact'""")
|
where name = 'customer_address_contact'""")
|
||||||
|
|
||||||
|
webnotes.reload_doc("core", "doctype", "docfield")
|
||||||
webnotes.reload_doc("core", "doctype", "report")
|
webnotes.reload_doc("core", "doctype", "report")
|
||||||
webnotes.reload_doc('selling', 'report', 'customer_addresses_and_contacts')
|
webnotes.reload_doc('selling', 'report', 'customer_addresses_and_contacts')
|
||||||
0
setup/doctype/backup_manager/__init__.py
Normal file
0
setup/doctype/backup_manager/__init__.py
Normal file
14
setup/doctype/backup_manager/backup_manager.js
Normal file
14
setup/doctype/backup_manager/backup_manager.js
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
cur_frm.cscript.allow_dropbox_access = function(doc) {
|
||||||
|
wn.call({
|
||||||
|
method: "setup.doctype.backup_manager.backup_manager.get_dropbox_authorize_url",
|
||||||
|
callback: function(r) {
|
||||||
|
if(!r.exc) {
|
||||||
|
cur_frm.set_value("dropbox_access_secret", r.message.secret);
|
||||||
|
cur_frm.set_value("dropbox_access_key", r.message.key);
|
||||||
|
cur_frm.save(null, function() {
|
||||||
|
window.open(r.message.url);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
53
setup/doctype/backup_manager/backup_manager.py
Normal file
53
setup/doctype/backup_manager/backup_manager.py
Normal file
@@ -0,0 +1,53 @@
|
|||||||
|
# For license information, please see license.txt
|
||||||
|
|
||||||
|
from __future__ import unicode_literals
|
||||||
|
import webnotes
|
||||||
|
from webnotes import _
|
||||||
|
from webnotes.utils import get_request_site_address
|
||||||
|
|
||||||
|
class DocType:
|
||||||
|
def __init__(self, d, dl):
|
||||||
|
self.doc, self.doclist = d, dl
|
||||||
|
|
||||||
|
@webnotes.whitelist()
|
||||||
|
def get_dropbox_authorize_url():
|
||||||
|
from dropbox import session
|
||||||
|
|
||||||
|
try:
|
||||||
|
from conf import dropbox_access_key, dropbox_secret_key
|
||||||
|
except ImportError, e:
|
||||||
|
webnotes.msgprint(_("Please set Dropbox access keys in") + " conf.py",
|
||||||
|
raise_exception=True)
|
||||||
|
|
||||||
|
sess = session.DropboxSession(dropbox_access_key, dropbox_secret_key, "app_folder")
|
||||||
|
request_token = sess.obtain_request_token()
|
||||||
|
return_address = get_request_site_address(True) \
|
||||||
|
+ "?cmd=setup.doctype.backup_manager.backup_manager.dropbox_callback"
|
||||||
|
|
||||||
|
url = sess.build_authorize_url(request_token, return_address)
|
||||||
|
|
||||||
|
return {
|
||||||
|
"url": url,
|
||||||
|
"key": request_token.key,
|
||||||
|
"secret": request_token.secret,
|
||||||
|
}
|
||||||
|
|
||||||
|
@webnotes.whitelist(allow_guest=True)
|
||||||
|
def dropbox_callback(oauth_token=None, not_approved=False):
|
||||||
|
if not not_approved:
|
||||||
|
if webnotes.conn.get_value("Backup Manager", None, "dropbox_access_key")==oauth_token:
|
||||||
|
webnotes.conn.set_value("Backup Manager", "Backup Manager", "dropbox_access_allowed", 1)
|
||||||
|
message = "Dropbox access allowed."
|
||||||
|
else:
|
||||||
|
webnotes.conn.set_value("Backup Manager", "Backup Manager", "dropbox_access_allowed", 0)
|
||||||
|
message = "Illegal Access Token Please try again."
|
||||||
|
else:
|
||||||
|
webnotes.conn.set_value("Backup Manager", "Backup Manager", "dropbox_access_allowed", 0)
|
||||||
|
message = "Dropbox Access not approved."
|
||||||
|
|
||||||
|
webnotes.message_title = "Dropbox Approval"
|
||||||
|
webnotes.message = "<h3>%s</h3><p>Please close this window.</p>" % message
|
||||||
|
|
||||||
|
webnotes.conn.commit()
|
||||||
|
webnotes.response['type'] = 'page'
|
||||||
|
webnotes.response['page_name'] = 'message.html'
|
||||||
83
setup/doctype/backup_manager/backup_manager.txt
Normal file
83
setup/doctype/backup_manager/backup_manager.txt
Normal file
@@ -0,0 +1,83 @@
|
|||||||
|
[
|
||||||
|
{
|
||||||
|
"creation": "2013-03-05 16:35:50",
|
||||||
|
"docstatus": 0,
|
||||||
|
"modified": "2013-03-05 18:05:05",
|
||||||
|
"modified_by": "Administrator",
|
||||||
|
"owner": "Administrator"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"description": "System for managing Backups",
|
||||||
|
"doctype": "DocType",
|
||||||
|
"document_type": "System",
|
||||||
|
"issingle": 1,
|
||||||
|
"module": "Setup",
|
||||||
|
"name": "__common__"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"doctype": "DocField",
|
||||||
|
"name": "__common__",
|
||||||
|
"parent": "Backup Manager",
|
||||||
|
"parentfield": "fields",
|
||||||
|
"parenttype": "DocType",
|
||||||
|
"permlevel": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"create": 1,
|
||||||
|
"doctype": "DocPerm",
|
||||||
|
"name": "__common__",
|
||||||
|
"parent": "Backup Manager",
|
||||||
|
"parentfield": "permissions",
|
||||||
|
"parenttype": "DocType",
|
||||||
|
"permlevel": 0,
|
||||||
|
"read": 1,
|
||||||
|
"role": "System Manager",
|
||||||
|
"write": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"doctype": "DocType",
|
||||||
|
"name": "Backup Manager"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"doctype": "DocField",
|
||||||
|
"fieldname": "sync_with_dropbox",
|
||||||
|
"fieldtype": "Section Break",
|
||||||
|
"label": "Sync with Dropbox"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"doctype": "DocField",
|
||||||
|
"fieldname": "upload_backups_to_dropbox",
|
||||||
|
"fieldtype": "Check",
|
||||||
|
"label": "Upload Backups to Dropbox"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"doctype": "DocField",
|
||||||
|
"fieldname": "dropbox_access_key",
|
||||||
|
"fieldtype": "Data",
|
||||||
|
"hidden": 1,
|
||||||
|
"label": "Dropbox Access Key"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"doctype": "DocField",
|
||||||
|
"fieldname": "dropbox_access_secret",
|
||||||
|
"fieldtype": "Data",
|
||||||
|
"hidden": 1,
|
||||||
|
"label": "Dropbox Access Secret"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"doctype": "DocField",
|
||||||
|
"fieldname": "dropbox_access_allowed",
|
||||||
|
"fieldtype": "Check",
|
||||||
|
"label": "Dropbox Access Allowed",
|
||||||
|
"read_only": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"doctype": "DocField",
|
||||||
|
"fieldname": "allow_dropbox_access",
|
||||||
|
"fieldtype": "Button",
|
||||||
|
"label": "Allow Dropbox Access"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"doctype": "DocPerm"
|
||||||
|
}
|
||||||
|
]
|
||||||
@@ -186,6 +186,19 @@ wn.module_page["Setup"] = [
|
|||||||
},
|
},
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
// {
|
||||||
|
// title: wn._("Backups"),
|
||||||
|
// icon: "icon-cloud-upload",
|
||||||
|
// right: true,
|
||||||
|
// items: [
|
||||||
|
// {
|
||||||
|
// "route":"Form/Backup Manager",
|
||||||
|
// doctype:"Backup Manager",
|
||||||
|
// label: wn._("Backup Manager"),
|
||||||
|
// "description":wn._("Sync backups with remote tools like Dropbox etc.")
|
||||||
|
// },
|
||||||
|
// ]
|
||||||
|
// },
|
||||||
]
|
]
|
||||||
|
|
||||||
pscript['onload_Setup'] = function(wrapper) {
|
pscript['onload_Setup'] = function(wrapper) {
|
||||||
|
|||||||
11
website/templates/pages/message.html
Normal file
11
website/templates/pages/message.html
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
{% extends "html/outer.html" %}
|
||||||
|
|
||||||
|
{% set title="{{ webnotes.message_title or 'Message' }}" %}
|
||||||
|
|
||||||
|
{% block content %}
|
||||||
|
<div class="content">
|
||||||
|
<div class="layout-wrapper layout-main">
|
||||||
|
{{ webnotes.message }}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
{% endblock %}
|
||||||
@@ -1,13 +0,0 @@
|
|||||||
{% extends "html/outer.html" %}
|
|
||||||
|
|
||||||
{% set title="Unsubscribed" %}
|
|
||||||
|
|
||||||
{% block content %}
|
|
||||||
<div class="content">
|
|
||||||
<div class="layout-wrapper layout-main">
|
|
||||||
<h3>Unsubscribed</h3>
|
|
||||||
<br>
|
|
||||||
<p><b>{{ webnotes.unsubscribed_email }}</b> has been unsubscribed.</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
{% endblock %}
|
|
||||||
@@ -242,7 +242,8 @@ def get_outer_env(page_name, args):
|
|||||||
where parent='Website Settings' and parentfield='footer_items'
|
where parent='Website Settings' and parentfield='footer_items'
|
||||||
order by idx asc""", as_dict=1),
|
order by idx asc""", as_dict=1),
|
||||||
|
|
||||||
'int':int
|
'int':int,
|
||||||
|
"webnotes": webnotes
|
||||||
})
|
})
|
||||||
|
|
||||||
args.update(ret)
|
args.update(ret)
|
||||||
|
|||||||
Reference in New Issue
Block a user