work on mail settings

This commit is contained in:
Kevin Froman 2020-02-12 04:29:34 -06:00
parent 6bb4347f61
commit 23782dcb8f
4 changed files with 44 additions and 3 deletions

View File

@ -20,6 +20,8 @@
import json
from flask import Blueprint, request, Response, abort
import config, onionrutils
from onionrutils.bytesconverter import bytes_to_str
config.reload()
config_BP = Blueprint('config_BP', __name__)
@ -55,7 +57,7 @@ def set_by_key(key):
}
"""
try:
data = json.loads(onionrutils.OnionrUtils.bytesToStr(request.data))['data']
data = json.loads(bytes_to_str(request.data))
except (json.JSONDecodeError, KeyError):
abort(400)
config.set(key, data, True)

View File

@ -69,5 +69,8 @@ def client_api_insert_block():
meta = json.loads(bData['meta'])
except KeyError:
pass
threading.Thread(target=onionrblocks.insert, args=(message,), kwargs={'header': bType, 'encryptType': encryptType, 'sign':sign, 'asymPeer': to, 'meta': meta}).start()
threading.Thread(
target=onionrblocks.insert, args=(message,),
kwargs={'header': bType, 'encryptType': encryptType,
'sign':sign, 'asymPeer': to, 'meta': meta, 'disableForward': bData['forward']}).start()
return Response('success')

View File

@ -21,6 +21,7 @@
<script defer src="/mail/mail.js"></script>
<script defer src="/mail/sendmail.js"></script>
<script defer src="/mail/closesettings.js"></script>
<script defer src="/mail/settings.js"></script>
<script defer src="/shared/navbar.js"></script>
</head>
@ -140,7 +141,7 @@
<section class="modal-card-body">
<div class="columns">
<div class="column">
Default forward secrecy
Use forward secrecy
</div>
<div class="column is-2">
<div class="field">

View File

@ -0,0 +1,35 @@
/*
Onionr - Private P2P Communication
Handle mail settings
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
document.getElementById('forwardSecrecySetting').onchange = function(e){
postData = JSON.stringify({"default_forward_secrecy": e.target.checked})
fetch('/config/set/mail', {
method: 'POST',
body: postData,
headers: {
"content-type": "application/json",
"token": webpass
}})
.then((resp) => resp.text())
.then(function(data) {
PNotify.success({
text: 'Successfully toggled default forward secrecy'
})
})
}