Merge branch 'master' into task/3553
This commit is contained in:
		
				commit
				
					
						6b77d2eaff
					
				
			
		
					 11 changed files with 73 additions and 44 deletions
				
			
		
							
								
								
									
										18
									
								
								Changelog
									
										
									
									
									
								
							
							
						
						
									
										18
									
								
								Changelog
									
										
									
									
									
								
							| 
						 | 
				
			
			@ -1,20 +1,22 @@
 | 
			
		|||
1.0.22: 2017-07-28
 | 
			
		||||
    * #3593: [datacenterlight] Removed underbars between social icons in index
 | 
			
		||||
    * #3509: [datacenterlight, hosting] Made navbar transparent and removed mobile navbar bug in login/signup/reset-password
 | 
			
		||||
    * #3592: [datacenterlight] Changed “Order Now” button text to “Continue/weiter” 
 | 
			
		||||
    * #3579: [datacenterlight] Removed “blinks” on click on navbar menus
 | 
			
		||||
    * #3577: [datacenterlight] Added backend CPU, RAM, SSD fields validation
 | 
			
		||||
    * #3615: [datacenterlight] Decoupled landing VM templates from OpenNebula
 | 
			
		||||
    * #3604: [datacenterlight, hosting] Font colour change for better visibility in signup/login/password request footer links
 | 
			
		||||
             [all] Introduced ENABLE_DEBUG_LOGGING
 | 
			
		||||
    * #3542: [datacenterlight, hosting] Fixed warning messages and deprecated url
 | 
			
		||||
1.0.21: 2017-07-21
 | 
			
		||||
    * #3591: [datacenterlight, payment] Fixed card holder name to appear on Confirm Order page
 | 
			
		||||
    * #3558: [datacenterlight] Changed font family and background color for header 
 | 
			
		||||
    * #3581: [datacenterlight] Lead font weight change
 | 
			
		||||
    * #3584: [all] Add flag is_superuser=True in MyUserManager
 | 
			
		||||
1.0.20: 2017-07-18
 | 
			
		||||
    * #3590: [digitalglarus] Added impact hub partner logo and text in digitalglarus
 | 
			
		||||
             [datacenterlight, hosting] Fixed overlapping of date and billing address in the mobile view
 | 
			
		||||
    * #3580: [datacenterlight, hosting] Introduced newly designed payment page. Cust1.0.20: 2017-07-18
 | 
			
		||||
    * #3590: [digitalglarus] Added impact hub partner logo and text in digitalglarus
 | 
			
		||||
             [datacenterlight, hosting] Fixed overlapping of date and billing address in the mobile view
 | 
			
		||||
    * #3580: [datacenterlight, hosting] Introduced newly designed payment page. Customized Stripe credit card input fields
 | 
			
		||||
    * #3568: [all] Improved the way of adding Google analytics (ga) code. We now have ga code for ungleich, digitalglarus, blog, hosting
 | 
			
		||||
             and datacenterlight
 | 
			
		||||
    * #3564: [datacenterlight] Improved calculator form validations, both client side and server side
 | 
			
		||||
             [datacenterlight] Changed "Place order" button to "Submit" in the payment page
 | 
			
		||||
    * #3540: [datacenterlight] Improved credit card section with Stripe clarification texts and corresponding DE translationsomized Stripe credit card input fields
 | 
			
		||||
    * #3568: [all] Improved the way of adding Google analytics (ga) code. We now have ga code for ungleich, digitalglarus, blog, hosting
 | 
			
		||||
             and datacenterlight
 | 
			
		||||
    * #3564: [datacenterlight] Improved calculator form validations, both client side and server side
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -4,9 +4,9 @@ from .views import IndexView, LoginView, ContactView
 | 
			
		|||
 | 
			
		||||
 | 
			
		||||
urlpatterns = [
 | 
			
		||||
    url(r'^/?$', IndexView.as_view(), name='index'),
 | 
			
		||||
    url(r'/login/', LoginView.as_view(), name='login'),
 | 
			
		||||
    url(r'/contact', ContactView.as_view(), name='contact'),
 | 
			
		||||
    url(r'^$', IndexView.as_view(), name='index'),
 | 
			
		||||
    url(r'login/', LoginView.as_view(), name='login'),
 | 
			
		||||
    url(r'contact', ContactView.as_view(), name='contact'),
 | 
			
		||||
    #     url(r'^/beta-program/?$', BetaProgramView.as_view(), name='beta'),
 | 
			
		||||
    #     url(r'^/landing/?$', LandingProgramView.as_view(), name='landing'),
 | 
			
		||||
]
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -5,13 +5,13 @@ from .views import IndexView, BetaProgramView, LandingProgramView, BetaAccessVie
 | 
			
		|||
 | 
			
		||||
 | 
			
		||||
urlpatterns = [
 | 
			
		||||
    url(r'^/?$', IndexView.as_view(), name='index'),
 | 
			
		||||
    url(r'^/whydatacenterlight/?$', WhyDataCenterLightView.as_view(), name='whydatacenterlight'),
 | 
			
		||||
    url(r'^/beta-program/?$', BetaProgramView.as_view(), name='beta'),
 | 
			
		||||
    url(r'^/landing/?$', LandingProgramView.as_view(), name='landing'),
 | 
			
		||||
    url(r'^/pricing/?$', PricingView.as_view(), name='pricing'),
 | 
			
		||||
    url(r'^/payment/?$', PaymentOrderView.as_view(), name='payment'),
 | 
			
		||||
    url(r'^/order-confirmation/?$', OrderConfirmationView.as_view(), name='order_confirmation'),
 | 
			
		||||
    url(r'^/order-success/?$', SuccessView.as_view(), name='order_success'),
 | 
			
		||||
    url(r'^/beta_access?$', BetaAccessView.as_view(), name='beta_access'),
 | 
			
		||||
    url(r'^$', IndexView.as_view(), name='index'),
 | 
			
		||||
    url(r'^whydatacenterlight/?$', WhyDataCenterLightView.as_view(), name='whydatacenterlight'),
 | 
			
		||||
    url(r'^beta-program/?$', BetaProgramView.as_view(), name='beta'),
 | 
			
		||||
    url(r'^landing/?$', LandingProgramView.as_view(), name='landing'),
 | 
			
		||||
    url(r'^pricing/?$', PricingView.as_view(), name='pricing'),
 | 
			
		||||
    url(r'^payment/?$', PaymentOrderView.as_view(), name='payment'),
 | 
			
		||||
    url(r'^order-confirmation/?$', OrderConfirmationView.as_view(), name='order_confirmation'),
 | 
			
		||||
    url(r'^order-success/?$', SuccessView.as_view(), name='order_success'),
 | 
			
		||||
    url(r'^beta_access?$', BetaAccessView.as_view(), name='beta_access'),
 | 
			
		||||
]
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,5 +1,6 @@
 | 
			
		|||
from django.conf.urls import url
 | 
			
		||||
from django.utils.translation import ugettext_lazy as _
 | 
			
		||||
from django.contrib.auth import views as auth_views
 | 
			
		||||
 | 
			
		||||
from . import views
 | 
			
		||||
from .views import ContactView, IndexView, HistoryView, LoginView, SignupView,\
 | 
			
		||||
| 
						 | 
				
			
			@ -20,7 +21,7 @@ urlpatterns = [
 | 
			
		|||
    url(_(r'contact/?$'), ContactView.as_view(), name='contact'),
 | 
			
		||||
    url(_(r'login/?$'), LoginView.as_view(), name='login'),
 | 
			
		||||
    url(_(r'signup/?$'), SignupView.as_view(), name='signup'),
 | 
			
		||||
    url(r'^logout/?$', 'django.contrib.auth.views.logout',
 | 
			
		||||
    url(r'^logout/?$', auth_views.logout,
 | 
			
		||||
        {'next_page': '/digitalglarus/login?logged_out=true'}, name='logout'),
 | 
			
		||||
    url(r'reset-password/?$', PasswordResetView.as_view(), name='reset_password'),
 | 
			
		||||
    url(r'reset-password-confirm/(?P<uidb64>[0-9A-Za-z]+)-(?P<token>.+)/$',
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -199,13 +199,11 @@ DATABASES = {
 | 
			
		|||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
AUTHENTICATION_BACKENDS = (
 | 
			
		||||
    'guardian.backends.ObjectPermissionBackend',
 | 
			
		||||
    'django.contrib.auth.backends.ModelBackend',
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# Internationalization
 | 
			
		||||
# https://docs.djangoproject.com/en/1.7/topics/i18n/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -464,7 +462,6 @@ META_USE_SITES = True
 | 
			
		|||
PARLER_LANGUAGES = {1: ({'code': 'en-us'}, {'code': 'de'},)}
 | 
			
		||||
AUTH_USER_MODEL = 'membership.CustomUser'
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# PAYMENT
 | 
			
		||||
 | 
			
		||||
STRIPE_DESCRIPTION_ON_PAYMENT = "Payment for ungleich GmbH services"
 | 
			
		||||
| 
						 | 
				
			
			@ -481,7 +478,6 @@ STRIPE_API_PUBLIC_KEY = env('STRIPE_API_PUBLIC_KEY')
 | 
			
		|||
ANONYMOUS_USER_NAME = 'anonymous@ungleich.ch'
 | 
			
		||||
GUARDIAN_GET_INIT_ANONYMOUS_USER = 'membership.models.get_anonymous_user_instance'
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#############################################
 | 
			
		||||
# configurations for opennebula-integration #
 | 
			
		||||
#############################################
 | 
			
		||||
| 
						 | 
				
			
			@ -508,7 +504,6 @@ OPENNEBULA_PORT = env('OPENNEBULA_PORT')
 | 
			
		|||
# default value is /RPC2
 | 
			
		||||
OPENNEBULA_ENDPOINT = env('OPENNEBULA_ENDPOINT')
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# dcl email configurations
 | 
			
		||||
DCL_TEXT = env('DCL_TEXT')
 | 
			
		||||
DCL_SUPPORT_FROM_ADDRESS = env('DCL_SUPPORT_FROM_ADDRESS')
 | 
			
		||||
| 
						 | 
				
			
			@ -526,9 +521,31 @@ GOOGLE_ANALYTICS_PROPERTY_IDS = {
 | 
			
		|||
    'dynamicweb-staging.ungleich.ch': 'staging'
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
ENABLE_DEBUG_LOGGING = bool_env('ENABLE_DEBUG_LOGGING')
 | 
			
		||||
 | 
			
		||||
if ENABLE_DEBUG_LOGGING:
 | 
			
		||||
    LOGGING = {
 | 
			
		||||
        'version': 1,
 | 
			
		||||
        'disable_existing_loggers': False,
 | 
			
		||||
        'handlers': {
 | 
			
		||||
            'file': {
 | 
			
		||||
                'level': 'DEBUG',
 | 
			
		||||
                'class': 'logging.FileHandler',
 | 
			
		||||
                'filename': "{PROJECT_DIR}/debug.log".format(PROJECT_DIR=PROJECT_DIR),
 | 
			
		||||
            },
 | 
			
		||||
        },
 | 
			
		||||
        'loggers': {
 | 
			
		||||
            'django': {
 | 
			
		||||
                'handlers': ['file'],
 | 
			
		||||
                'level': 'DEBUG',
 | 
			
		||||
                'propagate': True,
 | 
			
		||||
            },
 | 
			
		||||
        },
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
DEBUG = bool_env('DEBUG')
 | 
			
		||||
 | 
			
		||||
if DEBUG:
 | 
			
		||||
    from .local import * # flake8: noqa
 | 
			
		||||
    from .local import *  # flake8: noqa
 | 
			
		||||
else:
 | 
			
		||||
    from .prod import * # flake8: noqa
 | 
			
		||||
    from .prod import *  # flake8: noqa
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,8 +1,8 @@
 | 
			
		|||
from django.conf.urls import patterns, include, url
 | 
			
		||||
from django.conf.urls import include, url
 | 
			
		||||
from django.contrib import admin
 | 
			
		||||
# deprecated in version 1.8
 | 
			
		||||
from django.conf.urls.i18n import i18n_patterns
 | 
			
		||||
from django.conf.urls.static import static
 | 
			
		||||
from django.views import i18n, static as static_view
 | 
			
		||||
 | 
			
		||||
from django.conf import settings
 | 
			
		||||
from hosting.views import RailsHostingView, DjangoHostingView, NodeJSHostingView
 | 
			
		||||
| 
						 | 
				
			
			@ -22,17 +22,17 @@ urlpatterns = [url(r'^index.html$', LandingView.as_view()),
 | 
			
		|||
               url(r'^nosystemd/', include('nosystemd.urls', namespace="nosystemd")),
 | 
			
		||||
               url(r'^taggit_autosuggest/', include('taggit_autosuggest.urls')),
 | 
			
		||||
               url(r'^jsi18n/(?P<packages>\S+?)/$',
 | 
			
		||||
                   'django.views.i18n.javascript_catalog'),
 | 
			
		||||
                   i18n.javascript_catalog),
 | 
			
		||||
               ] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
 | 
			
		||||
 | 
			
		||||
# note the django CMS URLs included via i18n_patterns
 | 
			
		||||
urlpatterns += i18n_patterns('',
 | 
			
		||||
                             url(r'^/?$', LandingView.as_view()),
 | 
			
		||||
urlpatterns += i18n_patterns(
 | 
			
		||||
                             url(r'^$', LandingView.as_view()),
 | 
			
		||||
                             url(r'^admin/', include(admin.site.urls)),
 | 
			
		||||
                             url(r'^datacenterlight', include('datacenterlight.urls', namespace="datacenterlight")),
 | 
			
		||||
                             url(r'^datacenterlight/', include('datacenterlight.urls', namespace="datacenterlight")),
 | 
			
		||||
                             url(r'^hosting/', RedirectView.as_view(
 | 
			
		||||
                                 url=reverse_lazy('hosting:login')), name='redirect_hosting_login'),
 | 
			
		||||
                             url(r'^alplora', include('alplora.urls', namespace="alplora")),
 | 
			
		||||
                             url(r'^alplora/', include('alplora.urls', namespace="alplora")),
 | 
			
		||||
                             url(r'^membership/', include(membership_urls)),
 | 
			
		||||
                             url(r'^digitalglarus/', include('digitalglarus.urls',
 | 
			
		||||
                                                             namespace="digitalglarus")),
 | 
			
		||||
| 
						 | 
				
			
			@ -43,11 +43,11 @@ urlpatterns += i18n_patterns('',
 | 
			
		|||
                             url(r'^blog/', include('ungleich.urls', namespace='ungleich')),
 | 
			
		||||
                             url(r'^', include('cms.urls'))
 | 
			
		||||
                             )
 | 
			
		||||
urlpatterns += patterns('',
 | 
			
		||||
urlpatterns += [
 | 
			
		||||
                        url(r'^media/(?P<path>.*)$',
 | 
			
		||||
                            'django.views.static.serve', {
 | 
			
		||||
                            static_view.serve, {
 | 
			
		||||
                                'document_root': settings.MEDIA_ROOT,
 | 
			
		||||
                            }),
 | 
			
		||||
                        )
 | 
			
		||||
                        ]
 | 
			
		||||
if settings.DEBUG:
 | 
			
		||||
    urlpatterns += patterns('', url(r'^__debug__/', include(debug_toolbar.urls)))
 | 
			
		||||
    urlpatterns += [url(r'^__debug__/', include(debug_toolbar.urls))]
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -714,3 +714,8 @@ a.unlink:hover {
 | 
			
		|||
        width: 100% !important;
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
.footer-light a:hover, .footer-light a:focus, .footer-light a:active {
 | 
			
		||||
    color: #ddd;
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -118,7 +118,9 @@
 | 
			
		|||
        </div>
 | 
			
		||||
    </footer>
 | 
			
		||||
    {% else %}
 | 
			
		||||
        {% include "datacenterlight/includes/_footer.html" %}
 | 
			
		||||
        <div class="footer-light">
 | 
			
		||||
            {% include "datacenterlight/includes/_footer.html" %}
 | 
			
		||||
        </div>
 | 
			
		||||
    {% endif %}
 | 
			
		||||
    <!-- jQuery -->
 | 
			
		||||
    <script src="{% static 'hosting/js/jquery.js' %}"></script>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,5 @@
 | 
			
		|||
from django.conf.urls import url
 | 
			
		||||
from django.contrib.auth import views as auth_views
 | 
			
		||||
 | 
			
		||||
from .views import DjangoHostingView, RailsHostingView, PaymentVMView,\
 | 
			
		||||
    NodeJSHostingView, LoginView, SignupView, SignupValidateView, SignupValidatedView, IndexView, \
 | 
			
		||||
| 
						 | 
				
			
			@ -39,7 +40,7 @@ urlpatterns = [
 | 
			
		|||
    url(r'reset-password/?$', PasswordResetView.as_view(), name='reset_password'),
 | 
			
		||||
    url(r'reset-password-confirm/(?P<uidb64>[0-9A-Za-z]+)-(?P<token>.+)/$',
 | 
			
		||||
        PasswordResetConfirmView.as_view(), name='reset_password_confirm'),
 | 
			
		||||
    url(r'^logout/?$', 'django.contrib.auth.views.logout',
 | 
			
		||||
    url(r'^logout/?$', auth_views.logout,
 | 
			
		||||
        {'next_page': '/hosting/login?logged_out=true'}, name='logout'),
 | 
			
		||||
    url(r'^validate/(?P<validate_slug>.*)/$', SignupValidatedView.as_view(), name='validate')
 | 
			
		||||
]
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,5 @@
 | 
			
		|||
from django.conf.urls import url
 | 
			
		||||
from django.contrib.auth import views as auth_views
 | 
			
		||||
 | 
			
		||||
from .views import LandingView, LoginView, SignupView, PasswordResetView,\
 | 
			
		||||
    PasswordResetConfirmView, DonationView, DonationDetailView, ChangeDonatorStatusDetailView,\
 | 
			
		||||
| 
						 | 
				
			
			@ -8,7 +9,7 @@ urlpatterns = [
 | 
			
		|||
    url(r'^$', LandingView.as_view(), name='landing'),
 | 
			
		||||
    url(r'^login/?$', LoginView.as_view(), name='login'),
 | 
			
		||||
    url(r'^signup/?$', SignupView.as_view(), name='signup'),
 | 
			
		||||
    url(r'^logout/?$', 'django.contrib.auth.views.logout',
 | 
			
		||||
    url(r'^logout/?$', auth_views.logout,
 | 
			
		||||
        {'next_page': '/nosystemd/login?logged_out=true'}, name='logout'),
 | 
			
		||||
    url(r'reset-password/?$', PasswordResetView.as_view(), name='reset_password'),
 | 
			
		||||
    url(r'reset-password-confirm/(?P<uidb64>[0-9A-Za-z]+)-(?P<token>.+)/$',
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue