diff --git a/accounts/apps.py b/accounts/apps.py index 94f4d27..4f7ac69 100644 --- a/accounts/apps.py +++ b/accounts/apps.py @@ -24,6 +24,19 @@ def apply_change_password(sender, **kwargs): user.user_permissions.remove(permission) print('\033[1mDon`t forget to remove the option from settings.py\033[0m') +def apply_passwordless_console(sender, **kwargs): + ''' + Apply new passwordless_console permission for all users + ''' + from django.conf import settings + from django.contrib.auth.models import User, Permission + + print('\033[92mApplying permission passwordless_console for all users\033[0m') + users = User.objects.all() + permission = Permission.objects.get(codename='passwordless_console') + for user in users: + user.user_permissions.add(permission) + def create_admin(sender, **kwargs): ''' @@ -49,3 +62,4 @@ class AccountsConfig(AppConfig): def ready(self): post_migrate.connect(apply_change_password, sender=self) post_migrate.connect(create_admin, sender=self) + post_migrate.connect(apply_passwordless_console, sender=self) diff --git a/accounts/models.py b/accounts/models.py index 1369158..afc1960 100644 --- a/accounts/models.py +++ b/accounts/models.py @@ -6,6 +6,7 @@ from django.utils.translation import ugettext_lazy as _ from instances.models import Instance + class UserInstanceManager(models.Manager): def get_queryset(self): return super().get_queryset().select_related('instance', 'user') diff --git a/console/templates/console-spice-full.html b/console/templates/console-spice-full.html index d9a7f89..29e52f9 100644 --- a/console/templates/console-spice-full.html +++ b/console/templates/console-spice-full.html @@ -199,7 +199,11 @@ - + {% if perms.instances.passwordless_console %} + + {% else %} + + {% endif %} diff --git a/console/templates/console-spice-lite.html b/console/templates/console-spice-lite.html index 6e4dc9b..8a359b7 100644 --- a/console/templates/console-spice-lite.html +++ b/console/templates/console-spice-lite.html @@ -93,7 +93,11 @@ } if (password === undefined) { - password = spice_query_var('password', ''); + {% if perms.instances.passwordless_console %} + password = '{{ console_passwd }}'; + {% else %} + password = prompt('{% trans "Password" %}'); + {% endif %} //password = '{{ console_passwd | safe }}'; } if (password === 'None') password = ''; diff --git a/console/templates/console-vnc-full.html b/console/templates/console-vnc-full.html index 35f4be1..5eccba8 100755 --- a/console/templates/console-vnc-full.html +++ b/console/templates/console-vnc-full.html @@ -297,7 +297,11 @@