diff --git a/gnuviechadmin/domains/models.py b/gnuviechadmin/domains/models.py index 405b2b5..323d0da 100644 --- a/gnuviechadmin/domains/models.py +++ b/gnuviechadmin/domains/models.py @@ -153,7 +153,8 @@ class DNSDomain(DomainBase): type VARCHAR(6) NOT NULL, notified_serial INT DEFAULT NULL, account VARCHAR(40) DEFAULT NULL, - CONSTRAINT c_lowercase_name CHECK (((name)::TEXT = LOWER((name)::TEXT))) + CONSTRAINT c_lowercase_name CHECK ( + ((name)::TEXT = LOWER((name)::TEXT))) ); CREATE UNIQUE INDEX name_index ON domains(name); @@ -162,8 +163,8 @@ class DNSDomain(DomainBase): # name is represented by domain master = models.CharField(max_length=128, blank=True, null=True) last_check = models.IntegerField(null=True) - domaintype = models.CharField(max_length=6, choices=DNS_DOMAIN_TYPES, - db_column='type') + domaintype = models.CharField( + max_length=6, choices=DNS_DOMAIN_TYPES, db_column='type') notified_serial = models.IntegerField(null=True) # account is represented by customer_id # check constraint is added via RunSQL in migration @@ -200,20 +201,22 @@ class DNSRecord(models.Model): CONSTRAINT domain_exists FOREIGN KEY(domain_id) REFERENCES domains(id) ON DELETE CASCADE, - CONSTRAINT c_lowercase_name CHECK (((name)::TEXT = LOWER((name)::TEXT))) + CONSTRAINT c_lowercase_name CHECK ( + ((name)::TEXT = LOWER((name)::TEXT))) ); CREATE INDEX rec_name_index ON records(name); CREATE INDEX nametype_index ON records(name,type); CREATE INDEX domain_id ON records(domain_id); - CREATE INDEX recordorder ON records (domain_id, ordername text_pattern_ops); + CREATE INDEX recordorder ON records ( + domain_id, ordername text_pattern_ops); """ domain = models.ForeignKey('DNSDomain') - name = models.CharField(max_length=255, blank=True, null=True, - db_index=True) - recordtype = models.CharField(max_length=10, blank=True, null=True, - db_column='type') + name = models.CharField( + max_length=255, blank=True, null=True, db_index=True) + recordtype = models.CharField( + max_length=10, blank=True, null=True, db_column='type') content = models.CharField(max_length=65535, blank=True, null=True) ttl = models.IntegerField(null=True) prio = models.IntegerField(null=True) @@ -291,7 +294,8 @@ class DNSComment(models.Model): CONSTRAINT domain_exists FOREIGN KEY(domain_id) REFERENCES domains(id) ON DELETE CASCADE, - CONSTRAINT c_lowercase_name CHECK (((name)::TEXT = LOWER((name)::TEXT))) + CONSTRAINT c_lowercase_name CHECK ( + ((name)::TEXT = LOWER((name)::TEXT))) ); CREATE INDEX comments_domain_id_idx ON comments (domain_id); @@ -403,14 +407,16 @@ class DNSTSIGKey(models.Model): name VARCHAR(255), algorithm VARCHAR(50), secret VARCHAR(255), - CONSTRAINT c_lowercase_name CHECK (((name)::TEXT = LOWER((name)::TEXT))) + CONSTRAINT c_lowercase_name CHECK ( + ((name)::TEXT = LOWER((name)::TEXT))) ); CREATE UNIQUE INDEX namealgoindex ON tsigkeys(name, algorithm); """ name = models.CharField(max_length=255) - algorithm = models.CharField(max_length=50, choices=DNS_TSIG_KEY_ALGORITHMS) + algorithm = models.CharField( + max_length=50, choices=DNS_TSIG_KEY_ALGORITHMS) secret = models.CharField(max_length=255) # check constraint is added via RunSQL in migration diff --git a/gnuviechadmin/domains/tests/test_views.py b/gnuviechadmin/domains/tests/test_views.py index 4873bcf..8577b39 100644 --- a/gnuviechadmin/domains/tests/test_views.py +++ b/gnuviechadmin/domains/tests/test_views.py @@ -41,8 +41,8 @@ class CreateHostingDomainTest(TestCase): return package def test_get_anonymous(self): - response = self.client.get(reverse('create_hosting_domain', - kwargs={'package': 1})) + response = self.client.get( + reverse('create_hosting_domain', kwargs={'package': 1})) self.assertEqual(response.status_code, 403) def test_get_regular_user(self): @@ -50,8 +50,9 @@ class CreateHostingDomainTest(TestCase): TEST_USER, email=TEST_EMAIL, password=TEST_PASSWORD) package = self._setup_hosting_package(customer) self.client.login(username=TEST_USER, password=TEST_PASSWORD) - response = self.client.get(reverse('create_hosting_domain', - kwargs={'package': package.id})) + response = self.client.get( + reverse('create_hosting_domain', + kwargs={'package': package.id})) self.assertEqual(response.status_code, 403) def test_get_staff_user(self): @@ -60,8 +61,9 @@ class CreateHostingDomainTest(TestCase): admin = User.objects.create_superuser( TEST_USER, email=TEST_EMAIL, password=TEST_PASSWORD) self.client.login(username=TEST_USER, password=TEST_PASSWORD) - response = self.client.get(reverse('create_hosting_domain', - kwargs={'package': package.id})) + response = self.client.get( + reverse('create_hosting_domain', + kwargs={'package': package.id})) self.assertEqual(response.status_code, 200) def test_get_template(self): @@ -70,16 +72,18 @@ class CreateHostingDomainTest(TestCase): admin = User.objects.create_superuser( TEST_USER, email=TEST_EMAIL, password=TEST_PASSWORD) self.client.login(username=TEST_USER, password=TEST_PASSWORD) - response = self.client.get(reverse('create_hosting_domain', - kwargs={'package': package.id})) + response = self.client.get( + reverse('create_hosting_domain', + kwargs={'package': package.id})) self.assertTemplateUsed(response, 'domains/hostingdomain_create.html') def test_get_no_package_found(self): admin = User.objects.create_superuser( TEST_USER, email=TEST_EMAIL, password=TEST_PASSWORD) self.client.login(username=TEST_USER, password=TEST_PASSWORD) - response = self.client.get(reverse('create_hosting_domain', - kwargs={'package': 1})) + response = self.client.get( + reverse('create_hosting_domain', + kwargs={'package': 1})) self.assertEqual(response.status_code, 404) def test_get_get_form_kwargs(self): @@ -90,7 +94,7 @@ class CreateHostingDomainTest(TestCase): self.client.login(username=TEST_USER, password=TEST_PASSWORD) view = CreateHostingDomain( request=MagicMock(), kwargs={'package': str(package.id)}) - the_kwargs= view.get_form_kwargs() + the_kwargs = view.get_form_kwargs() self.assertIn('hostingpackage', the_kwargs) self.assertEqual(the_kwargs['hostingpackage'], package) @@ -100,8 +104,9 @@ class CreateHostingDomainTest(TestCase): admin = User.objects.create_superuser( TEST_USER, email=TEST_EMAIL, password=TEST_PASSWORD) self.client.login(username=TEST_USER, password=TEST_PASSWORD) - response = self.client.get(reverse('create_hosting_domain', - kwargs={'package': package.id})) + response = self.client.get( + reverse('create_hosting_domain', + kwargs={'package': package.id})) self.assertIn('hostingpackage', response.context) self.assertEqual(response.context['hostingpackage'], package) @@ -111,8 +116,9 @@ class CreateHostingDomainTest(TestCase): admin = User.objects.create_superuser( TEST_USER, email=TEST_EMAIL, password=TEST_PASSWORD) self.client.login(username=TEST_USER, password=TEST_PASSWORD) - response = self.client.get(reverse('create_hosting_domain', - kwargs={'package': package.id})) + response = self.client.get( + reverse('create_hosting_domain', + kwargs={'package': package.id})) self.assertIn('customer', response.context) self.assertEqual(response.context['customer'], customer) @@ -122,8 +128,10 @@ class CreateHostingDomainTest(TestCase): admin = User.objects.create_superuser( TEST_USER, email=TEST_EMAIL, password=TEST_PASSWORD) self.client.login(username=TEST_USER, password=TEST_PASSWORD) - response = self.client.post(reverse('create_hosting_domain', - kwargs={'package': package.id}), data={'domain': 'example.org'}) + response = self.client.post( + reverse('create_hosting_domain', + kwargs={'package': package.id}), + data={'domain': 'example.org'}) self.assertRedirects(response, package.get_absolute_url()) def test_form_valid_message(self): @@ -132,8 +140,9 @@ class CreateHostingDomainTest(TestCase): admin = User.objects.create_superuser( TEST_USER, email=TEST_EMAIL, password=TEST_PASSWORD) self.client.login(username=TEST_USER, password=TEST_PASSWORD) - response = self.client.post(reverse('create_hosting_domain', - kwargs={'package': package.id}), follow=True, + response = self.client.post( + reverse('create_hosting_domain', + kwargs={'package': package.id}), follow=True, data={'domain': 'example.org'}) messages = list(response.context['messages']) self.assertEqual(len(messages), 1) diff --git a/gnuviechadmin/gnuviechadmin/celery.py b/gnuviechadmin/gnuviechadmin/celery.py index 285c2f6..b9a95d2 100644 --- a/gnuviechadmin/gnuviechadmin/celery.py +++ b/gnuviechadmin/gnuviechadmin/celery.py @@ -12,6 +12,7 @@ os.environ.setdefault('DJANGO_SETTINGS_MODULE', app = Celery('gnuviechadmin') + def get_installed_apps(): return settings.INSTALLED_APPS diff --git a/gnuviechadmin/gnuviechadmin/context_processors.py b/gnuviechadmin/gnuviechadmin/context_processors.py index 4221551..09f1226 100644 --- a/gnuviechadmin/gnuviechadmin/context_processors.py +++ b/gnuviechadmin/gnuviechadmin/context_processors.py @@ -13,7 +13,6 @@ from gnuviechadmin import __version__ as gvaversion _LOGGER = logging.getLogger(__name__) - def navigation(request): """ Add navigation items to the request context. diff --git a/gnuviechadmin/gnuviechadmin/settings/__init__.py b/gnuviechadmin/gnuviechadmin/settings/__init__.py index 8b13789..e69de29 100644 --- a/gnuviechadmin/gnuviechadmin/settings/__init__.py +++ b/gnuviechadmin/gnuviechadmin/settings/__init__.py @@ -1 +0,0 @@ - diff --git a/gnuviechadmin/gnuviechadmin/settings/base.py b/gnuviechadmin/gnuviechadmin/settings/base.py index 891811d..f5fdf4e 100644 --- a/gnuviechadmin/gnuviechadmin/settings/base.py +++ b/gnuviechadmin/gnuviechadmin/settings/base.py @@ -27,7 +27,7 @@ def get_env_variable(var_name): raise ImproperlyConfigured(error_msg) -########## PATH CONFIGURATION +# ######### PATH CONFIGURATION # Absolute filesystem path to the Django project directory: DJANGO_ROOT = dirname(dirname(abspath(__file__))) @@ -40,19 +40,19 @@ SITE_NAME = basename(DJANGO_ROOT) # Add our project to our pythonpath, this way we don't need to type our project # name in our dotted import paths: path.append(DJANGO_ROOT) -########## END PATH CONFIGURATION +# ######### END PATH CONFIGURATION -########## DEBUG CONFIGURATION +# ######### DEBUG CONFIGURATION # See: https://docs.djangoproject.com/en/dev/ref/settings/#debug DEBUG = False # See: https://docs.djangoproject.com/en/dev/ref/settings/#template-debug TEMPLATE_DEBUG = DEBUG -########## END DEBUG CONFIGURATION +# ######### END DEBUG CONFIGURATION -########## MANAGER CONFIGURATION +# ######### MANAGER CONFIGURATION # See: https://docs.djangoproject.com/en/dev/ref/settings/#admins ADMINS = ( (get_env_variable('GVA_ADMIN_NAME'), get_env_variable('GVA_ADMIN_EMAIL')), @@ -60,10 +60,10 @@ ADMINS = ( # See: https://docs.djangoproject.com/en/dev/ref/settings/#managers MANAGERS = ADMINS -########## END MANAGER CONFIGURATION +# ######### END MANAGER CONFIGURATION -########## DATABASE CONFIGURATION +# ######### DATABASE CONFIGURATION # See: https://docs.djangoproject.com/en/dev/ref/settings/#databases DATABASES = { 'default': { @@ -75,10 +75,10 @@ DATABASES = { 'PORT': get_env_variable('GVA_PGSQL_PORT'), } } -########## END DATABASE CONFIGURATION +# ######### END DATABASE CONFIGURATION -########## GENERAL CONFIGURATION +# ######### GENERAL CONFIGURATION # See: https://docs.djangoproject.com/en/dev/ref/settings/#time-zone TIME_ZONE = 'Europe/Berlin' @@ -98,7 +98,7 @@ USE_L10N = True # See: https://docs.djangoproject.com/en/dev/ref/settings/#use-tz USE_TZ = True -########## END GENERAL CONFIGURATION +# ######### END GENERAL CONFIGURATION LOCALE_PATHS = ( @@ -106,59 +106,59 @@ LOCALE_PATHS = ( ) -########## MEDIA CONFIGURATION +# ######### MEDIA CONFIGURATION # See: https://docs.djangoproject.com/en/dev/ref/settings/#media-root MEDIA_ROOT = normpath(join(SITE_ROOT, 'media')) # See: https://docs.djangoproject.com/en/dev/ref/settings/#media-url MEDIA_URL = '/media/' -########## END MEDIA CONFIGURATION +# ######### END MEDIA CONFIGURATION -########## STATIC FILE CONFIGURATION +# ######### STATIC FILE CONFIGURATION # See: https://docs.djangoproject.com/en/dev/ref/settings/#static-root STATIC_ROOT = normpath(join(SITE_ROOT, 'assets')) # See: https://docs.djangoproject.com/en/dev/ref/settings/#static-url STATIC_URL = '/static/' -# See: https://docs.djangoproject.com/en/dev/ref/contrib/staticfiles/#std:setting-STATICFILES_DIRS +# See: https://docs.djangoproject.com/en/dev/ref/contrib/staticfiles/#std:setting-STATICFILES_DIRS # noqa STATICFILES_DIRS = ( normpath(join(SITE_ROOT, 'static')), ) -# See: https://docs.djangoproject.com/en/dev/ref/contrib/staticfiles/#staticfiles-finders +# See: https://docs.djangoproject.com/en/dev/ref/contrib/staticfiles/#staticfiles-finders # noqa STATICFILES_FINDERS = ( 'django.contrib.staticfiles.finders.FileSystemFinder', 'django.contrib.staticfiles.finders.AppDirectoriesFinder', ) -########## END STATIC FILE CONFIGURATION +# ######### END STATIC FILE CONFIGURATION -########## SECRET CONFIGURATION +# ######### SECRET CONFIGURATION # See: https://docs.djangoproject.com/en/dev/ref/settings/#secret-key # Note: This key should only be used for development and testing. SECRET_KEY = get_env_variable('GVA_SITE_SECRET') -########## END SECRET CONFIGURATION +# ######### END SECRET CONFIGURATION -########## SITE CONFIGURATION +# ######### SITE CONFIGURATION # Hosts/domain names that are valid for this site # See https://docs.djangoproject.com/en/1.5/ref/settings/#allowed-hosts ALLOWED_HOSTS = [] -########## END SITE CONFIGURATION +# ######### END SITE CONFIGURATION -########## FIXTURE CONFIGURATION -# See: https://docs.djangoproject.com/en/dev/ref/settings/#std:setting-FIXTURE_DIRS +# ######### FIXTURE CONFIGURATION +# See: https://docs.djangoproject.com/en/dev/ref/settings/#std:setting-FIXTURE_DIRS # noqa FIXTURE_DIRS = ( normpath(join(SITE_ROOT, 'fixtures')), ) -########## END FIXTURE CONFIGURATION +# ######### END FIXTURE CONFIGURATION -########## TEMPLATE CONFIGURATION -# See: https://docs.djangoproject.com/en/dev/ref/settings/#template-context-processors +# ######### TEMPLATE CONFIGURATION +# See: https://docs.djangoproject.com/en/dev/ref/settings/#template-context-processors # noqa TEMPLATE_CONTEXT_PROCESSORS = ( 'django.contrib.auth.context_processors.auth', 'django.core.context_processors.debug', @@ -186,10 +186,10 @@ TEMPLATE_LOADERS = ( TEMPLATE_DIRS = ( normpath(join(SITE_ROOT, 'templates')), ) -########## END TEMPLATE CONFIGURATION +# ######### END TEMPLATE CONFIGURATION -########## MIDDLEWARE CONFIGURATION +# ######### MIDDLEWARE CONFIGURATION # See: https://docs.djangoproject.com/en/dev/ref/settings/#middleware-classes MIDDLEWARE_CLASSES = ( # Default Django middleware. @@ -202,7 +202,7 @@ MIDDLEWARE_CLASSES = ( 'django.middleware.locale.LocaleMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware', ) -########## END MIDDLEWARE CONFIGURATION +# ######### END MIDDLEWARE CONFIGURATION AUTHENTICATION_BACKENDS = ( @@ -214,18 +214,18 @@ AUTHENTICATION_BACKENDS = ( ) -########## URL CONFIGURATION +# ######### URL CONFIGURATION # See: https://docs.djangoproject.com/en/dev/ref/settings/#root-urlconf ROOT_URLCONF = '%s.urls' % SITE_NAME -########## END URL CONFIGURATION +# ######### END URL CONFIGURATION -########## TEST RUNNER CONFIGURATION +# ######### TEST RUNNER CONFIGURATION TEST_RUNNER = 'django.test.runner.DiscoverRunner' -########## END TEST RUNNER CONFIGURATION +# ######### END TEST RUNNER CONFIGURATION -########## APP CONFIGURATION +# ######### APP CONFIGURATION DJANGO_APPS = ( # Default Django apps: 'django.contrib.auth', @@ -285,23 +285,23 @@ MESSAGE_TAGS = { messages.SUCCESS: 'alert-success', messages.WARNING: 'alert-warning', } -########## END APP CONFIGURATION +# ######### END APP CONFIGURATION -########## ALLAUTH CONFIGURATION +# ######### ALLAUTH CONFIGURATION ACCOUNT_EMAIL_REQUIRED = True ACCOUNT_EMAIL_VERIFICATION = 'mandatory' LOGIN_REDIRECT_URL = '/' SOCIALACCOUNT_QUERY_EMAIL = True -########## END ALLAUTH CONFIGURATION +# ######### END ALLAUTH CONFIGURATION -########## CRISPY FORMS CONFIGURATION +# ######### CRISPY FORMS CONFIGURATION CRISPY_TEMPLATE_PACK = 'bootstrap3' -########## END CRISPY_FORMS CONFIGURATION +# ######### END CRISPY_FORMS CONFIGURATION -########## LOGGING CONFIGURATION +# ######### LOGGING CONFIGURATION # See: https://docs.djangoproject.com/en/dev/ref/settings/#logging # A sample logging configuration. The only tangible logging # performed by this configuration is to send an email to @@ -340,16 +340,16 @@ LOGGING = { }, } } -########## END LOGGING CONFIGURATION +# ######### END LOGGING CONFIGURATION -########## WSGI CONFIGURATION +# ######### WSGI CONFIGURATION # See: https://docs.djangoproject.com/en/dev/ref/settings/#wsgi-application WSGI_APPLICATION = '%s.wsgi.application' % SITE_NAME -########## END WSGI CONFIGURATION +# ######### END WSGI CONFIGURATION -########## CELERY CONFIGURATION +# ######### CELERY CONFIGURATION BROKER_URL = get_env_variable('GVA_BROKER_URL') CELERY_RESULT_BACKEND = 'amqp' CELERY_RESULT_PERSISTENT = True @@ -362,10 +362,10 @@ CELERY_ENABLE_UTC = True CELERY_ACCEPT_CONTENT = ['json'] CELERY_TASK_SERIALIZER = 'json' CELERY_RESULT_SERIALIZER = 'json' -########## END CELERY CONFIGURATION +# ######### END CELERY CONFIGURATION -########## CUSTOM APP CONFIGURATION +# ######### CUSTOM APP CONFIGURATION OSUSER_MINUID = int(get_env_variable('GVA_MIN_OS_UID')) OSUSER_MINGID = int(get_env_variable('GVA_MIN_OS_GID')) OSUSER_USERNAME_PREFIX = get_env_variable('GVA_OSUSER_PREFIX') @@ -379,4 +379,4 @@ OSUSER_UPLOAD_SERVER = get_env_variable('GVA_OSUSER_UPLOADSERVER') GVA_LINK_WEBMAIL = get_env_variable('GVA_WEBMAIL_URL') GVA_LINK_PHPMYADMIN = get_env_variable('GVA_PHPMYADMIN_URL') GVA_LINK_PHPPGADMIN = get_env_variable('GVA_PHPPGADMIN_URL') -########## END CUSTOM APP CONFIGURATION +# ######### END CUSTOM APP CONFIGURATION diff --git a/gnuviechadmin/gnuviechadmin/settings/local.py b/gnuviechadmin/gnuviechadmin/settings/local.py index 14c7139..9eba627 100644 --- a/gnuviechadmin/gnuviechadmin/settings/local.py +++ b/gnuviechadmin/gnuviechadmin/settings/local.py @@ -7,33 +7,33 @@ from __future__ import absolute_import from .base import * -########## DEBUG CONFIGURATION +# ######### DEBUG CONFIGURATION # See: https://docs.djangoproject.com/en/dev/ref/settings/#debug DEBUG = True # See: https://docs.djangoproject.com/en/dev/ref/settings/#template-debug TEMPLATE_DEBUG = DEBUG -########## END DEBUG CONFIGURATION +# ######### END DEBUG CONFIGURATION -########## EMAIL CONFIGURATION +# ######### EMAIL CONFIGURATION # See: https://docs.djangoproject.com/en/dev/ref/settings/#email-backend EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend' -########## END EMAIL CONFIGURATION +# ######### END EMAIL CONFIGURATION -########## CACHE CONFIGURATION +# ######### CACHE CONFIGURATION # See: https://docs.djangoproject.com/en/dev/ref/settings/#caches CACHES = { 'default': { 'BACKEND': 'django.core.cache.backends.locmem.LocMemCache', } } -########## END CACHE CONFIGURATION +# ######### END CACHE CONFIGURATION -########## TOOLBAR CONFIGURATION -# See: http://django-debug-toolbar.readthedocs.org/en/latest/installation.html#explicit-setup +# ######### TOOLBAR CONFIGURATION +# See: http://django-debug-toolbar.readthedocs.org/en/latest/installation.html#explicit-setup # noqa INSTALLED_APPS += ( 'debug_toolbar', ) @@ -50,7 +50,7 @@ LOGGING['handlers'].update({ } }) LOGGING['loggers'].update(dict( - [(key, {'handlers': ['console'], 'level': 'DEBUG', 'propagate': True,}) + [(key, {'handlers': ['console'], 'level': 'DEBUG', 'propagate': True, }) for key in [ 'dashboard', 'domains', 'fileservertasks', 'gvacommon', 'gvawebcore', 'hostingpackages', 'ldaptasks', 'managemails', @@ -61,4 +61,4 @@ DEBUG_TOOLBAR_PATCH_SETTINGS = False # http://django-debug-toolbar.readthedocs.org/en/latest/installation.html INTERNAL_IPS = ('127.0.0.1', '10.0.2.2') -########## END TOOLBAR CONFIGURATION +# ######### END TOOLBAR CONFIGURATION diff --git a/gnuviechadmin/gnuviechadmin/settings/production.py b/gnuviechadmin/gnuviechadmin/settings/production.py index f19e735..a1ed73f 100644 --- a/gnuviechadmin/gnuviechadmin/settings/production.py +++ b/gnuviechadmin/gnuviechadmin/settings/production.py @@ -6,12 +6,12 @@ from __future__ import absolute_import from .base import * -########## HOST CONFIGURATION -# See: https://docs.djangoproject.com/en/1.5/releases/1.5/#allowed-hosts-required-in-production +# ######### HOST CONFIGURATION +# See: https://docs.djangoproject.com/en/1.5/releases/1.5/#allowed-hosts-required-in-production # noqa ALLOWED_HOSTS = [SITES_DOMAIN_NAME] -########## END HOST CONFIGURATION +# ######### END HOST CONFIGURATION -########## EMAIL CONFIGURATION +# ######### EMAIL CONFIGURATION # See: https://docs.djangoproject.com/en/dev/ref/settings/#email-backend EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend' @@ -23,14 +23,14 @@ DEFAULT_FROM_EMAIL = get_env_variable('GVA_SITE_ADMINMAIL') # See: https://docs.djangoproject.com/en/dev/ref/settings/#server-email SERVER_EMAIL = get_env_variable('GVA_SITE_ADMINMAIL') -########## END EMAIL CONFIGURATION +# ######### END EMAIL CONFIGURATION -########## CACHE CONFIGURATION +# ######### CACHE CONFIGURATION # See: https://docs.djangoproject.com/en/dev/ref/settings/#caches -#CACHES = {} -########## END CACHE CONFIGURATION +# CACHES = {} +# ######### END CACHE CONFIGURATION -########## ALLAUTH PRODUCTION CONFIGURATION +# ######### ALLAUTH PRODUCTION CONFIGURATION ACCOUNT_EMAIL_SUBJECT_PREFIX = '[Jan Dittberner IT-Consulting & -Solutions] ' ACCOUNT_DEFAULT_HTTP_PROTOCOL = 'https' -########## END ALLAUTH PRODUCTION CONFIGURATION +# ######### END ALLAUTH PRODUCTION CONFIGURATION diff --git a/gnuviechadmin/gnuviechadmin/tests/test_wsgi.py b/gnuviechadmin/gnuviechadmin/tests/test_wsgi.py index 022a0ec..0aa9b53 100644 --- a/gnuviechadmin/gnuviechadmin/tests/test_wsgi.py +++ b/gnuviechadmin/gnuviechadmin/tests/test_wsgi.py @@ -8,4 +8,3 @@ class WSGITest(TestCase): def test_wsgi_application(self): from gnuviechadmin import wsgi self.assertIsNotNone(wsgi.application) - diff --git a/gnuviechadmin/gnuviechadmin/wsgi.py b/gnuviechadmin/gnuviechadmin/wsgi.py index df7c0c9..04d5488 100644 --- a/gnuviechadmin/gnuviechadmin/wsgi.py +++ b/gnuviechadmin/gnuviechadmin/wsgi.py @@ -24,12 +24,13 @@ path.append(SITE_ROOT) # if running multiple sites in the same mod_wsgi process. To fix this, use # mod_wsgi daemon mode with each site in its own daemon process, or use # os.environ["DJANGO_SETTINGS_MODULE"] = "jajaja.settings" -os.environ.setdefault("DJANGO_SETTINGS_MODULE", "gnuviechadmin.settings.production") +os.environ.setdefault( + "DJANGO_SETTINGS_MODULE", "gnuviechadmin.settings.production") # This application object is used by any WSGI server configured to use this # file. This includes Django's development server, if the WSGI_APPLICATION # setting points here. -from django.core.wsgi import get_wsgi_application +from django.core.wsgi import get_wsgi_application # noqa application = get_wsgi_application() # Apply WSGI middleware here. diff --git a/gnuviechadmin/hostingpackages/models.py b/gnuviechadmin/hostingpackages/models.py index 2e5ff43..f1d8735 100644 --- a/gnuviechadmin/hostingpackages/models.py +++ b/gnuviechadmin/hostingpackages/models.py @@ -362,8 +362,7 @@ class CustomerHostingPackage(HostingPackageBase): def may_add_database(self): return ( CustomerUserDatabaseOption.objects.filter( - hosting_package=self).count() - > + hosting_package=self).count() > UserDatabase.objects.filter( db_user__osuser=self.osuser).count() ) diff --git a/gnuviechadmin/hostingpackages/views.py b/gnuviechadmin/hostingpackages/views.py index abe265e..d07f4cc 100644 --- a/gnuviechadmin/hostingpackages/views.py +++ b/gnuviechadmin/hostingpackages/views.py @@ -80,7 +80,8 @@ class CreateCustomerHostingPackage(CreateHostingPackage): get_user_model(), username=self.kwargs['user']) def get_context_data(self, **kwargs): - context = super(CreateCustomerHostingPackage, self).get_context_data(**kwargs) + context = super( + CreateCustomerHostingPackage, self).get_context_data(**kwargs) context['customer'] = self.get_customer_object() return context diff --git a/gnuviechadmin/ldaptasks/tasks.py b/gnuviechadmin/ldaptasks/tasks.py index c90dd4f..72acd8d 100644 --- a/gnuviechadmin/ldaptasks/tasks.py +++ b/gnuviechadmin/ldaptasks/tasks.py @@ -7,6 +7,7 @@ from __future__ import absolute_import from celery import shared_task + @shared_task def create_ldap_group(groupname, gid, descr): """ diff --git a/gnuviechadmin/manage.py b/gnuviechadmin/manage.py index c950b97..c6003db 100755 --- a/gnuviechadmin/manage.py +++ b/gnuviechadmin/manage.py @@ -3,7 +3,8 @@ import os import sys if __name__ == "__main__": - os.environ.setdefault("DJANGO_SETTINGS_MODULE", "gnuviechadmin.settings.local") + os.environ.setdefault( + "DJANGO_SETTINGS_MODULE", "gnuviechadmin.settings.local") from django.core.management import execute_from_command_line diff --git a/gnuviechadmin/managemails/models.py b/gnuviechadmin/managemails/models.py index 397189e..b8d15f1 100644 --- a/gnuviechadmin/managemails/models.py +++ b/gnuviechadmin/managemails/models.py @@ -200,12 +200,12 @@ class MailAddress(ActivateAbleMixin, TimeStampedModel, models.Model): forwards = MailAddressForward.objects.filter( mailaddress=self).all() for item in forwards: - if not item.target in addresses: + if item.target not in addresses: item.delete() else: retval.append(item) for target in addresses: - if not target in [item.target for item in forwards]: + if target not in [item.target for item in forwards]: mafwd = MailAddressForward(mailaddress=self, target=target) if commit: mafwd.save() diff --git a/gnuviechadmin/osusers/admin.py b/gnuviechadmin/osusers/admin.py index 91df5a8..e622fab 100644 --- a/gnuviechadmin/osusers/admin.py +++ b/gnuviechadmin/osusers/admin.py @@ -349,10 +349,10 @@ class SshPublicKeyAdmin(admin.ModelAdmin): for user in users: TaskResult.objects.create_task_result( set_file_ssh_authorized_keys.delay( - User.objects.get(uid=user).username, [ - str(key) for key in SshPublicKey.objects.filter( - user_id=user) - ]), + User.objects.get(uid=user).username, + [str(key) for key in SshPublicKey.objects.filter( + user_id=user)] + ), 'set_file_ssh_authorized_keys' ) perform_delete_selected.short_description = _( diff --git a/gnuviechadmin/osusers/signals.py b/gnuviechadmin/osusers/signals.py index 8796554..bb76ee5 100644 --- a/gnuviechadmin/osusers/signals.py +++ b/gnuviechadmin/osusers/signals.py @@ -55,11 +55,11 @@ def handle_user_password_set(sender, instance, password, **kwargs): taskresult.task_id) -#@receiver(post_save) -#def handle_post_save(sender, **kwargs): -# _LOGGER.debug( -# 'handling post_save signal for %s with args %s', -# sender, kwargs) +# @receiver(post_save) +# def handle_post_save(sender, **kwargs): +# _LOGGER.debug( +# 'handling post_save signal for %s with args %s', +# sender, kwargs) @receiver(post_save, sender=Group) @@ -82,7 +82,8 @@ def handle_user_created(sender, instance, created, **kwargs): chain = create_ldap_user.s( instance.username, instance.uid, instance.group.gid, instance.gecos, instance.homedir, instance.shell, None - ) | setup_file_sftp_userdir.s(instance.username + ) | setup_file_sftp_userdir.s( + instance.username ) | setup_file_mail_userdir.s(instance.username) taskresult = TaskResult.objects.create_task_result( 'handle_user_created', chain) @@ -119,11 +120,11 @@ def handle_ssh_keys_changed(sender, instance, **kwargs): taskresult.task_id) -#@receiver(post_delete) -#def handle_post_delete(sender, **kwargs): -# _LOGGER.debug( -# 'handling post_delete signal for %s with args %s', -# sender, kwargs) +# @receiver(post_delete) +# def handle_post_delete(sender, **kwargs): +# _LOGGER.debug( +# 'handling post_delete signal for %s with args %s', +# sender, kwargs) @receiver(post_delete, sender=Group) @@ -138,8 +139,10 @@ def handle_group_deleted(sender, instance, **kwargs): @receiver(post_delete, sender=User) def handle_user_deleted(sender, instance, **kwargs): - chain = delete_file_mail_userdir.s(instance.username - ) | delete_file_sftp_userdir.s(instance.username + chain = delete_file_mail_userdir.s( + instance.username + ) | delete_file_sftp_userdir.s( + instance.username ) | delete_ldap_user.s(instance.username) _LOGGER.debug('chain signature %s', chain) taskresult = TaskResult.objects.create_task_result( diff --git a/gnuviechadmin/osusers/tests/test_models.py b/gnuviechadmin/osusers/tests/test_models.py index 4189904..50ed035 100644 --- a/gnuviechadmin/osusers/tests/test_models.py +++ b/gnuviechadmin/osusers/tests/test_models.py @@ -56,10 +56,10 @@ sY29ouezv4Xz2PuMch5VGPP+CDqzCM4loWgV ---- END SSH2 PUBLIC KEY ----""" EXAMPLE_KEY_4_OPENSSH = "".join(( -"ssh-rsa ", -"AAAAB3NzaC1yc2EAAAABIwAAAIEA1on8gxCGJJWSRT4uOrR13mUaUk0hRf4RzxSZ1zRb", -"YYFw8pfGesIFoEuVth4HKyF8k1y4mRUnYHP1XNMNMJl1JcEArC2asV8sHf6zSPVffozZ", -"5TT4SfsUu/iKy9lUcCfXzwre4WWZSXXcPff+EHtWshahu3WzBdnGxm5Xoi89zcE=" + "ssh-rsa ", + "AAAAB3NzaC1yc2EAAAABIwAAAIEA1on8gxCGJJWSRT4uOrR13mUaUk0hRf4RzxSZ1zRb", + "YYFw8pfGesIFoEuVth4HKyF8k1y4mRUnYHP1XNMNMJl1JcEArC2asV8sHf6zSPVffozZ", + "5TT4SfsUu/iKy9lUcCfXzwre4WWZSXXcPff+EHtWshahu3WzBdnGxm5Xoi89zcE=" )) EXAMPLE_KEY_5_RFC4716_MULTILINE = """---- BEGIN SSH2 PUBLIC KEY ---- @@ -392,7 +392,8 @@ class UserTest(TestCaseWithCeleryTasks): self.assertEqual(len(taskres), 5) creators = [t.creator for t in taskres] for tcount, tcreator in [ - (2, 'handle_user_removed_from_group'), (2, 'handle_user_deleted'), + (2, 'handle_user_removed_from_group'), + (2, 'handle_user_deleted'), (1, 'handle_group_deleted')]: self.assertEqual(creators.count(tcreator), tcount) self.assertEqual(len(User.objects.all()), 0) diff --git a/gnuviechadmin/userdbs/models.py b/gnuviechadmin/userdbs/models.py index 4cc2b76..adcc2e7 100644 --- a/gnuviechadmin/userdbs/models.py +++ b/gnuviechadmin/userdbs/models.py @@ -98,7 +98,6 @@ class DatabaseUserManager(models.Manager): return db_user - @python_2_unicode_compatible class DatabaseUser(TimeStampedModel, models.Model): osuser = models.ForeignKey(OsUser) @@ -204,7 +203,7 @@ class UserDatabaseManager(models.Manager): @transaction.atomic def create_userdatabase_with_user( - self, db_type, osuser, password=None, commit=True): + self, db_type, osuser, password=None, commit=True): """ Creates a new user database with a new user. diff --git a/gnuviechadmin/webtasks/tasks.py b/gnuviechadmin/webtasks/tasks.py index e7e1bf9..4abd4af 100644 --- a/gnuviechadmin/webtasks/tasks.py +++ b/gnuviechadmin/webtasks/tasks.py @@ -47,6 +47,7 @@ def enable_web_vhost(sitename): """ + @shared_task def delete_web_vhost_config(sitename): """ @@ -70,6 +71,7 @@ def create_web_php_fpm_pool_config(username): """ + @shared_task def delete_web_php_fpm_pool_config(username): """