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 | ||||
|     * #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'), | ||||
| ] | ||||
|  |  | |||
|  | @ -156,6 +156,14 @@ h6 { | |||
|     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 { | ||||
|     box-shadow: none; | ||||
| } | ||||
|  | @ -196,44 +204,61 @@ h6 { | |||
|     margin-right: 5px; | ||||
|     font-family: 'Lato', sans-serif; | ||||
| } | ||||
| 
 | ||||
| .nav-language .drop-language { | ||||
|     position: absolute; | ||||
| .nav-language .drop-language{ | ||||
|     /*position: absolute;*/ | ||||
|     top: 45px; | ||||
|     left: -8px; | ||||
|     background: #fff; | ||||
|     left: auto !important; | ||||
|     /*     background: #fff; */ | ||||
|     width: 100px; | ||||
|     min-width: 100px; | ||||
|     height: 40px; | ||||
|     padding: 9px 10px; | ||||
|     -webkit-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); | ||||
|     display: none; | ||||
|     -webkit-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); | ||||
|     /*display: none;*/ | ||||
|     z-index: 100; | ||||
|     /* margin-left: 10px; */ | ||||
|     text-align: center; | ||||
|     border-radius: 4px; | ||||
| } | ||||
| 
 | ||||
| .nav-language .drop-language a { | ||||
|     cursor: pointer; | ||||
|     font-family: 'Lato', sans-serif; | ||||
| .nav-language .open .drop-language{ | ||||
| 	width: 100px; | ||||
| 	min-width: 100px; | ||||
| } | ||||
| 
 | ||||
| .navbar-transparent .nav-language .drop-language { | ||||
| .nav-language .drop-language a{ | ||||
|    cursor: pointer; | ||||
|    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{ | ||||
|     background: transparent; | ||||
|     border: 1px solid #fff; | ||||
| } | ||||
| 
 | ||||
| .navbar-transparent .nav-language .drop-language a { | ||||
|     color: #fff; | ||||
|     padding: 5px 10px !important; | ||||
|     font-family: 'Lato-Light', sans-serif; | ||||
| } | ||||
| 
 | ||||
| .nav-language:hover .drop-language { | ||||
| /* .nav-language:hover .drop-language{ | ||||
|     display: block; | ||||
| } | ||||
| 
 | ||||
| } */ | ||||
| .intro-header { | ||||
|     height: 100vh; | ||||
|     text-align: center; | ||||
|  | @ -1188,8 +1213,8 @@ tech-sub-sec h2 { | |||
|         font-size: 14px; | ||||
|         color: #777; | ||||
|     } | ||||
|     .nav-language:hover { | ||||
|         height: 80px; | ||||
|     .nav-language:hover{ | ||||
|         /*height: 80px;*/ | ||||
|     } | ||||
|     .navbar-transparent .nav-language .select-language { | ||||
|         color: #777; | ||||
|  |  | |||
|  | @ -91,16 +91,12 @@ | |||
|             var href = $(this).attr('data-url'); | ||||
|             $('.navbar-collapse').removeClass('in'); | ||||
|             $('.navbar-collapse').addClass('collapsing'); | ||||
|             var url = window.location.pathname; | ||||
|             var urlSplit = url.split('/'); | ||||
|             if (urlSplit.length === 3 && urlSplit[2] === 'datacenterlight') { | ||||
|             if ($(href).length) { | ||||
|                 $('html, body').animate({ | ||||
|                     scrollTop: $(href).offset().top | ||||
|                 }, 1000); | ||||
|             } else { | ||||
|                 var allUrl = window.location.href; | ||||
|                 var redirect = allUrl.split('whydatacenterlight') | ||||
|                 window.location.href = '/en-us/datacenterlight' + href; | ||||
|                 window.location.href = '/datacenterlight' + href; | ||||
|             } | ||||
|         }); | ||||
|     } | ||||
|  |  | |||
|  | @ -4,7 +4,7 @@ | |||
|         <div class="container"> | ||||
|             <div class="row"> | ||||
|                 <div class="col-lg-12"> | ||||
|                      | ||||
| 
 | ||||
|                     <ul class="list-inline"> | ||||
|                         {% if request.resolver_match.url_name == "index" %} | ||||
|                          <li> | ||||
|  | @ -45,7 +45,7 @@ | |||
|                             </li> | ||||
|                         {% endif %} | ||||
|                     </ul> | ||||
|                            | ||||
| 
 | ||||
|                     <p class="copyright text-muted small">Copyright © ungleich GmbH {% now "Y" %}. All Rights Reserved</p> | ||||
|                 </div> | ||||
|             </div> | ||||
|  |  | |||
|  | @ -1,8 +1,6 @@ | |||
| {% load staticfiles i18n%} | ||||
| {% get_current_language as LANGUAGE_CODE %} | ||||
| {% load custom_tags %} | ||||
| {% load staticfiles i18n%} {% get_current_language as LANGUAGE_CODE %} {% load custom_tags %} | ||||
| <nav class="navbar navbar-default navbar-fixed-top topnav"> | ||||
| <div class="topnav"> | ||||
|   <div class="topnav"> | ||||
|             <!-- Brand and toggle get grouped for better mobile display --> | ||||
|   <div class="navbar-header"> | ||||
|     <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1"> | ||||
|  | @ -22,44 +20,55 @@ | |||
|   </div> | ||||
|   <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1"><!-- Start Navbar collapse--> | ||||
|     <ul class="nav navbar-nav navbar-right"> | ||||
| 		{% if request.resolver_match.url_name == "index" or request.resolver_match.url_name == "whydatacenterlight" %} | ||||
|         {% if request.resolver_match.url_name == "index" or request.resolver_match.url_name == "whydatacenterlight" %} | ||||
|            <li class="dropdown"> | ||||
|                 <a class="dropdown-toggle  visible-mobile" href="#" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">{% trans "Highlights" %}<span class="caret"></span></a> | ||||
|                 <a class="dropdown-toggle url disabled visible-desktop menu-url" data-url="#how" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">{% trans "Highlights" %}<span class="caret"></span></a> | ||||
| 			<ul class="dropdown-menu"> | ||||
| 				<li><a class="url menu-url" data-url="#your" href="#your">{% trans "Scale out" %}</a></li> | ||||
| 				<li><a class="url menu-url" data-url="#our" href="#our">{% trans "Reliable and light" %}</a></li> | ||||
| 				<li> <a class="url menu-url" data-url="#price" href="#price">{% trans "Order VM" %}</a></li> | ||||
| 			</ul> | ||||
|            </li> | ||||
| 			<li> | ||||
| 				<a href="{% url 'datacenterlight:index' %}/whydatacenterlight" >{% trans "Why Data Center Light?" %}</a> | ||||
| 			</li> | ||||
| 			<li> | ||||
| 				<a class="url" href="{% url 'datacenterlight:index' %}#contact" data-url="#contact"  >{% trans "Contact" %}</a> | ||||
| 			</li> | ||||
| 			{% endif %} | ||||
| 			<li class="nav-language"> | ||||
| 				<div class="select-language"> | ||||
| 				{% if LANGUAGE_CODE == 'en-us'%} | ||||
| 				<span>English</span> | ||||
| 				{% else %} | ||||
| 				<span>Deutsch</span> | ||||
| 				{% endif %} | ||||
| 				<i class="fa fa-globe" aria-hidden="true"></i> | ||||
| 				</div> | ||||
|             <ul class="dropdown-menu"> | ||||
|                 <li><a class="url menu-url" data-url="#your" href="#your">{% trans "Scale out" %}</a></li> | ||||
|                 <li><a class="url menu-url" data-url="#our" href="#our">{% trans "Reliable and light" %}</a></li> | ||||
|                 <li> <a class="url menu-url" data-url="#price" href="#price">{% trans "Order VM" %}</a></li> | ||||
|             </ul> | ||||
|           </li> | ||||
|     			<li> | ||||
|     				<a href="{% url 'datacenterlight:whydatacenterlight' %}" >{% trans "Why Data Center Light?" %}</a> | ||||
|     			</li> | ||||
|     			<li> | ||||
|     				<a class="url" href="{% url 'datacenterlight:index' %}#contact" data-url="#contact"  >{% trans "Contact" %}</a> | ||||
|     			</li> | ||||
|   			{% endif %} | ||||
| 
 | ||||
| 				<div class="drop-language"> | ||||
| 				{% if LANGUAGE_CODE == 'en-us'%} | ||||
| 				<a href="{% change_lang 'de' %}">Deutsch</a> | ||||
| 				{% else %} | ||||
| 				<a href="{% change_lang 'en-us' %}" >English</a> | ||||
| 				{% endif %} | ||||
| 				</div> | ||||
| 
 | ||||
| 			</li> | ||||
|         </ul> | ||||
|   </div><!-- /.navbar-collapse --> | ||||
|         <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"> | ||||
|           <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'%} | ||||
|                 <span>English</span> | ||||
|               {% else %} | ||||
|                 <span>Deutsch</span> | ||||
|               {% endif %} | ||||
|               <i class="fa fa-globe" aria-hidden="true"></i> | ||||
|             </div> | ||||
|             <ul class="dropdown-menu drop-language dropdown-menu-right"> | ||||
|               {% if LANGUAGE_CODE == 'en-us'%} | ||||
|                 <li><a class="url" href="{% change_lang 'de' %}">Deutsch</a></li> | ||||
|               {% else %} | ||||
|                 <li><a class="url" href="{% change_lang 'en-us' %}">English</a></li> | ||||
|               {% endif %} | ||||
|             </ul> | ||||
|           </div> | ||||
|         </li> | ||||
|         {% endcomment %} | ||||
|       </ul> | ||||
|     </div> | ||||
|     <!-- /.navbar-collapse --> | ||||
|   </div> | ||||
|   </div> | ||||
| </nav> | ||||
| </nav> | ||||
|  | @ -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; | ||||
| } | ||||
|  | @ -119,7 +119,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, \ | ||||
|  | @ -41,7 +42,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