diff --git a/kpi/management/commands/grant_default_permissions_per_user.py b/kpi/management/commands/grant_default_permissions_per_user.py new file mode 100644 index 0000000000..5ab7b22257 --- /dev/null +++ b/kpi/management/commands/grant_default_permissions_per_user.py @@ -0,0 +1,26 @@ +import sys +from optparse import make_option +from django.core.management.base import BaseCommand +from django.contrib.auth.models import User +from kpi.utils.permissions import grant_default_model_level_perms + + +class Command(BaseCommand): + def add_arguments(self, parser): + parser.add_argument('--username', + action='store', + dest='username', + default=False, + help="Add username i.e --username ") + + def handle(self, *args, **options): + username = options.get('username') + if username: + users = User.objects.filter(username=username) + if users: + grant_default_model_level_perms(users[0]) + sys.stdout.write("done") + else: + sys.stdout.write("user does not exist") + else: + sys.stdout.write("please provide a username") diff --git a/kpi/utils/ona_authentication.py b/kpi/utils/ona_authentication.py index c103831009..bcffba9077 100644 --- a/kpi/utils/ona_authentication.py +++ b/kpi/utils/ona_authentication.py @@ -23,8 +23,8 @@ def get_api_token(json_web_token): try: jwt_payload = jwt.decode( json_web_token, - settings.get("JWT_SECRET_KEY", ""), - algorithms=[settings.get("JWT_ALGORITHM", "HS256")] + getattr(settings, "JWT_SECRET_KEY", ""), + algorithms=[getattr(settings, "JWT_ALGORITHM", "HS256")] ) api_token = Token.objects.using("kobocat").select_related('user').get( diff --git a/kpi/views/__init__.py b/kpi/views/__init__.py index 28ca80307b..2362ae75cf 100644 --- a/kpi/views/__init__.py +++ b/kpi/views/__init__.py @@ -23,7 +23,7 @@ def home(request): - return HttpResponseRedirect(settings.get("ONADATA_HOME")) + return HttpResponseRedirect(getattr(settings, "ONADATA_HOME", "https://onadata.com")) def browser_tests(request):