diff --git a/gnuviechadmin/contact_form/urls.py b/gnuviechadmin/contact_form/urls.py index 6963969..e3f01ca 100644 --- a/gnuviechadmin/contact_form/urls.py +++ b/gnuviechadmin/contact_form/urls.py @@ -4,7 +4,7 @@ URL patterns for the contact_form views. """ from __future__ import absolute_import, unicode_literals -from django.conf.urls import patterns, url +from django.conf.urls import url from .views import ( ContactFormView, @@ -12,8 +12,7 @@ from .views import ( ) -urlpatterns = patterns( - '', +urlpatterns = [ url(r'^$', ContactFormView.as_view(), name='contact_form'), url(r'^success/$', ContactSuccessView.as_view(), name='contact_success'), -) +] diff --git a/gnuviechadmin/dashboard/urls.py b/gnuviechadmin/dashboard/urls.py index f7172d8..ffa741b 100644 --- a/gnuviechadmin/dashboard/urls.py +++ b/gnuviechadmin/dashboard/urls.py @@ -1,6 +1,6 @@ from __future__ import absolute_import, unicode_literals -from django.conf.urls import patterns, url +from django.conf.urls import url from .views import ( IndexView, @@ -8,9 +8,8 @@ from .views import ( ) -urlpatterns = patterns( - '', +urlpatterns = [ url(r'^$', IndexView.as_view(), name='dashboard'), url(r'^user/(?P[\w0-9@.+-_]+)/$', UserDashboardView.as_view(), name='customer_dashboard'), -) +] diff --git a/gnuviechadmin/domains/models.py b/gnuviechadmin/domains/models.py index 323d0da..8e80329 100644 --- a/gnuviechadmin/domains/models.py +++ b/gnuviechadmin/domains/models.py @@ -50,7 +50,6 @@ DNS_TSIG_KEY_ALGORITHMS = Choices( ) -@python_2_unicode_compatible class DomainBase(TimeStampedModel): """ This is the base model for domains. @@ -64,9 +63,6 @@ class DomainBase(TimeStampedModel): class Meta: abstract = True - def __str__(self): - return self.domain - @python_2_unicode_compatible class MailDomain(DomainBase): diff --git a/gnuviechadmin/domains/tests/test_forms.py b/gnuviechadmin/domains/tests/test_forms.py index df93be4..746432f 100644 --- a/gnuviechadmin/domains/tests/test_forms.py +++ b/gnuviechadmin/domains/tests/test_forms.py @@ -9,7 +9,7 @@ from mock import MagicMock, Mock, patch from django.core.urlresolvers import reverse from django.forms import ValidationError from django.test import TestCase -from django.utils.translation import ugettext_lazy as _ +from django.utils.translation import ugettext as _ from domains.forms import relative_domain_validator, CreateHostingDomainForm diff --git a/gnuviechadmin/domains/tests/test_models.py b/gnuviechadmin/domains/tests/test_models.py index d942b78..abe4614 100644 --- a/gnuviechadmin/domains/tests/test_models.py +++ b/gnuviechadmin/domains/tests/test_models.py @@ -17,7 +17,6 @@ from domains.models import ( DNSRecord, DNSSupermaster, DNSTSIGKey, - DomainBase, HostingDomain, MailDomain, ) @@ -32,13 +31,6 @@ User = get_user_model() TEST_USER = 'test' -class DomainBaseTest(TestCase): - - def test___str__(self): - db = DomainBase(domain='test') - self.assertEqual(str(db), 'test') - - class MailDomainTest(TestCase): def test___str__(self): @@ -48,8 +40,7 @@ class MailDomainTest(TestCase): def test_get_mailaddresses(self): md = MailDomain.objects.create(domain='example.org') from managemails.models import MailAddress - addrmock = MailAddress(localpart='info') - md.mailaddress_set.add(addrmock) + addrmock = MailAddress.objects.create(localpart='info', domain=md) self.assertIn(addrmock, md.get_mailaddresses()) self.assertIn(addrmock, md.mailaddresses) diff --git a/gnuviechadmin/domains/urls.py b/gnuviechadmin/domains/urls.py index d762b84..2d63fe4 100644 --- a/gnuviechadmin/domains/urls.py +++ b/gnuviechadmin/domains/urls.py @@ -4,13 +4,12 @@ This module defines the URL patterns for domain related views. """ from __future__ import absolute_import, unicode_literals -from django.conf.urls import patterns, url +from django.conf.urls import url from .views import CreateHostingDomain -urlpatterns = patterns( - '', +urlpatterns = [ url(r'^(?P\d+)/create$', CreateHostingDomain.as_view(), name='create_hosting_domain'), -) +] diff --git a/gnuviechadmin/gnuviechadmin/settings/base.py b/gnuviechadmin/gnuviechadmin/settings/base.py index f5fdf4e..5e81e2c 100644 --- a/gnuviechadmin/gnuviechadmin/settings/base.py +++ b/gnuviechadmin/gnuviechadmin/settings/base.py @@ -46,9 +46,6 @@ path.append(DJANGO_ROOT) # ######### 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 @@ -158,34 +155,31 @@ FIXTURE_DIRS = ( # ######### 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', - 'django.core.context_processors.i18n', - 'django.core.context_processors.media', - 'django.core.context_processors.static', - 'django.core.context_processors.tz', - 'django.contrib.messages.context_processors.messages', - 'django.core.context_processors.request', - # allauth specific context processors - 'allauth.account.context_processors.account', - 'allauth.socialaccount.context_processors.socialaccount', - # custom context processors - 'gnuviechadmin.context_processors.navigation', - 'gnuviechadmin.context_processors.version_info', -) - -# See: https://docs.djangoproject.com/en/dev/ref/settings/#template-loaders -TEMPLATE_LOADERS = ( - 'django.template.loaders.filesystem.Loader', - 'django.template.loaders.app_directories.Loader', -) - -# See: https://docs.djangoproject.com/en/dev/ref/settings/#template-dirs -TEMPLATE_DIRS = ( - normpath(join(SITE_ROOT, 'templates')), -) +# See: https://docs.djangoproject.com/en/1.9/ref/settings/#std:setting-TEMPLATES # noqa +TEMPLATES = [ + { + 'BACKEND': 'django.template.backends.django.DjangoTemplates', + 'DIRS': [ + normpath(join(SITE_ROOT, 'templates')), + ], + 'APP_DIRS': True, + 'OPTIONS': { + 'context_processors': [ + 'django.contrib.auth.context_processors.auth', + 'django.template.context_processors.debug', + 'django.template.context_processors.i18n', + 'django.template.context_processors.media', + 'django.template.context_processors.static', + 'django.template.context_processors.tz', + 'django.contrib.messages.context_processors.messages', + 'django.template.context_processors.request', + # custom context processors + 'gnuviechadmin.context_processors.navigation', + 'gnuviechadmin.context_processors.version_info', + ], + }, + }, +] # ######### END TEMPLATE CONFIGURATION diff --git a/gnuviechadmin/gnuviechadmin/settings/local.py b/gnuviechadmin/gnuviechadmin/settings/local.py index b584a58..7fa7460 100644 --- a/gnuviechadmin/gnuviechadmin/settings/local.py +++ b/gnuviechadmin/gnuviechadmin/settings/local.py @@ -13,7 +13,7 @@ from .base import * # NOQA DEBUG = True # See: https://docs.djangoproject.com/en/dev/ref/settings/#template-debug -TEMPLATE_DEBUG = DEBUG +TEMPLATES[0]['OPTIONS']['debug'] = DEBUG # ######### END DEBUG CONFIGURATION diff --git a/gnuviechadmin/gnuviechadmin/urls.py b/gnuviechadmin/gnuviechadmin/urls.py index 762d675..cc214b8 100644 --- a/gnuviechadmin/gnuviechadmin/urls.py +++ b/gnuviechadmin/gnuviechadmin/urls.py @@ -1,13 +1,13 @@ from __future__ import absolute_import -from django.conf.urls import patterns, include, url +from django.conf.urls import include, url from django.conf import settings from django.contrib import admin +from django.contrib.flatpages import views admin.autodiscover() -urlpatterns = patterns( - '', +urlpatterns = [ url(r'', include('dashboard.urls')), url(r'^accounts/', include('allauth.urls')), url(r'^database/', include('userdbs.urls')), @@ -16,19 +16,18 @@ urlpatterns = patterns( url(r'^website/', include('websites.urls')), url(r'^mail/', include('managemails.urls')), url(r'^osuser/', include('osusers.urls')), - url(r'^admin/', include(admin.site.urls)), + url(r'^admin/', admin.site.urls), url(r'^contact/', include('contact_form.urls')), -) -urlpatterns += patterns( - 'django.contrib.flatpages.views', - url(r'^impressum/$', 'flatpage', {'url': '/impressum/'}, name='imprint'), -) + url(r'^impressum/$', views.flatpage, { + 'url': '/impressum/' + }, name='imprint'), +] # Uncomment the next line to serve media files in dev. # urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) if settings.DEBUG: # pragma: no cover import debug_toolbar - urlpatterns += patterns('', - url(r'^__debug__/', include(debug_toolbar.urls)), - ) + urlpatterns += [ + url(r'^__debug__/', debug_toolbar.urls), + ] diff --git a/gnuviechadmin/hostingpackages/urls.py b/gnuviechadmin/hostingpackages/urls.py index 150256e..4d0201b 100644 --- a/gnuviechadmin/hostingpackages/urls.py +++ b/gnuviechadmin/hostingpackages/urls.py @@ -4,7 +4,7 @@ This module defines the URL patterns for hosting package related views. """ from __future__ import absolute_import, unicode_literals -from django.conf.urls import patterns, url +from django.conf.urls import url from .views import ( AddHostingOption, @@ -17,8 +17,7 @@ from .views import ( ) -urlpatterns = patterns( - '', +urlpatterns = [ url(r'^create$', CreateHostingPackage.as_view(), name='create_hosting_package'), url(r'^allpackages/', @@ -35,4 +34,4 @@ urlpatterns = patterns( HostingOptionChoices.as_view(), name='hosting_option_choices'), url(r'^(?P\d+)/add-option/(?P\w+)/(?P\d+)$', AddHostingOption.as_view(), name='add_hosting_option'), -) +] diff --git a/gnuviechadmin/managemails/admin.py b/gnuviechadmin/managemails/admin.py index da12f85..8bb386f 100644 --- a/gnuviechadmin/managemails/admin.py +++ b/gnuviechadmin/managemails/admin.py @@ -32,7 +32,7 @@ class ReadOnlyPasswordHashField(forms.Field): def bound_data(self, data, initial): return initial - def _has_changed(self, initial, data): + def has_changed(self, initial, data): return False diff --git a/gnuviechadmin/managemails/tests/test_admin.py b/gnuviechadmin/managemails/tests/test_admin.py index 91a6808..67496d6 100644 --- a/gnuviechadmin/managemails/tests/test_admin.py +++ b/gnuviechadmin/managemails/tests/test_admin.py @@ -52,7 +52,7 @@ class ReadOnlyPasswordHashFieldTest(TestCase): def test__has_changed(self): field = ReadOnlyPasswordHashField() - self.assertFalse(field._has_changed('new', 'old')) + self.assertFalse(field.has_changed('new', 'old')) class CustomerTestCase(TestCase): diff --git a/gnuviechadmin/managemails/urls.py b/gnuviechadmin/managemails/urls.py index c37a83e..fcd4ef7 100644 --- a/gnuviechadmin/managemails/urls.py +++ b/gnuviechadmin/managemails/urls.py @@ -5,7 +5,7 @@ views. """ from __future__ import absolute_import, unicode_literals -from django.conf.urls import patterns, url +from django.conf.urls import url from .views import ( AddMailAddress, @@ -15,8 +15,7 @@ from .views import ( EditMailAddress, ) -urlpatterns = patterns( - '', +urlpatterns = [ url(r'^(?P\d+)/mailbox/create$', CreateMailbox.as_view(), name='create_mailbox'), url(r'^(?P\d+)/mailbox/(?P[\w0-9]+)/setpassword$', @@ -29,4 +28,4 @@ urlpatterns = patterns( url(r'^(?P\d+)/mailaddress/(?P[\w0-9-.]+)/(?P\d+)' r'/delete$', DeleteMailAddress.as_view(), name='delete_mailaddress'), -) +] diff --git a/gnuviechadmin/osusers/urls.py b/gnuviechadmin/osusers/urls.py index 52c2657..086a2bf 100644 --- a/gnuviechadmin/osusers/urls.py +++ b/gnuviechadmin/osusers/urls.py @@ -4,7 +4,7 @@ This module defines the URL patterns for operating system user related views. """ from __future__ import absolute_import, unicode_literals -from django.conf.urls import patterns, url +from django.conf.urls import url from .views import ( AddSshPublicKey, @@ -15,8 +15,7 @@ from .views import ( ) -urlpatterns = patterns( - '', +urlpatterns = [ url(r'^(?P[\w0-9@.+-_]+)/setpassword$', SetOsUserPassword.as_view(), name='set_osuser_password'), url(r'^(?P\d+)/ssh-keys/$', ListSshPublicKeys.as_view(), @@ -27,4 +26,4 @@ urlpatterns = patterns( EditSshPublicKeyComment.as_view(), name='edit_ssh_key_comment'), url(r'^(?P\d+)/ssh-keys/(?P\d+)/delete$', DeleteSshPublicKey.as_view(), name='delete_ssh_key'), -) +] diff --git a/gnuviechadmin/templates/account/login.html b/gnuviechadmin/templates/account/login.html index f3cb8f1..88862b6 100644 --- a/gnuviechadmin/templates/account/login.html +++ b/gnuviechadmin/templates/account/login.html @@ -1,11 +1,12 @@ {% extends "account/base.html" %} -{% load account crispy_forms_tags i18n %} +{% load account socialaccount crispy_forms_tags i18n %} {% block title %}{{ block.super }} - {% trans "Sign In" %}{% endblock title %} {% block page_title %}{% trans "Sign In" %}{% endblock page_title %} {% block content %} -{% if socialaccount.providers %} +{% get_providers as socialaccount_providers %} +{% if socialaccount_providers %}

{% blocktrans with site.name as site_name %}Please sign in with one of your existing third party accounts. Or, sign up for a {{site_name}} account and sign in below:{% endblocktrans %}

diff --git a/gnuviechadmin/templates/socialaccount/snippets/provider_list.html b/gnuviechadmin/templates/socialaccount/snippets/provider_list.html index 238fbd1..ad23f55 100644 --- a/gnuviechadmin/templates/socialaccount/snippets/provider_list.html +++ b/gnuviechadmin/templates/socialaccount/snippets/provider_list.html @@ -1,6 +1,7 @@ {% load socialaccount %} -{% for provider in socialaccount.providers %} +{% get_providers as socialaccount_providers %} +{% for provider in socialaccount_providers %} {% if provider.id == "openid" %} {% for brand in provider.get_brands %}
  • diff --git a/gnuviechadmin/userdbs/urls.py b/gnuviechadmin/userdbs/urls.py index c31cf4d..6aee543 100644 --- a/gnuviechadmin/userdbs/urls.py +++ b/gnuviechadmin/userdbs/urls.py @@ -4,7 +4,7 @@ This module defines the URL patterns for user database views. """ from __future__ import absolute_import, unicode_literals -from django.conf.urls import patterns, url +from django.conf.urls import url from .views import ( AddUserDatabase, @@ -12,12 +12,11 @@ from .views import ( DeleteUserDatabase, ) -urlpatterns = patterns( - '', +urlpatterns = [ url(r'^(?P\d+)/create$', AddUserDatabase.as_view(), name='add_userdatabase'), url(r'^(?P\d+)/(?P[\w0-9]+)/setpassword', ChangeDatabaseUserPassword.as_view(), name='change_dbuser_password'), url(r'^(?P\d+)/(?P[\w0-9]+)/delete', DeleteUserDatabase.as_view(), name='delete_userdatabase'), -) +] diff --git a/gnuviechadmin/websites/urls.py b/gnuviechadmin/websites/urls.py index 4bcd5e0..1fba405 100644 --- a/gnuviechadmin/websites/urls.py +++ b/gnuviechadmin/websites/urls.py @@ -4,7 +4,7 @@ This module defines the URL patterns for website related views. """ from __future__ import absolute_import, unicode_literals -from django.conf.urls import patterns, url +from django.conf.urls import url from .views import ( AddWebsite, @@ -12,10 +12,9 @@ from .views import ( ) -urlpatterns = patterns( - '', +urlpatterns = [ url(r'^(?P\d+)/(?P[\w0-9.-]+)/create$', AddWebsite.as_view(), name='add_website'), url(r'^(?P\d+)/(?P[\w0-9.-]+)/(?P\d+)/delete$', DeleteWebsite.as_view(), name='delete_website'), -) +] diff --git a/requirements/base.txt b/requirements/base.txt index 9fb024f..8fc1b75 100644 --- a/requirements/base.txt +++ b/requirements/base.txt @@ -1,19 +1,20 @@ -Django==1.8.6 +Django==1.9 +curtsies==0.1.21 bpython==0.14.2 django-braces==1.8.1 -django-model-utils==2.3.1 +django-model-utils==2.4 django-crispy-forms==1.5.2 logutils==0.3.3 psycopg2==2.6.1 passlib==1.6.5 -celery==3.1.18 -billiard==3.3.0.20 -kombu==3.0.27 -pytz==2015.6 +celery==3.1.19 +billiard==3.3.0.22 +kombu==3.0.32 +pytz==2015.7 pyaml==15.8.2 -django-allauth==0.21.0 +django-allauth==0.24.1 oauthlib==1.0.3 python-openid==2.2.5 -requests==2.5.1 -requests-oauthlib==0.5.0 -simplejson==3.8.0 +requests==2.9.0 +requests-oauthlib==0.6.0 +simplejson==3.8.1 diff --git a/requirements/local.txt b/requirements/local.txt index e2bf154..a049baf 100644 --- a/requirements/local.txt +++ b/requirements/local.txt @@ -1,7 +1,7 @@ # Local development dependencies go here -r test.txt django-debug-toolbar==1.4 -sqlparse==0.1.16 -Sphinx==1.3.1 +sqlparse==0.1.18 +Sphinx==1.3.3 snowballstemmer==1.2.0 -releases==0.7.0 +releases==1.0.0 diff --git a/requirements/test.txt b/requirements/test.txt index 96baf85..67a8663 100644 --- a/requirements/test.txt +++ b/requirements/test.txt @@ -1,4 +1,4 @@ # Test dependencies go here. -r base.txt -coverage==4.0 +coverage==4.0.3 mock==1.3.0