From 028137a4e4e903159c5166f9c285c2e7d927581c Mon Sep 17 00:00:00 2001 From: Sunil Mohan Adapa Date: Tue, 18 Aug 2020 20:28:51 -0700 Subject: [PATCH] bepasty: Require at least one permission on a password - Since a password without any permissions is not useful. Signed-off-by: Sunil Mohan Adapa Reviewed-by: Joseph Nuthalapati --- actions/bepasty | 4 ++-- plinth/modules/bepasty/__init__.py | 9 +++------ plinth/modules/bepasty/forms.py | 4 ++-- 3 files changed, 7 insertions(+), 10 deletions(-) diff --git a/actions/bepasty b/actions/bepasty index 1eed93e45..cc2ec80dd 100755 --- a/actions/bepasty +++ b/actions/bepasty @@ -44,7 +44,7 @@ def parse_arguments(): setup = subparsers.add_parser( 'setup', help='Perform post-installation operations for bepasty') - setup.add_argument('--domain-name', + setup.add_argument('--domain-name', required=True, help='The domain name that will be used by bepasty') subparsers.add_parser( @@ -54,7 +54,7 @@ def parse_arguments(): add_password = subparsers.add_parser( 'add-password', help='Generate a password with given permissions') add_password.add_argument( - '--permissions', nargs='*', + '--permissions', nargs='+', help='Any number of permissions from the set: {}'.format(', '.join( bepasty.PERMISSIONS.keys()))) add_password.add_argument( diff --git a/plinth/modules/bepasty/__init__.py b/plinth/modules/bepasty/__init__.py index a474bdd42..ba08b13af 100644 --- a/plinth/modules/bepasty/__init__.py +++ b/plinth/modules/bepasty/__init__.py @@ -106,12 +106,9 @@ def list_passwords(): return json.loads(output) -def add_password(permissions=None, comment=None): - """Generate a password with given permissions""" - command = ['add-password'] - if permissions: - command += ['--permissions'] + permissions - +def add_password(permissions, comment=None): + """Generate a password with given permissions.""" + command = ['add-password', '--permissions'] + permissions if comment: command += ['--comment', comment] diff --git a/plinth/modules/bepasty/forms.py b/plinth/modules/bepasty/forms.py index afd1e3ca4..9d5e1740e 100644 --- a/plinth/modules/bepasty/forms.py +++ b/plinth/modules/bepasty/forms.py @@ -24,8 +24,8 @@ class AddPasswordForm(forms.Form): permissions = forms.MultipleChoiceField( choices=bepasty.PERMISSIONS.items(), - widget=forms.CheckboxSelectMultiple, required=False, - label=_('Permissions'), help_text=_( + widget=forms.CheckboxSelectMultiple, label=_('Permissions'), + help_text=_( 'Users that log in with this password will have the selected ' 'permissions.'))