Merge branch 'master' into feature/3517/ssh_keys
This commit is contained in:
		
				commit
				
					
						a2f705f012
					
				
			
		
					 14 changed files with 170 additions and 109 deletions
				
			
		
							
								
								
									
										20
									
								
								Changelog
									
										
									
									
									
								
							
							
						
						
									
										20
									
								
								Changelog
									
										
									
									
									
								
							|  | @ -1,20 +1,24 @@ | ||||||
|  | 1.0.22: 2017-07-30 | ||||||
|  |     * #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 | ||||||
|  |     * #3603: [datacenterlight] Removed navbar language option dropdown | ||||||
|  |     * #3629: [datacenterlight] Fixed navbar language switching bug | ||||||
| 1.0.21: 2017-07-21 | 1.0.21: 2017-07-21 | ||||||
|     * #3591: [datacenterlight, payment] Fixed card holder name to appear on Confirm Order page |     * #3591: [datacenterlight, payment] Fixed card holder name to appear on Confirm Order page | ||||||
|     * #3558: [datacenterlight] Changed font family and background color for header  |     * #3558: [datacenterlight] Changed font family and background color for header  | ||||||
|     * #3581: [datacenterlight] Lead font weight change |     * #3581: [datacenterlight] Lead font weight change | ||||||
|     * #3584: [all] Add flag is_superuser=True in MyUserManager |     * #3584: [all] Add flag is_superuser=True in MyUserManager | ||||||
| 1.0.20: 2017-07-18 | 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 |     * #3590: [digitalglarus] Added impact hub partner logo and text in digitalglarus | ||||||
|              [datacenterlight, hosting] Fixed overlapping of date and billing address in the mobile view |              [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 |     * #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 |     * #3568: [all] Improved the way of adding Google analytics (ga) code. We now have ga code for ungleich, digitalglarus, blog, hosting | ||||||
|              and datacenterlight |              and datacenterlight | ||||||
|     * #3564: [datacenterlight] Improved calculator form validations, both client side and server side |     * #3564: [datacenterlight] Improved calculator form validations, both client side and server side | ||||||
|  |  | ||||||
|  | @ -4,9 +4,9 @@ from .views import IndexView, LoginView, ContactView | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| urlpatterns = [ | urlpatterns = [ | ||||||
|     url(r'^/?$', IndexView.as_view(), name='index'), |     url(r'^$', IndexView.as_view(), name='index'), | ||||||
|     url(r'/login/', LoginView.as_view(), name='login'), |     url(r'login/', LoginView.as_view(), name='login'), | ||||||
|     url(r'/contact', ContactView.as_view(), name='contact'), |     url(r'contact', ContactView.as_view(), name='contact'), | ||||||
|     #     url(r'^/beta-program/?$', BetaProgramView.as_view(), name='beta'), |     #     url(r'^/beta-program/?$', BetaProgramView.as_view(), name='beta'), | ||||||
|     #     url(r'^/landing/?$', LandingProgramView.as_view(), name='landing'), |     #     url(r'^/landing/?$', LandingProgramView.as_view(), name='landing'), | ||||||
| ] | ] | ||||||
|  |  | ||||||
|  | @ -156,6 +156,14 @@ h6 { | ||||||
|     background-color: transparent; |     background-color: transparent; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | .navbar-transparent .navbar-nav>li>.on-hover-border { | ||||||
|  | 	transition: all 0.3s linear; | ||||||
|  | 	box-shadow: none; | ||||||
|  | } | ||||||
|  | .navbar-transparent .navbar-nav>li>.on-hover-border:hover { | ||||||
|  | 	box-shadow: 0 0 0 1px #eee; | ||||||
|  | 	border-radius: 5px; | ||||||
|  | } | ||||||
| .navbar-default .btn-link { | .navbar-default .btn-link { | ||||||
|     box-shadow: none; |     box-shadow: none; | ||||||
| } | } | ||||||
|  | @ -196,28 +204,46 @@ h6 { | ||||||
|     margin-right: 5px; |     margin-right: 5px; | ||||||
|     font-family: 'Lato', sans-serif; |     font-family: 'Lato', sans-serif; | ||||||
| } | } | ||||||
| 
 |  | ||||||
| .nav-language .drop-language{ | .nav-language .drop-language{ | ||||||
|     position: absolute; |     /*position: absolute;*/ | ||||||
|     top: 45px; |     top: 45px; | ||||||
|     left: -8px; |     left: auto !important; | ||||||
|     background: #fff; |     /*     background: #fff; */ | ||||||
|     width: 100px; |     width: 100px; | ||||||
|  |     min-width: 100px; | ||||||
|     height: 40px; |     height: 40px; | ||||||
|     padding: 9px 10px; |     padding: 9px 10px; | ||||||
|     -webkit-box-shadow: -8px 13px 31px -8px rgba(77,77,77,1); |     -webkit-box-shadow: -8px 13px 31px -8px rgba(77,77,77,1); | ||||||
|     -moz-box-shadow: -8px 13px 31px -8px rgba(77,77,77,1); |     -moz-box-shadow: -8px 13px 31px -8px rgba(77,77,77,1); | ||||||
|     box-shadow: -8px 13px 31px -8px rgba(77,77,77,1); |     box-shadow: -8px 13px 31px -8px rgba(77,77,77,1); | ||||||
|     display: none; |     /*display: none;*/ | ||||||
|     z-index: 100; |     z-index: 100; | ||||||
|     /* margin-left: 10px; */ |     /* margin-left: 10px; */ | ||||||
|     text-align: center; |     text-align: center; | ||||||
|     border-radius: 4px; |     border-radius: 4px; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | .nav-language .open .drop-language{ | ||||||
|  | 	width: 100px; | ||||||
|  | 	min-width: 100px; | ||||||
|  | } | ||||||
|  | 
 | ||||||
| .nav-language .drop-language a{ | .nav-language .drop-language a{ | ||||||
|    cursor: pointer; |    cursor: pointer; | ||||||
|     font-family: 'Lato', sans-serif; |    padding: 5px 10px !important; | ||||||
|  |    font-family: 'Lato-Light', sans-serif; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | /* Show the dropdown menu on hover */ | ||||||
|  | @media (min-width: 769px) { | ||||||
|  | 	.nav-language .dropdown:hover .dropdown-menu { | ||||||
|  | 		display: block; | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  | @media (max-width: 767px){ | ||||||
|  | 	.nav-language .open .dropdown-menu>li>a { | ||||||
|  |     	line-height: 1.42857143; | ||||||
|  | 	} | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| .navbar-transparent .nav-language .drop-language{ | .navbar-transparent .nav-language .drop-language{ | ||||||
|  | @ -227,13 +253,12 @@ h6 { | ||||||
| 
 | 
 | ||||||
| .navbar-transparent .nav-language .drop-language a { | .navbar-transparent .nav-language .drop-language a { | ||||||
|     color: #fff; |     color: #fff; | ||||||
|  |     padding: 5px 10px !important; | ||||||
|     font-family: 'Lato-Light', sans-serif; |     font-family: 'Lato-Light', sans-serif; | ||||||
| } | } | ||||||
| 
 | /* .nav-language:hover .drop-language{ | ||||||
| .nav-language:hover .drop-language { |  | ||||||
|     display: block; |     display: block; | ||||||
| } | } */ | ||||||
| 
 |  | ||||||
| .intro-header { | .intro-header { | ||||||
|     height: 100vh; |     height: 100vh; | ||||||
|     text-align: center; |     text-align: center; | ||||||
|  | @ -1189,7 +1214,7 @@ tech-sub-sec h2 { | ||||||
|         color: #777; |         color: #777; | ||||||
|     } |     } | ||||||
|     .nav-language:hover{ |     .nav-language:hover{ | ||||||
|         height: 80px; |         /*height: 80px;*/ | ||||||
|     } |     } | ||||||
|     .navbar-transparent .nav-language .select-language { |     .navbar-transparent .nav-language .select-language { | ||||||
|         color: #777; |         color: #777; | ||||||
|  |  | ||||||
|  | @ -91,16 +91,12 @@ | ||||||
|             var href = $(this).attr('data-url'); |             var href = $(this).attr('data-url'); | ||||||
|             $('.navbar-collapse').removeClass('in'); |             $('.navbar-collapse').removeClass('in'); | ||||||
|             $('.navbar-collapse').addClass('collapsing'); |             $('.navbar-collapse').addClass('collapsing'); | ||||||
|             var url = window.location.pathname; |             if ($(href).length) { | ||||||
|             var urlSplit = url.split('/'); |  | ||||||
|             if (urlSplit.length === 3 && urlSplit[2] === 'datacenterlight') { |  | ||||||
|                 $('html, body').animate({ |                 $('html, body').animate({ | ||||||
|                     scrollTop: $(href).offset().top |                     scrollTop: $(href).offset().top | ||||||
|                 }, 1000); |                 }, 1000); | ||||||
|             } else { |             } else { | ||||||
|                 var allUrl = window.location.href; |                 window.location.href = '/datacenterlight' + href; | ||||||
|                 var redirect = allUrl.split('whydatacenterlight') |  | ||||||
|                 window.location.href = '/en-us/datacenterlight' + href; |  | ||||||
|             } |             } | ||||||
|         }); |         }); | ||||||
|     } |     } | ||||||
|  |  | ||||||
|  | @ -1,6 +1,4 @@ | ||||||
| {% load staticfiles i18n%} | {% load staticfiles i18n%} {% get_current_language as LANGUAGE_CODE %} {% load custom_tags %} | ||||||
| {% get_current_language as LANGUAGE_CODE %} |  | ||||||
| {% load custom_tags %} |  | ||||||
| <nav class="navbar navbar-default navbar-fixed-top topnav"> | <nav class="navbar navbar-default navbar-fixed-top topnav"> | ||||||
|   <div class="topnav"> |   <div class="topnav"> | ||||||
|             <!-- Brand and toggle get grouped for better mobile display --> |             <!-- Brand and toggle get grouped for better mobile display --> | ||||||
|  | @ -33,14 +31,25 @@ | ||||||
|             </ul> |             </ul> | ||||||
|           </li> |           </li> | ||||||
|     			<li> |     			<li> | ||||||
| 				<a href="{% url 'datacenterlight:index' %}/whydatacenterlight" >{% trans "Why Data Center Light?" %}</a> |     				<a href="{% url 'datacenterlight:whydatacenterlight' %}" >{% trans "Why Data Center Light?" %}</a> | ||||||
|     			</li> |     			</li> | ||||||
|     			<li> |     			<li> | ||||||
|     				<a class="url" href="{% url 'datacenterlight:index' %}#contact" data-url="#contact"  >{% trans "Contact" %}</a> |     				<a class="url" href="{% url 'datacenterlight:index' %}#contact" data-url="#contact"  >{% trans "Contact" %}</a> | ||||||
|     			</li> |     			</li> | ||||||
|   			{% endif %} |   			{% endif %} | ||||||
|  | 
 | ||||||
|  |         <li> | ||||||
|  |           {% if LANGUAGE_CODE == 'en-us'%} | ||||||
|  |             <a class="on-hover-border" href="{% change_lang 'de' %}">Deutsch  <i class="fa fa-globe" aria-hidden="true"></i></a> | ||||||
|  |           {% else %} | ||||||
|  |             <a class="on-hover-border" href="{% change_lang 'en-us' %}">English  <i class="fa fa-globe" aria-hidden="true"></i></a> | ||||||
|  |           {% endif %} | ||||||
|  |         </li> | ||||||
|  |         {% comment %} | ||||||
|  |         <!-- to be used when more than one option for language --> | ||||||
|         <li class="nav-language"> |         <li class="nav-language"> | ||||||
| 				<div class="select-language"> |           <div class="dropdown"> | ||||||
|  |             <div class="dropdown-toggle select-language" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false"> | ||||||
|               {% if LANGUAGE_CODE == 'en-us'%} |               {% if LANGUAGE_CODE == 'en-us'%} | ||||||
|                 <span>English</span> |                 <span>English</span> | ||||||
|               {% else %} |               {% else %} | ||||||
|  | @ -48,18 +57,18 @@ | ||||||
|               {% endif %} |               {% endif %} | ||||||
|               <i class="fa fa-globe" aria-hidden="true"></i> |               <i class="fa fa-globe" aria-hidden="true"></i> | ||||||
|             </div> |             </div> | ||||||
| 
 |             <ul class="dropdown-menu drop-language dropdown-menu-right"> | ||||||
| 				<div class="drop-language"> |  | ||||||
|               {% if LANGUAGE_CODE == 'en-us'%} |               {% if LANGUAGE_CODE == 'en-us'%} | ||||||
| 				<a href="{% change_lang 'de' %}">Deutsch</a> |                 <li><a class="url" href="{% change_lang 'de' %}">Deutsch</a></li> | ||||||
|               {% else %} |               {% else %} | ||||||
| 				<a href="{% change_lang 'en-us' %}" >English</a> |                 <li><a class="url" href="{% change_lang 'en-us' %}">English</a></li> | ||||||
|               {% endif %} |               {% endif %} | ||||||
| 				</div> |  | ||||||
| 
 |  | ||||||
| 			</li> |  | ||||||
|             </ul> |             </ul> | ||||||
|   </div><!-- /.navbar-collapse --> |  | ||||||
|           </div> |           </div> | ||||||
|  |         </li> | ||||||
|  |         {% endcomment %} | ||||||
|  |       </ul> | ||||||
|  |     </div> | ||||||
|  |     <!-- /.navbar-collapse --> | ||||||
|   </div> |   </div> | ||||||
| </nav> | </nav> | ||||||
|  | @ -5,13 +5,13 @@ from .views import IndexView, BetaProgramView, LandingProgramView, BetaAccessVie | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| urlpatterns = [ | urlpatterns = [ | ||||||
|     url(r'^/?$', IndexView.as_view(), name='index'), |     url(r'^$', IndexView.as_view(), name='index'), | ||||||
|     url(r'^/whydatacenterlight/?$', WhyDataCenterLightView.as_view(), name='whydatacenterlight'), |     url(r'^whydatacenterlight/?$', WhyDataCenterLightView.as_view(), name='whydatacenterlight'), | ||||||
|     url(r'^/beta-program/?$', BetaProgramView.as_view(), name='beta'), |     url(r'^beta-program/?$', BetaProgramView.as_view(), name='beta'), | ||||||
|     url(r'^/landing/?$', LandingProgramView.as_view(), name='landing'), |     url(r'^landing/?$', LandingProgramView.as_view(), name='landing'), | ||||||
|     url(r'^/pricing/?$', PricingView.as_view(), name='pricing'), |     url(r'^pricing/?$', PricingView.as_view(), name='pricing'), | ||||||
|     url(r'^/payment/?$', PaymentOrderView.as_view(), name='payment'), |     url(r'^payment/?$', PaymentOrderView.as_view(), name='payment'), | ||||||
|     url(r'^/order-confirmation/?$', OrderConfirmationView.as_view(), name='order_confirmation'), |     url(r'^order-confirmation/?$', OrderConfirmationView.as_view(), name='order_confirmation'), | ||||||
|     url(r'^/order-success/?$', SuccessView.as_view(), name='order_success'), |     url(r'^order-success/?$', SuccessView.as_view(), name='order_success'), | ||||||
|     url(r'^/beta_access?$', BetaAccessView.as_view(), name='beta_access'), |     url(r'^beta_access?$', BetaAccessView.as_view(), name='beta_access'), | ||||||
| ] | ] | ||||||
|  |  | ||||||
|  | @ -1,5 +1,6 @@ | ||||||
| from django.conf.urls import url | from django.conf.urls import url | ||||||
| from django.utils.translation import ugettext_lazy as _ | from django.utils.translation import ugettext_lazy as _ | ||||||
|  | from django.contrib.auth import views as auth_views | ||||||
| 
 | 
 | ||||||
| from . import views | from . import views | ||||||
| from .views import ContactView, IndexView, HistoryView, LoginView, SignupView,\ | from .views import ContactView, IndexView, HistoryView, LoginView, SignupView,\ | ||||||
|  | @ -20,7 +21,7 @@ urlpatterns = [ | ||||||
|     url(_(r'contact/?$'), ContactView.as_view(), name='contact'), |     url(_(r'contact/?$'), ContactView.as_view(), name='contact'), | ||||||
|     url(_(r'login/?$'), LoginView.as_view(), name='login'), |     url(_(r'login/?$'), LoginView.as_view(), name='login'), | ||||||
|     url(_(r'signup/?$'), SignupView.as_view(), name='signup'), |     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'), |         {'next_page': '/digitalglarus/login?logged_out=true'}, name='logout'), | ||||||
|     url(r'reset-password/?$', PasswordResetView.as_view(), name='reset_password'), |     url(r'reset-password/?$', PasswordResetView.as_view(), name='reset_password'), | ||||||
|     url(r'reset-password-confirm/(?P<uidb64>[0-9A-Za-z]+)-(?P<token>.+)/$', |     url(r'reset-password-confirm/(?P<uidb64>[0-9A-Za-z]+)-(?P<token>.+)/$', | ||||||
|  |  | ||||||
|  | @ -199,13 +199,11 @@ DATABASES = { | ||||||
|     } |     } | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| 
 |  | ||||||
| AUTHENTICATION_BACKENDS = ( | AUTHENTICATION_BACKENDS = ( | ||||||
|     'guardian.backends.ObjectPermissionBackend', |     'guardian.backends.ObjectPermissionBackend', | ||||||
|     'django.contrib.auth.backends.ModelBackend', |     'django.contrib.auth.backends.ModelBackend', | ||||||
| ) | ) | ||||||
| 
 | 
 | ||||||
| 
 |  | ||||||
| # Internationalization | # Internationalization | ||||||
| # https://docs.djangoproject.com/en/1.7/topics/i18n/ | # 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'},)} | PARLER_LANGUAGES = {1: ({'code': 'en-us'}, {'code': 'de'},)} | ||||||
| AUTH_USER_MODEL = 'membership.CustomUser' | AUTH_USER_MODEL = 'membership.CustomUser' | ||||||
| 
 | 
 | ||||||
| 
 |  | ||||||
| # PAYMENT | # PAYMENT | ||||||
| 
 | 
 | ||||||
| STRIPE_DESCRIPTION_ON_PAYMENT = "Payment for ungleich GmbH services" | 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' | ANONYMOUS_USER_NAME = 'anonymous@ungleich.ch' | ||||||
| GUARDIAN_GET_INIT_ANONYMOUS_USER = 'membership.models.get_anonymous_user_instance' | GUARDIAN_GET_INIT_ANONYMOUS_USER = 'membership.models.get_anonymous_user_instance' | ||||||
| 
 | 
 | ||||||
| 
 |  | ||||||
| ############################################# | ############################################# | ||||||
| # configurations for opennebula-integration # | # configurations for opennebula-integration # | ||||||
| ############################################# | ############################################# | ||||||
|  | @ -508,7 +504,6 @@ OPENNEBULA_PORT = env('OPENNEBULA_PORT') | ||||||
| # default value is /RPC2 | # default value is /RPC2 | ||||||
| OPENNEBULA_ENDPOINT = env('OPENNEBULA_ENDPOINT') | OPENNEBULA_ENDPOINT = env('OPENNEBULA_ENDPOINT') | ||||||
| 
 | 
 | ||||||
| 
 |  | ||||||
| # dcl email configurations | # dcl email configurations | ||||||
| DCL_TEXT = env('DCL_TEXT') | DCL_TEXT = env('DCL_TEXT') | ||||||
| DCL_SUPPORT_FROM_ADDRESS = env('DCL_SUPPORT_FROM_ADDRESS') | DCL_SUPPORT_FROM_ADDRESS = env('DCL_SUPPORT_FROM_ADDRESS') | ||||||
|  | @ -526,6 +521,28 @@ GOOGLE_ANALYTICS_PROPERTY_IDS = { | ||||||
|     'dynamicweb-staging.ungleich.ch': 'staging' |     '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') | DEBUG = bool_env('DEBUG') | ||||||
| 
 | 
 | ||||||
| if DEBUG: | if DEBUG: | ||||||
|  |  | ||||||
|  | @ -1,8 +1,8 @@ | ||||||
| from django.conf.urls import patterns, include, url | from django.conf.urls import include, url | ||||||
| from django.contrib import admin | from django.contrib import admin | ||||||
| # deprecated in version 1.8 |  | ||||||
| from django.conf.urls.i18n import i18n_patterns | from django.conf.urls.i18n import i18n_patterns | ||||||
| from django.conf.urls.static import static | from django.conf.urls.static import static | ||||||
|  | from django.views import i18n, static as static_view | ||||||
| 
 | 
 | ||||||
| from django.conf import settings | from django.conf import settings | ||||||
| from hosting.views import RailsHostingView, DjangoHostingView, NodeJSHostingView | 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'^nosystemd/', include('nosystemd.urls', namespace="nosystemd")), | ||||||
|                url(r'^taggit_autosuggest/', include('taggit_autosuggest.urls')), |                url(r'^taggit_autosuggest/', include('taggit_autosuggest.urls')), | ||||||
|                url(r'^jsi18n/(?P<packages>\S+?)/$', |                url(r'^jsi18n/(?P<packages>\S+?)/$', | ||||||
|                    'django.views.i18n.javascript_catalog'), |                    i18n.javascript_catalog), | ||||||
|                ] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) |                ] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) | ||||||
| 
 | 
 | ||||||
| # note the django CMS URLs included via i18n_patterns | # note the django CMS URLs included via i18n_patterns | ||||||
| urlpatterns += i18n_patterns('', | urlpatterns += i18n_patterns( | ||||||
|                              url(r'^/?$', LandingView.as_view()), |                              url(r'^$', LandingView.as_view()), | ||||||
|                              url(r'^admin/', include(admin.site.urls)), |                              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(r'^hosting/', RedirectView.as_view( | ||||||
|                                  url=reverse_lazy('hosting:login')), name='redirect_hosting_login'), |                                  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'^membership/', include(membership_urls)), | ||||||
|                              url(r'^digitalglarus/', include('digitalglarus.urls', |                              url(r'^digitalglarus/', include('digitalglarus.urls', | ||||||
|                                                              namespace="digitalglarus")), |                                                              namespace="digitalglarus")), | ||||||
|  | @ -43,11 +43,11 @@ urlpatterns += i18n_patterns('', | ||||||
|                              url(r'^blog/', include('ungleich.urls', namespace='ungleich')), |                              url(r'^blog/', include('ungleich.urls', namespace='ungleich')), | ||||||
|                              url(r'^', include('cms.urls')) |                              url(r'^', include('cms.urls')) | ||||||
|                              ) |                              ) | ||||||
| urlpatterns += patterns('', | urlpatterns += [ | ||||||
|                         url(r'^media/(?P<path>.*)$', |                         url(r'^media/(?P<path>.*)$', | ||||||
|                             'django.views.static.serve', { |                             static_view.serve, { | ||||||
|                                 'document_root': settings.MEDIA_ROOT, |                                 'document_root': settings.MEDIA_ROOT, | ||||||
|                             }), |                             }), | ||||||
|                         ) |                         ] | ||||||
| if settings.DEBUG: | 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; |         width: 100% !important; | ||||||
|     } |     } | ||||||
| } | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | .footer-light a:hover, .footer-light a:focus, .footer-light a:active { | ||||||
|  |     color: #ddd; | ||||||
|  | } | ||||||
|  | @ -119,7 +119,9 @@ | ||||||
|         </div> |         </div> | ||||||
|     </footer> |     </footer> | ||||||
|     {% else %} |     {% else %} | ||||||
|  |         <div class="footer-light"> | ||||||
|             {% include "datacenterlight/includes/_footer.html" %} |             {% include "datacenterlight/includes/_footer.html" %} | ||||||
|  |         </div> | ||||||
|     {% endif %} |     {% endif %} | ||||||
|     <!-- jQuery --> |     <!-- jQuery --> | ||||||
|     <script src="{% static 'hosting/js/jquery.js' %}"></script> |     <script src="{% static 'hosting/js/jquery.js' %}"></script> | ||||||
|  |  | ||||||
|  | @ -1,4 +1,5 @@ | ||||||
| from django.conf.urls import url | from django.conf.urls import url | ||||||
|  | from django.contrib.auth import views as auth_views | ||||||
| 
 | 
 | ||||||
| from .views import DjangoHostingView, RailsHostingView, PaymentVMView,\ | from .views import DjangoHostingView, RailsHostingView, PaymentVMView,\ | ||||||
|     NodeJSHostingView, LoginView, SignupView, SignupValidateView, SignupValidatedView, IndexView, \ |     NodeJSHostingView, LoginView, SignupView, SignupValidateView, SignupValidatedView, IndexView, \ | ||||||
|  | @ -41,7 +42,7 @@ urlpatterns = [ | ||||||
|     url(r'reset-password/?$', PasswordResetView.as_view(), name='reset_password'), |     url(r'reset-password/?$', PasswordResetView.as_view(), name='reset_password'), | ||||||
|     url(r'reset-password-confirm/(?P<uidb64>[0-9A-Za-z]+)-(?P<token>.+)/$', |     url(r'reset-password-confirm/(?P<uidb64>[0-9A-Za-z]+)-(?P<token>.+)/$', | ||||||
|         PasswordResetConfirmView.as_view(), name='reset_password_confirm'), |         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'), |         {'next_page': '/hosting/login?logged_out=true'}, name='logout'), | ||||||
|     url(r'^validate/(?P<validate_slug>.*)/$', SignupValidatedView.as_view(), name='validate') |     url(r'^validate/(?P<validate_slug>.*)/$', SignupValidatedView.as_view(), name='validate') | ||||||
| ] | ] | ||||||
|  |  | ||||||
|  | @ -1,4 +1,5 @@ | ||||||
| from django.conf.urls import url | from django.conf.urls import url | ||||||
|  | from django.contrib.auth import views as auth_views | ||||||
| 
 | 
 | ||||||
| from .views import LandingView, LoginView, SignupView, PasswordResetView,\ | from .views import LandingView, LoginView, SignupView, PasswordResetView,\ | ||||||
|     PasswordResetConfirmView, DonationView, DonationDetailView, ChangeDonatorStatusDetailView,\ |     PasswordResetConfirmView, DonationView, DonationDetailView, ChangeDonatorStatusDetailView,\ | ||||||
|  | @ -8,7 +9,7 @@ urlpatterns = [ | ||||||
|     url(r'^$', LandingView.as_view(), name='landing'), |     url(r'^$', LandingView.as_view(), name='landing'), | ||||||
|     url(r'^login/?$', LoginView.as_view(), name='login'), |     url(r'^login/?$', LoginView.as_view(), name='login'), | ||||||
|     url(r'^signup/?$', SignupView.as_view(), name='signup'), |     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'), |         {'next_page': '/nosystemd/login?logged_out=true'}, name='logout'), | ||||||
|     url(r'reset-password/?$', PasswordResetView.as_view(), name='reset_password'), |     url(r'reset-password/?$', PasswordResetView.as_view(), name='reset_password'), | ||||||
|     url(r'reset-password-confirm/(?P<uidb64>[0-9A-Za-z]+)-(?P<token>.+)/$', |     url(r'reset-password-confirm/(?P<uidb64>[0-9A-Za-z]+)-(?P<token>.+)/$', | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue