backup manager (wip)
This commit is contained in:
parent
ba7ed4c27c
commit
8ff938a377
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` \
|
||||
where name = 'customer_address_contact'""")
|
||||
|
||||
webnotes.reload_doc("core", "doctype", "docfield")
|
||||
webnotes.reload_doc("core", "doctype", "report")
|
||||
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) {
|
||||
|
@ -1,13 +1,11 @@
|
||||
{% extends "html/outer.html" %}
|
||||
|
||||
{% set title="Unsubscribed" %}
|
||||
{% set title="{{ webnotes.message_title or 'Message' }}" %}
|
||||
|
||||
{% 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>
|
||||
{{ webnotes.message }}
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
@ -242,7 +242,8 @@ def get_outer_env(page_name, args):
|
||||
where parent='Website Settings' and parentfield='footer_items'
|
||||
order by idx asc""", as_dict=1),
|
||||
|
||||
'int':int
|
||||
'int':int,
|
||||
"webnotes": webnotes
|
||||
})
|
||||
|
||||
args.update(ret)
|
||||
|
Loading…
x
Reference in New Issue
Block a user