Options dialog updates

This commit is contained in:
John Supplee 2019-03-09 12:29:37 +02:00
parent 99776c1513
commit 48f167876c
2 changed files with 49 additions and 13 deletions

View File

@ -6,40 +6,73 @@ import sys
import os
class TestApp(npyscreen.NPSApp):
class OptionsApp(npyscreen.NPSApp):
def main(self):
# These lines create the form and populate it with widgets.
# A fairly complex screen in only 8 or so lines of code - a line for each control.
npyscreen.setTheme(npyscreen.Themes.BlackOnWhiteTheme)
form = npyscreen.Form(name = "Mail-in-a-Box Options",)
postgrey_text = form.add(
form.add(
npyscreen.TitleFixedText,
name="POSTGREY",
value="Should Postgrey be used to greylist messages?",
value="",
editable=False
)
form.add(
npyscreen.MultiLineEdit,
value="The Postgrey service greylists incoming messages from unknown senders.\n"
"It can be useful for fighting spam but often causes message delivery\n"
"delays of several minutes.",
max_height=4,
editable=False
)
form.add(npyscreen.FixedText)
postgrey_text = form.add(
npyscreen.MultiLineEditable,
form.add(
npyscreen.TitleFixedText,
name="POSTSRSD",
value="",
editable=False
)
form.add(
npyscreen.MultiLineEdit,
value="The PostSRSd daemon performs return path rewriting using the SRS protocol.\n"
"Not that all messages, including locally delivered mail will have their return\n"
"paths rewritten",
max_height=4,
editable=False
)
form.add(npyscreen.FixedText)
form.add(
npyscreen.TitleFixedText,
name="POLICY_SPF",
value="",
editable=False
)
form.add(
npyscreen.MultiLineEdit,
value=""
"The policy SPF service checks the SPF of incoming mails and rejects those\n"
"that do not qualify. This helps to prevent spoofing, but if valid mail does\n"
"not have SPF configured properly it will be rejected.",
max_height=4,
editable=False
)
init_values = []
if int(os.getenv('POSTGREY', 1)) == 1:
init_values.append(0)
if int(os.getenv('POSTSRSD', 0)) == 1:
init_values.append(1)
if int(os.getenv('POLICY_SPF', 0)) == 1:
init_values.append(2)
options = form.add(
npyscreen.TitleMultiSelect,
max_height=-2,
value = [
int(os.getenv('POSTGREY', 1)),
int(os.getenv('POSTSRSD', 0)),
int(os.getenv('POLICY_SPF', 0))
],
value=init_values,
name="Options",
values= ["POSTGREY","POSTSRSD","POLICY_SPF"],
scroll_exit=True
@ -56,5 +89,5 @@ class TestApp(npyscreen.NPSApp):
if __name__ == "__main__":
App = TestApp()
App = OptionsApp()
App.run()

View File

@ -195,6 +195,9 @@ if [ -z "${STORAGE_ROOT:-}" ]; then
fi
python3 setup/options-dialog.py
source ./_options.sh
rm _optoins.sh
# Show the configuration, since the user may have not entered it manually.
echo