|
@ -1,3 +1,5 @@
|
||||||
|
next:
|
||||||
|
* [all] General cleanup
|
||||||
1.0.4: 2017-06-05
|
1.0.4: 2017-06-05
|
||||||
* [all] Added new Domains to accept
|
* [all] Added new Domains to accept
|
||||||
1.0.3: 2017-06-02
|
1.0.3: 2017-06-02
|
||||||
|
|
|
@ -1,69 +0,0 @@
|
||||||
user www-data;
|
|
||||||
worker_processes 2;
|
|
||||||
pid /var/run/nginx.pid;
|
|
||||||
daemon off;
|
|
||||||
|
|
||||||
events {
|
|
||||||
worker_connections 512;
|
|
||||||
# multi_accept on;
|
|
||||||
}
|
|
||||||
|
|
||||||
http {
|
|
||||||
sendfile on;
|
|
||||||
tcp_nopush on;
|
|
||||||
tcp_nodelay on;
|
|
||||||
keepalive_timeout 65;
|
|
||||||
types_hash_max_size 2048;
|
|
||||||
server_tokens off;
|
|
||||||
port_in_redirect on;
|
|
||||||
|
|
||||||
server_names_hash_bucket_size 128;
|
|
||||||
server_name_in_redirect off;
|
|
||||||
|
|
||||||
client_max_body_size 60m;
|
|
||||||
|
|
||||||
include /etc/nginx/mime.types;
|
|
||||||
default_type application/octet-stream;
|
|
||||||
|
|
||||||
send_timeout 300;
|
|
||||||
client_body_timeout 300;
|
|
||||||
client_header_timeout 300;
|
|
||||||
|
|
||||||
access_log /logs/access.log;
|
|
||||||
error_log /logs/error.log;
|
|
||||||
|
|
||||||
gzip on;
|
|
||||||
gzip_disable "msie6";
|
|
||||||
gzip_vary on;
|
|
||||||
gzip_proxied any;
|
|
||||||
gzip_comp_level 6;
|
|
||||||
gzip_buffers 16 8k;
|
|
||||||
gzip_http_version 1.1;
|
|
||||||
gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;
|
|
||||||
|
|
||||||
upstream django {
|
|
||||||
server 127.0.0.1:8000;
|
|
||||||
}
|
|
||||||
|
|
||||||
server {
|
|
||||||
listen 80 default;
|
|
||||||
server_name localhost;
|
|
||||||
location / {
|
|
||||||
proxy_pass http://django;
|
|
||||||
include proxy_params;
|
|
||||||
}
|
|
||||||
location /media/ {
|
|
||||||
root /data;
|
|
||||||
expires max;
|
|
||||||
access_log off;
|
|
||||||
}
|
|
||||||
location /static/ {
|
|
||||||
root /data;
|
|
||||||
expires max;
|
|
||||||
access_log off;
|
|
||||||
}
|
|
||||||
location ~ /\.ht { deny all; }
|
|
||||||
location ~ /\.hg { deny all; }
|
|
||||||
location ~ /\.svn { deny all; }
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,25 +0,0 @@
|
||||||
server {
|
|
||||||
listen 80;
|
|
||||||
server_name dynamicweb-staging.ungleich.ch;
|
|
||||||
|
|
||||||
location /static {
|
|
||||||
alias /home/app/django/dynamicweb/static/;
|
|
||||||
}
|
|
||||||
|
|
||||||
location /media {
|
|
||||||
alias /home/app/django/dynamicweb/media/;
|
|
||||||
}
|
|
||||||
|
|
||||||
location / {
|
|
||||||
proxy_pass http://127.0.0.1:8000/;
|
|
||||||
proxy_pass_header Server;
|
|
||||||
proxy_set_header Host $host;
|
|
||||||
proxy_set_header X-Forwarded-Host $host;
|
|
||||||
proxy_redirect off;
|
|
||||||
proxy_set_header X-Real-IP $remote_addr;
|
|
||||||
proxy_set_header X-Scheme $scheme;
|
|
||||||
proxy_connect_timeout 600;
|
|
||||||
proxy_send_timeout 600;
|
|
||||||
proxy_read_timeout 600;
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -27,8 +27,8 @@ class PricingView(TemplateView):
|
||||||
}
|
}
|
||||||
except:
|
except:
|
||||||
messages.error( request,
|
messages.error( request,
|
||||||
'We could not load the VM templates due to a backend connection \
|
'We have a temporary problem to connect to our backend. \
|
||||||
error. Please try again in a few minutes'
|
Please try again in a few minutes'
|
||||||
)
|
)
|
||||||
context = {
|
context = {
|
||||||
'error' : 'connection'
|
'error' : 'connection'
|
||||||
|
@ -36,7 +36,6 @@ class PricingView(TemplateView):
|
||||||
|
|
||||||
return render(request, self.template_name, context)
|
return render(request, self.template_name, context)
|
||||||
|
|
||||||
|
|
||||||
def post(self, request):
|
def post(self, request):
|
||||||
|
|
||||||
cores = request.POST.get('cpu')
|
cores = request.POST.get('cpu')
|
||||||
|
@ -54,7 +53,7 @@ class PricingView(TemplateView):
|
||||||
if not request.user.is_authenticated():
|
if not request.user.is_authenticated():
|
||||||
request.session['next'] = reverse('hosting:payment')
|
request.session['next'] = reverse('hosting:payment')
|
||||||
|
|
||||||
request.session['specs'] = {
|
request.session['specs'] = {
|
||||||
'cpu':cores,
|
'cpu':cores,
|
||||||
'memory': memory,
|
'memory': memory,
|
||||||
'disk_size': storage,
|
'disk_size': storage,
|
||||||
|
@ -66,7 +65,7 @@ class PricingView(TemplateView):
|
||||||
|
|
||||||
class BetaAccessView(FormView):
|
class BetaAccessView(FormView):
|
||||||
template_name = "datacenterlight/beta_access.html"
|
template_name = "datacenterlight/beta_access.html"
|
||||||
form_class = BetaAccessForm
|
form_class = BetaAccessForm
|
||||||
success_message = "Thank you, we will contact you as soon as possible"
|
success_message = "Thank you, we will contact you as soon as possible"
|
||||||
|
|
||||||
def form_valid(self, form):
|
def form_valid(self, form):
|
||||||
|
@ -151,43 +150,6 @@ class BetaProgramView(CreateView):
|
||||||
|
|
||||||
messages.add_message(self.request, messages.SUCCESS, self.success_message)
|
messages.add_message(self.request, messages.SUCCESS, self.success_message)
|
||||||
return HttpResponseRedirect(self.get_success_url())
|
return HttpResponseRedirect(self.get_success_url())
|
||||||
# return super(BetaProgramView, self).form_valid(form)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# def form_valid(self, form):
|
|
||||||
|
|
||||||
# context = {
|
|
||||||
# 'base_url': "{0}://{1}".format(self.request.scheme, self.request.get_host())
|
|
||||||
# }
|
|
||||||
|
|
||||||
# email_data = {
|
|
||||||
# 'subject': 'DatacenterLight Beta Access Request',
|
|
||||||
# 'to': form.cleaned_data.get('email'),
|
|
||||||
# 'context': context,
|
|
||||||
# 'template_name': 'request_access_confirmation',
|
|
||||||
# 'template_path': 'datacenterlight/emails/'
|
|
||||||
# }
|
|
||||||
# email = BaseEmail(**email_data)
|
|
||||||
# email.send()
|
|
||||||
|
|
||||||
# context.update({
|
|
||||||
# 'email': form.cleaned_data.get('email')
|
|
||||||
# })
|
|
||||||
|
|
||||||
# email_data = {
|
|
||||||
# 'subject': 'DatacenterLight Beta Access Request',
|
|
||||||
# 'to': 'info@ungleich.ch',
|
|
||||||
# 'context': context,
|
|
||||||
# 'template_name': 'request_access_notification',
|
|
||||||
# 'template_path': 'datacenterlight/emails/'
|
|
||||||
# }
|
|
||||||
# email = BaseEmail(**email_data)
|
|
||||||
# email.send()
|
|
||||||
|
|
||||||
# messages.add_message(self.request, messages.SUCCESS, self.success_message)
|
|
||||||
# return super(IndexView, self).form_valid(form)
|
|
||||||
|
|
||||||
|
|
||||||
class IndexView(CreateView):
|
class IndexView(CreateView):
|
||||||
|
|
|
@ -1,423 +0,0 @@
|
||||||
"""
|
|
||||||
Copyright 2015 ungleich.
|
|
||||||
"""
|
|
||||||
|
|
||||||
# -*- coding: utf-8 -*-
|
|
||||||
# Build paths inside the project like this: os.path.join(BASE_DIR, ...)
|
|
||||||
import os
|
|
||||||
from django.utils.translation import ugettext_lazy as _
|
|
||||||
# dotenv
|
|
||||||
import dotenv
|
|
||||||
|
|
||||||
gettext = lambda s: s
|
|
||||||
|
|
||||||
|
|
||||||
def env(env_name):
|
|
||||||
return os.environ.get(env_name)
|
|
||||||
|
|
||||||
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
|
|
||||||
|
|
||||||
PROJECT_DIR = os.path.abspath(
|
|
||||||
os.path.join(os.path.dirname(__file__), "../.."),
|
|
||||||
)
|
|
||||||
|
|
||||||
# load .env file
|
|
||||||
dotenv.read_dotenv("{0}/.env".format(PROJECT_DIR))
|
|
||||||
|
|
||||||
# Quick-start development settings - unsuitable for production
|
|
||||||
# See https://docs.djangoproject.com/en/1.7/howto/deployment/checklist/
|
|
||||||
|
|
||||||
SITE_ID = 1
|
|
||||||
|
|
||||||
APP_ROOT_ENDPOINT = "/"
|
|
||||||
|
|
||||||
LOGIN_URL = None
|
|
||||||
LOGOUT_URL = None
|
|
||||||
LOGIN_REDIRECT_URL = None
|
|
||||||
|
|
||||||
EMAIL_HOST = "localhost"
|
|
||||||
EMAIL_PORT = 25
|
|
||||||
|
|
||||||
SECRET_KEY = env('DJANGO_SECRET_KEY')
|
|
||||||
|
|
||||||
# Application definition
|
|
||||||
|
|
||||||
INSTALLED_APPS = (
|
|
||||||
'djangocms_admin_style',
|
|
||||||
'django.contrib.admin',
|
|
||||||
'django.contrib.auth',
|
|
||||||
'django.contrib.contenttypes',
|
|
||||||
'django.contrib.sessions',
|
|
||||||
'django.contrib.messages',
|
|
||||||
'django.contrib.staticfiles',
|
|
||||||
'django.contrib.sites',
|
|
||||||
'cms', # django CMS itself
|
|
||||||
'treebeard', # utilities for implementing a tree
|
|
||||||
'menus', # helper for model independent hierarchical website navigation
|
|
||||||
'sekizai', # for javascript and css management
|
|
||||||
# django-cms plugins
|
|
||||||
'djangocms_flash',
|
|
||||||
'djangocms_googlemap',
|
|
||||||
'djangocms_inherit',
|
|
||||||
'djangocms_link',
|
|
||||||
'djangocms_snippet',
|
|
||||||
'djangocms_teaser',
|
|
||||||
'djangocms_page_meta',
|
|
||||||
# django-filer
|
|
||||||
'cmsplugin_filer_file',
|
|
||||||
'cmsplugin_filer_folder',
|
|
||||||
'cmsplugin_filer_link',
|
|
||||||
'cmsplugin_filer_teaser',
|
|
||||||
'cmsplugin_filer_video',
|
|
||||||
# versioning
|
|
||||||
'reversion',
|
|
||||||
# ck-editor
|
|
||||||
'djangocms_text_ckeditor',
|
|
||||||
# djangocms-blog
|
|
||||||
'filer',
|
|
||||||
'easy_thumbnails',
|
|
||||||
'cmsplugin_filer_image',
|
|
||||||
'parler',
|
|
||||||
'taggit',
|
|
||||||
'taggit_autosuggest',
|
|
||||||
'django_select2',
|
|
||||||
'meta',
|
|
||||||
'meta_mixin',
|
|
||||||
# 'admin_enhancer',
|
|
||||||
'djangocms_blog',
|
|
||||||
'bootstrap3',
|
|
||||||
'compressor',
|
|
||||||
# ungleich
|
|
||||||
'ungleich',
|
|
||||||
'hosting',
|
|
||||||
'digitalglarus',
|
|
||||||
)
|
|
||||||
|
|
||||||
MIDDLEWARE_CLASSES = (
|
|
||||||
'django.contrib.sessions.middleware.SessionMiddleware',
|
|
||||||
'django.middleware.common.CommonMiddleware',
|
|
||||||
'django.middleware.csrf.CsrfViewMiddleware',
|
|
||||||
'django.contrib.auth.middleware.AuthenticationMiddleware',
|
|
||||||
'django.contrib.auth.middleware.SessionAuthenticationMiddleware',
|
|
||||||
'django.contrib.messages.middleware.MessageMiddleware',
|
|
||||||
'django.middleware.clickjacking.XFrameOptionsMiddleware',
|
|
||||||
'django.middleware.locale.LocaleMiddleware',
|
|
||||||
# django-cms middlewares
|
|
||||||
'cms.middleware.user.CurrentUserMiddleware',
|
|
||||||
'cms.middleware.page.CurrentPageMiddleware',
|
|
||||||
'cms.middleware.toolbar.ToolbarMiddleware',
|
|
||||||
'cms.middleware.language.LanguageCookieMiddleware',
|
|
||||||
)
|
|
||||||
|
|
||||||
ROOT_URLCONF = 'dynamicweb.urls'
|
|
||||||
|
|
||||||
TEMPLATES = [
|
|
||||||
{
|
|
||||||
'BACKEND': 'django.template.backends.django.DjangoTemplates',
|
|
||||||
'DIRS': [],
|
|
||||||
'APP_DIRS': True,
|
|
||||||
'OPTIONS': {
|
|
||||||
'context_processors': [
|
|
||||||
'django.template.context_processors.debug',
|
|
||||||
'django.template.context_processors.request',
|
|
||||||
'django.contrib.auth.context_processors.auth',
|
|
||||||
'django.contrib.messages.context_processors.messages',
|
|
||||||
],
|
|
||||||
},
|
|
||||||
},
|
|
||||||
]
|
|
||||||
|
|
||||||
WSGI_APPLICATION = 'dynamicweb.wsgi.application'
|
|
||||||
|
|
||||||
# Deprecated since version 1.8.
|
|
||||||
# callables take a request object as their argument and return a dictionary of
|
|
||||||
# items to be merged into the context.
|
|
||||||
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",
|
|
||||||
'sekizai.context_processors.sekizai',
|
|
||||||
'cms.context_processors.cms_settings',
|
|
||||||
)
|
|
||||||
|
|
||||||
TEMPLATE_DIRS = (
|
|
||||||
os.path.join(PROJECT_DIR, 'templates'),
|
|
||||||
)
|
|
||||||
|
|
||||||
CMS_TEMPLATES_DIR = {
|
|
||||||
1: os.path.join(TEMPLATE_DIRS[0], 'cms/'),
|
|
||||||
}
|
|
||||||
|
|
||||||
# Database
|
|
||||||
# https://docs.djangoproject.com/en/1.8/ref/settings/#databases
|
|
||||||
|
|
||||||
DATABASES = {
|
|
||||||
'default': {
|
|
||||||
'ENGINE': 'django.db.backends.postgresql_psycopg2',
|
|
||||||
'NAME': 'app',
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
# Internationalization
|
|
||||||
# https://docs.djangoproject.com/en/1.7/topics/i18n/
|
|
||||||
|
|
||||||
TIME_ZONE = 'UTC'
|
|
||||||
|
|
||||||
USE_I18N = True
|
|
||||||
|
|
||||||
USE_L10N = True
|
|
||||||
|
|
||||||
USE_TZ = True
|
|
||||||
|
|
||||||
LANGUAGES = (
|
|
||||||
('en-us', _('English')),
|
|
||||||
('de', _('Deutsch')),
|
|
||||||
)
|
|
||||||
|
|
||||||
LANGUAGE_CODE = 'en-us'
|
|
||||||
|
|
||||||
CMS_PLACEHOLDER_CONF = {
|
|
||||||
'logo_image': {
|
|
||||||
'name': 'Logo Image',
|
|
||||||
'plugins': ['FilerImagePlugin'],
|
|
||||||
'limits': {
|
|
||||||
'global': 1,
|
|
||||||
}
|
|
||||||
},
|
|
||||||
'page-title': {
|
|
||||||
'name': 'Page Title',
|
|
||||||
'plugins': ['TextPlugin'],
|
|
||||||
'default_plugins': [
|
|
||||||
{
|
|
||||||
'plugin_type': 'TextPlugin',
|
|
||||||
'values': {
|
|
||||||
'body': 'Page Title...'
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
'limits': {
|
|
||||||
'global': 1,
|
|
||||||
}
|
|
||||||
},
|
|
||||||
'page-subtitle': {
|
|
||||||
'name': 'Page Subtitle',
|
|
||||||
'inherit': 'page-title',
|
|
||||||
'default_plugins': [
|
|
||||||
{
|
|
||||||
'plugin_type': 'TextPlugin',
|
|
||||||
'values': {
|
|
||||||
'body': 'Page subtitle...'
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
},
|
|
||||||
'footer_copyright': {
|
|
||||||
'name': 'Copyright',
|
|
||||||
'inherit': 'page-title',
|
|
||||||
'default_plugins': [
|
|
||||||
{
|
|
||||||
'plugin_type': 'TextPlugin',
|
|
||||||
'values': {
|
|
||||||
'body': 'Copyright...'
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
},
|
|
||||||
'content': {
|
|
||||||
'name': _('Content'),
|
|
||||||
'default_plugins': [
|
|
||||||
{
|
|
||||||
'plugin_type': 'TextPlugin',
|
|
||||||
'values': {'body': '<p></p>'},
|
|
||||||
},
|
|
||||||
]
|
|
||||||
},
|
|
||||||
'post_content': {
|
|
||||||
'name': _('Content'),
|
|
||||||
'default_plugins': [
|
|
||||||
{
|
|
||||||
'plugin_type': 'TextPlugin',
|
|
||||||
'values': {'body': '<p></p>'},
|
|
||||||
},
|
|
||||||
]
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
CACHES = {
|
|
||||||
'default': {
|
|
||||||
'BACKEND': 'django.core.cache.backends.memcached.PyLibMCCache',
|
|
||||||
'LOCATION': '127.0.0.1:11211',
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if LOGIN_URL is None:
|
|
||||||
LOGIN_URL = APP_ROOT_ENDPOINT + 'accounts/login/'
|
|
||||||
if LOGOUT_URL is None:
|
|
||||||
LOGOUT_URL = APP_ROOT_ENDPOINT + 'accounts/logout/'
|
|
||||||
if LOGIN_REDIRECT_URL is None:
|
|
||||||
LOGIN_REDIRECT_URL = APP_ROOT_ENDPOINT
|
|
||||||
|
|
||||||
# Static files (CSS, JavaScript, Images)
|
|
||||||
# https://docs.djangoproject.com/en/1.7/howto/static-files/
|
|
||||||
|
|
||||||
STATIC_URL = '/static/'
|
|
||||||
|
|
||||||
STATIC_ROOT = os.path.join(PROJECT_DIR, 'static')
|
|
||||||
|
|
||||||
MEDIA_ROOT = os.path.join(PROJECT_DIR, 'media')
|
|
||||||
MEDIA_URL = APP_ROOT_ENDPOINT + 'media/'
|
|
||||||
FILE_UPLOAD_PERMISSIONS = 0o644
|
|
||||||
|
|
||||||
# Templates confs
|
|
||||||
TEMPLATE_DIRS = (
|
|
||||||
os.path.join(PROJECT_DIR, "templates"),
|
|
||||||
)
|
|
||||||
|
|
||||||
META_SITE_PROTOCOL = 'http'
|
|
||||||
META_USE_SITES = True
|
|
||||||
|
|
||||||
MIGRATION_MODULES = {
|
|
||||||
'cms': 'cms.migrations',
|
|
||||||
'filer': 'filer.migrations_django',
|
|
||||||
'menus': 'menus.migrations_django',
|
|
||||||
'djangocms_flash': 'djangocms_flash.migrations_django',
|
|
||||||
'djangocms_googlemap': 'djangocms_googlemap.migrations_django',
|
|
||||||
'djangocms_inherit': 'djangocms_inherit.migrations_django',
|
|
||||||
'djangocms_link': 'djangocms_link.migrations_django',
|
|
||||||
'djangocms_snippet': 'djangocms_snippet.migrations_django',
|
|
||||||
'djangocms_teaser': 'djangocms_teaser.migrations_django',
|
|
||||||
'djangocms_column': 'djangocms_column.migrations_django',
|
|
||||||
'djangocms_flash': 'djangocms_flash.migrations_django',
|
|
||||||
'djangocms_googlemap': 'djangocms_googlemap.migrations_django',
|
|
||||||
'djangocms_inherit': 'djangocms_inherit.migrations_django',
|
|
||||||
'djangocms_style': 'djangocms_style.migrations_django',
|
|
||||||
'cmsplugin_filer_image': 'cmsplugin_filer_image.migrations_django',
|
|
||||||
'cmsplugin_filer_file': 'cmsplugin_filer_file.migrations_django',
|
|
||||||
'cmsplugin_filer_folder': 'cmsplugin_filer_folder.migrations_django',
|
|
||||||
'cmsplugin_filer_link': 'cmsplugin_filer_link.migrations_django',
|
|
||||||
'cmsplugin_filer_teaser': 'cmsplugin_filer_teaser.migrations_django',
|
|
||||||
'cmsplugin_filer_utils': 'cmsplugin_filer_utils.migrations_django',
|
|
||||||
'cmsplugin_filer_video': 'cmsplugin_filer_video.migrations_django',
|
|
||||||
'djangocms_text_ckeditor': 'djangocms_text_ckeditor.migrations',
|
|
||||||
}
|
|
||||||
|
|
||||||
STATICFILES_FINDERS = (
|
|
||||||
'django.contrib.staticfiles.finders.FileSystemFinder',
|
|
||||||
'django.contrib.staticfiles.finders.AppDirectoriesFinder',
|
|
||||||
'compressor.finders.CompressorFinder',
|
|
||||||
)
|
|
||||||
|
|
||||||
COMPRESS_PRECOMPILERS = (
|
|
||||||
('text/less', 'lesscpy {infile}'),
|
|
||||||
)
|
|
||||||
|
|
||||||
THUMBNAIL_PROCESSORS = (
|
|
||||||
'easy_thumbnails.processors.colorspace',
|
|
||||||
'easy_thumbnails.processors.autocrop',
|
|
||||||
'filer.thumbnail_processors.scale_and_crop_with_subject_location',
|
|
||||||
'easy_thumbnails.processors.filters',
|
|
||||||
)
|
|
||||||
|
|
||||||
# django-cms-text-ckeditor
|
|
||||||
TEXT_SAVE_IMAGE_FUNCTION = (
|
|
||||||
'cmsplugin_filer_image.integrations.ckeditor.create_image_plugin'
|
|
||||||
)
|
|
||||||
TEXT_ADDITIONAL_TAGS = ('iframe',)
|
|
||||||
TEXT_ADDITIONAL_ATTRIBUTES = ('scrolling', 'allowfullscreen', 'frameborder')
|
|
||||||
USE_X_FORWARDED_HOST = True
|
|
||||||
|
|
||||||
# Django Bootstrap - Settings
|
|
||||||
# Added Configuration for bootstrap static files to load over https.
|
|
||||||
BOOTSTRAP3 = {
|
|
||||||
|
|
||||||
# The URL to the jQuery JavaScript file
|
|
||||||
'jquery_url': '//code.jquery.com/jquery.min.js',
|
|
||||||
|
|
||||||
# The Bootstrap base URL
|
|
||||||
'base_url': '//maxcdn.bootstrapcdn.com/bootstrap/3.3.4/',
|
|
||||||
|
|
||||||
# The complete URL to the Bootstrap CSS file
|
|
||||||
# (None means derive it from base_url)
|
|
||||||
'css_url': None,
|
|
||||||
|
|
||||||
# The complete URL to the Bootstrap CSS file (None means no theme)
|
|
||||||
'theme_url': None,
|
|
||||||
|
|
||||||
# The complete URL to the Bootstrap JavaScript file
|
|
||||||
# (None means derive it from base_url)
|
|
||||||
'javascript_url': None,
|
|
||||||
|
|
||||||
# Put JavaScript in the HEAD section of the HTML document
|
|
||||||
# (only relevant if you use bootstrap3.html)
|
|
||||||
'javascript_in_head': False,
|
|
||||||
|
|
||||||
# Include jQuery with Bootstrap JavaScript
|
|
||||||
# (affects django-bootstrap3 template tags)
|
|
||||||
'include_jquery': False,
|
|
||||||
|
|
||||||
# Label class to use in horizontal forms
|
|
||||||
'horizontal_label_class': 'col-md-3',
|
|
||||||
|
|
||||||
# Field class to use in horizontal forms
|
|
||||||
'horizontal_field_class': 'col-md-9',
|
|
||||||
|
|
||||||
# Set HTML required attribute on required fields
|
|
||||||
'set_required': True,
|
|
||||||
|
|
||||||
# Set HTML disabled attribute on disabled fields
|
|
||||||
'set_disabled': False,
|
|
||||||
|
|
||||||
# Set placeholder attributes to label if no placeholder is provided
|
|
||||||
'set_placeholder': True,
|
|
||||||
|
|
||||||
# Class to indicate required (better to set this in your Django form)
|
|
||||||
'required_css_class': '',
|
|
||||||
|
|
||||||
# Class to indicate error (better to set this in your Django form)
|
|
||||||
'error_css_class': 'has-error',
|
|
||||||
|
|
||||||
# Class to indicate success, meaning the field has valid input
|
|
||||||
# (better to set this in your Django form)
|
|
||||||
'success_css_class': 'has-success',
|
|
||||||
|
|
||||||
# Renderers (only set these if you have studied the source and understand
|
|
||||||
# the inner workings)
|
|
||||||
'formset_renderers': {
|
|
||||||
'default': 'bootstrap3.renderers.FormsetRenderer',
|
|
||||||
},
|
|
||||||
'form_renderers': {
|
|
||||||
'default': 'bootstrap3.renderers.FormRenderer',
|
|
||||||
},
|
|
||||||
'field_renderers': {
|
|
||||||
'default': 'bootstrap3.renderers.FieldRenderer',
|
|
||||||
'inline': 'bootstrap3.renderers.InlineFieldRenderer',
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
# djangocms_blog config
|
|
||||||
|
|
||||||
BLOG_ENABLE_COMMENTS = False
|
|
||||||
BLOG_USE_PLACEHOLDER = True
|
|
||||||
BLOG_IMAGE_THUMBNAIL_SIZE = {'size': '120x120', 'crop': True, 'upscale': False}
|
|
||||||
BLOG_IMAGE_FULL_SIZE = {'size': '640x120', 'crop': True, 'upscale': False}
|
|
||||||
BLOG_PAGINATION = 4
|
|
||||||
BLOG_LATEST_POSTS = BLOG_PAGINATION
|
|
||||||
BLOG_POSTS_LIST_TRUNCWORDS_COUNT = 100
|
|
||||||
BLOG_MULTISITE = True
|
|
||||||
BLOG_AUTHOR_DEFAULT = True
|
|
||||||
|
|
||||||
# django-meta
|
|
||||||
META_SITE_PROTOCOL = "https"
|
|
||||||
META_SITE_DOMAIN = "ungleich.ch"
|
|
||||||
META_SITE_TYPE = "website"
|
|
||||||
META_SITE_NAME = "ungleich"
|
|
||||||
META_INCLUDE_KEYWORDS = ["ungleich", "hosting", "switzerland",
|
|
||||||
"Schweiz", "Swiss", "cdist"]
|
|
||||||
META_USE_SITES = True
|
|
||||||
|
|
||||||
PARLER_LANGUAGES = {1: ({'code': 'en-us'}, {'code': 'de'}, )}
|
|
|
@ -1,441 +0,0 @@
|
||||||
"""
|
|
||||||
Copyright 2015 ungleich.
|
|
||||||
"""
|
|
||||||
|
|
||||||
# -*- coding: utf-8 -*-
|
|
||||||
# Build paths inside the project like this: os.path.join(BASE_DIR, ...)
|
|
||||||
import os
|
|
||||||
|
|
||||||
from django.utils.translation import ugettext_lazy as _
|
|
||||||
|
|
||||||
# dotenv
|
|
||||||
import dotenv
|
|
||||||
|
|
||||||
gettext = lambda s: s
|
|
||||||
|
|
||||||
|
|
||||||
def env(env_name):
|
|
||||||
return os.environ.get(env_name)
|
|
||||||
|
|
||||||
|
|
||||||
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
|
|
||||||
|
|
||||||
PROJECT_DIR = os.path.abspath(
|
|
||||||
os.path.join(os.path.dirname(__file__), "../.."),
|
|
||||||
)
|
|
||||||
|
|
||||||
# load .env file
|
|
||||||
dotenv.read_dotenv("{0}/.env".format(PROJECT_DIR))
|
|
||||||
|
|
||||||
# Quick-start development settings - unsuitable for production
|
|
||||||
# See https://docs.djangoproject.com/en/1.7/howto/deployment/checklist/
|
|
||||||
|
|
||||||
SITE_ID = 1
|
|
||||||
|
|
||||||
APP_ROOT_ENDPOINT = "/"
|
|
||||||
|
|
||||||
LOGIN_URL = None
|
|
||||||
LOGOUT_URL = None
|
|
||||||
LOGIN_REDIRECT_URL = None
|
|
||||||
|
|
||||||
EMAIL_HOST = "localhost"
|
|
||||||
EMAIL_PORT = 25
|
|
||||||
|
|
||||||
SECRET_KEY = env('DJANGO_SECRET_KEY')
|
|
||||||
|
|
||||||
# Application definition
|
|
||||||
|
|
||||||
INSTALLED_APPS = (
|
|
||||||
#1st migrate
|
|
||||||
'membership',
|
|
||||||
'django.contrib.admin',
|
|
||||||
'django.contrib.auth',
|
|
||||||
'django.contrib.contenttypes',
|
|
||||||
'django.contrib.sessions',
|
|
||||||
'django.contrib.messages',
|
|
||||||
'django.contrib.staticfiles',
|
|
||||||
'django.contrib.sites',
|
|
||||||
'easy_thumbnails',
|
|
||||||
'mptt',
|
|
||||||
'parler',
|
|
||||||
'taggit',
|
|
||||||
'taggit_autosuggest',
|
|
||||||
'django_select2',
|
|
||||||
'meta',
|
|
||||||
'meta_mixin',
|
|
||||||
# 'admin_enhancer',
|
|
||||||
'djangocms_blog',
|
|
||||||
'bootstrap3',
|
|
||||||
'compressor',
|
|
||||||
'filer',
|
|
||||||
'djangocms_blog',
|
|
||||||
'cms', # django CMS itself
|
|
||||||
'treebeard', # utilities for implementing a tree
|
|
||||||
'sekizai', # for javascript and css management
|
|
||||||
'menus', # helper for model independent hierarchical website navigation
|
|
||||||
'cmsplugin_filer_image',
|
|
||||||
|
|
||||||
#2nd migrate
|
|
||||||
# django-cms plugins
|
|
||||||
'djangocms_file',
|
|
||||||
'djangocms_picture',
|
|
||||||
'djangocms_video',
|
|
||||||
'djangocms_flash',
|
|
||||||
|
|
||||||
'djangocms_googlemap',
|
|
||||||
'djangocms_inherit',
|
|
||||||
'djangocms_link',
|
|
||||||
'djangocms_teaser',
|
|
||||||
'djangocms_page_meta',
|
|
||||||
'djangocms_text_ckeditor',
|
|
||||||
'djangocms_admin_style',
|
|
||||||
'cmsplugin_filer_file',
|
|
||||||
'cmsplugin_filer_folder',
|
|
||||||
'cmsplugin_filer_link',
|
|
||||||
'cmsplugin_filer_teaser',
|
|
||||||
'cmsplugin_filer_video',
|
|
||||||
#
|
|
||||||
#blog
|
|
||||||
# versioning
|
|
||||||
'reversion',
|
|
||||||
# ungleich
|
|
||||||
'ungleich',
|
|
||||||
'hosting',
|
|
||||||
'digitalglarus',
|
|
||||||
'django_extensions',
|
|
||||||
'debug_toolbar'
|
|
||||||
)
|
|
||||||
|
|
||||||
MIDDLEWARE_CLASSES = (
|
|
||||||
'django.contrib.sessions.middleware.SessionMiddleware',
|
|
||||||
'django.middleware.common.CommonMiddleware',
|
|
||||||
'django.middleware.csrf.CsrfViewMiddleware',
|
|
||||||
'django.contrib.auth.middleware.AuthenticationMiddleware',
|
|
||||||
'django.contrib.auth.middleware.SessionAuthenticationMiddleware',
|
|
||||||
'django.contrib.messages.middleware.MessageMiddleware',
|
|
||||||
'django.middleware.clickjacking.XFrameOptionsMiddleware',
|
|
||||||
'django.middleware.locale.LocaleMiddleware',
|
|
||||||
# django-cms middlewares
|
|
||||||
'cms.middleware.user.CurrentUserMiddleware',
|
|
||||||
'cms.middleware.page.CurrentPageMiddleware',
|
|
||||||
'cms.middleware.toolbar.ToolbarMiddleware',
|
|
||||||
'cms.middleware.language.LanguageCookieMiddleware',
|
|
||||||
)
|
|
||||||
|
|
||||||
ROOT_URLCONF = 'dynamicweb.urls'
|
|
||||||
|
|
||||||
TEMPLATES = [
|
|
||||||
{
|
|
||||||
'BACKEND': 'django.template.backends.django.DjangoTemplates',
|
|
||||||
'DIRS': [
|
|
||||||
os.path.join(PROJECT_DIR, 'membership/'), # membership template
|
|
||||||
os.path.join(PROJECT_DIR, 'templates/'),
|
|
||||||
os.path.join(PROJECT_DIR, 'templates/digitalglarus/partials'),
|
|
||||||
os.path.join(PROJECT_DIR, 'templates/cms'),
|
|
||||||
os.path.join(PROJECT_DIR, 'templates/digitalglarus'),
|
|
||||||
],
|
|
||||||
'APP_DIRS': True,
|
|
||||||
'OPTIONS': {
|
|
||||||
'context_processors': [
|
|
||||||
'django.template.context_processors.debug',
|
|
||||||
'django.template.context_processors.request',
|
|
||||||
'django.contrib.auth.context_processors.auth',
|
|
||||||
'django.contrib.messages.context_processors.messages',
|
|
||||||
"django.core.context_processors.media",
|
|
||||||
"django.core.context_processors.static",
|
|
||||||
"django.core.context_processors.tz",
|
|
||||||
"django.contrib.messages.context_processors.messages",
|
|
||||||
'sekizai.context_processors.sekizai',
|
|
||||||
'cms.context_processors.cms_settings',
|
|
||||||
],
|
|
||||||
},
|
|
||||||
},
|
|
||||||
]
|
|
||||||
|
|
||||||
WSGI_APPLICATION = 'dynamicweb.wsgi.application'
|
|
||||||
|
|
||||||
TDIR = os.path.join(PROJECT_DIR, 'templates')
|
|
||||||
|
|
||||||
CMS_TEMPLATES_DIR = {
|
|
||||||
1: os.path.join(TDIR, '')
|
|
||||||
}
|
|
||||||
|
|
||||||
DATABASES = {
|
|
||||||
'default': {
|
|
||||||
'ENGINE': 'django.db.backends.postgresql_psycopg2',
|
|
||||||
'NAME': 'app',
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
# Internationalization
|
|
||||||
# https://docs.djangoproject.com/en/1.7/topics/i18n/
|
|
||||||
|
|
||||||
TIME_ZONE = 'UTC'
|
|
||||||
|
|
||||||
USE_I18N = True
|
|
||||||
|
|
||||||
USE_L10N = True
|
|
||||||
|
|
||||||
USE_TZ = True
|
|
||||||
|
|
||||||
LANGUAGES = (
|
|
||||||
('en-us', _('English')),
|
|
||||||
('de', _('Deutsch')),
|
|
||||||
)
|
|
||||||
|
|
||||||
LANGUAGE_CODE = 'en-us'
|
|
||||||
|
|
||||||
CMS_PLACEHOLDER_CONF = {
|
|
||||||
'logo_image': {
|
|
||||||
'name': 'Logo Image',
|
|
||||||
'plugins': ['FilerImagePlugin'],
|
|
||||||
'limits': {
|
|
||||||
'global': 1,
|
|
||||||
}
|
|
||||||
},
|
|
||||||
'page-title': {
|
|
||||||
'name': 'Page Title',
|
|
||||||
'plugins': ['TextPlugin'],
|
|
||||||
'default_plugins': [
|
|
||||||
{
|
|
||||||
'plugin_type': 'TextPlugin',
|
|
||||||
'values': {
|
|
||||||
'body': 'Page Title...'
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
'limits': {
|
|
||||||
'global': 1,
|
|
||||||
}
|
|
||||||
},
|
|
||||||
'page-subtitle': {
|
|
||||||
'name': 'Page Subtitle',
|
|
||||||
'inherit': 'page-title',
|
|
||||||
'default_plugins': [
|
|
||||||
{
|
|
||||||
'plugin_type': 'TextPlugin',
|
|
||||||
'values': {
|
|
||||||
'body': 'Page subtitle...'
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
},
|
|
||||||
'footer_copyright': {
|
|
||||||
'name': 'Copyright',
|
|
||||||
'inherit': 'page-title',
|
|
||||||
'default_plugins': [
|
|
||||||
{
|
|
||||||
'plugin_type': 'TextPlugin',
|
|
||||||
'values': {
|
|
||||||
'body': 'Copyright...'
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
},
|
|
||||||
'content': {
|
|
||||||
'name': _('Content'),
|
|
||||||
'default_plugins': [
|
|
||||||
{
|
|
||||||
'plugin_type': 'TextPlugin',
|
|
||||||
'values': {'body': '<p></p>'},
|
|
||||||
},
|
|
||||||
]
|
|
||||||
},
|
|
||||||
'post_content': {
|
|
||||||
'name': _('Content'),
|
|
||||||
'default_plugins': [
|
|
||||||
{
|
|
||||||
'plugin_type': 'TextPlugin',
|
|
||||||
'values': {'body': '<p></p>'},
|
|
||||||
},
|
|
||||||
]
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
CACHES = {
|
|
||||||
'default': {
|
|
||||||
'BACKEND': 'django.core.cache.backends.memcached.PyLibMCCache',
|
|
||||||
'LOCATION': '127.0.0.1:11211',
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if LOGIN_URL is None:
|
|
||||||
LOGIN_URL = APP_ROOT_ENDPOINT + 'accounts/login/'
|
|
||||||
if LOGOUT_URL is None:
|
|
||||||
LOGOUT_URL = APP_ROOT_ENDPOINT + 'accounts/logout/'
|
|
||||||
if LOGIN_REDIRECT_URL is None:
|
|
||||||
LOGIN_REDIRECT_URL = APP_ROOT_ENDPOINT
|
|
||||||
|
|
||||||
# Static files (CSS, JavaScript, Images)
|
|
||||||
# https://docs.djangoproject.com/en/1.7/howto/static-files/
|
|
||||||
|
|
||||||
STATIC_URL = '/static/'
|
|
||||||
|
|
||||||
STATIC_ROOT = os.path.join(PROJECT_DIR, 'static')
|
|
||||||
|
|
||||||
MEDIA_ROOT = os.path.join(PROJECT_DIR, 'media')
|
|
||||||
MEDIA_URL = APP_ROOT_ENDPOINT + 'media/'
|
|
||||||
FILE_UPLOAD_PERMISSIONS = 0o644
|
|
||||||
|
|
||||||
META_SITE_PROTOCOL = 'http'
|
|
||||||
META_USE_SITES = True
|
|
||||||
MIGRATION_MODULES = {
|
|
||||||
'cms': 'cms.migrations',
|
|
||||||
# 'filer': 'filer.migrations_django',
|
|
||||||
# 'menus': 'menus.migrations_django',
|
|
||||||
'djangocms_flash': 'djangocms_flash.migrations_django',
|
|
||||||
'djangocms_googlemap': 'djangocms_googlemap.migrations_django',
|
|
||||||
'djangocms_inherit': 'djangocms_inherit.migrations_django',
|
|
||||||
'djangocms_link': 'djangocms_link.migrations_django',
|
|
||||||
'djangocms_teaser': 'djangocms_teaser.migrations_django',
|
|
||||||
'djangocms_column': 'djangocms_column.migrations_django',
|
|
||||||
'djangocms_flash': 'djangocms_flash.migrations_django',
|
|
||||||
'djangocms_googlemap': 'djangocms_googlemap.migrations_django',
|
|
||||||
'djangocms_inherit': 'djangocms_inherit.migrations_django',
|
|
||||||
'djangocms_style': 'djangocms_style.migrations_django',
|
|
||||||
'cmsplugin_filer_image': 'cmsplugin_filer_image.migrations_django',
|
|
||||||
'cmsplugin_filer_file': 'cmsplugin_filer_file.migrations_django',
|
|
||||||
'cmsplugin_filer_folder': 'cmsplugin_filer_folder.migrations_django',
|
|
||||||
'cmsplugin_filer_link': 'cmsplugin_filer_link.migrations_django',
|
|
||||||
'cmsplugin_filer_teaser': 'cmsplugin_filer_teaser.migrations_django',
|
|
||||||
'cmsplugin_filer_utils': 'cmsplugin_filer_utils.migrations_django',
|
|
||||||
'cmsplugin_filer_video': 'cmsplugin_filer_video.migrations_django',
|
|
||||||
'djangocms_text_ckeditor': 'djangocms_text_ckeditor.migrations',
|
|
||||||
}
|
|
||||||
|
|
||||||
STATICFILES_FINDERS = (
|
|
||||||
'django.contrib.staticfiles.finders.FileSystemFinder',
|
|
||||||
'django.contrib.staticfiles.finders.AppDirectoriesFinder',
|
|
||||||
'compressor.finders.CompressorFinder',
|
|
||||||
)
|
|
||||||
|
|
||||||
#COMPRESS_PRECOMPILERS = (
|
|
||||||
# ('text/less', 'lesscpy {infile}'),
|
|
||||||
#)
|
|
||||||
|
|
||||||
THUMBNAIL_PROCESSORS = (
|
|
||||||
'easy_thumbnails.processors.colorspace',
|
|
||||||
'easy_thumbnails.processors.autocrop',
|
|
||||||
'filer.thumbnail_processors.scale_and_crop_with_subject_location',
|
|
||||||
'easy_thumbnails.processors.filters',
|
|
||||||
)
|
|
||||||
|
|
||||||
# django-cms-text-ckeditor
|
|
||||||
TEXT_SAVE_IMAGE_FUNCTION = (
|
|
||||||
'cmsplugin_filer_image.integrations.ckeditor.create_image_plugin'
|
|
||||||
)
|
|
||||||
TEXT_ADDITIONAL_TAGS = ('iframe',)
|
|
||||||
TEXT_ADDITIONAL_ATTRIBUTES = ('scrolling', 'allowfullscreen', 'frameborder')
|
|
||||||
USE_X_FORWARDED_HOST = True
|
|
||||||
|
|
||||||
# Django Bootstrap - Settings
|
|
||||||
# Added Configuration for bootstrap static files to load over https.
|
|
||||||
BOOTSTRAP3 = {
|
|
||||||
|
|
||||||
# The URL to the jQuery JavaScript file
|
|
||||||
'jquery_url': '//code.jquery.com/jquery.min.js',
|
|
||||||
|
|
||||||
# The Bootstrap base URL
|
|
||||||
'base_url': '//maxcdn.bootstrapcdn.com/bootstrap/3.3.4/',
|
|
||||||
|
|
||||||
# The complete URL to the Bootstrap CSS file
|
|
||||||
# (None means derive it from base_url)
|
|
||||||
'css_url': None,
|
|
||||||
|
|
||||||
# The complete URL to the Bootstrap CSS file (None means no theme)
|
|
||||||
'theme_url': None,
|
|
||||||
|
|
||||||
# The complete URL to the Bootstrap JavaScript file
|
|
||||||
# (None means derive it from base_url)
|
|
||||||
'javascript_url': None,
|
|
||||||
|
|
||||||
# Put JavaScript in the HEAD section of the HTML document
|
|
||||||
# (only relevant if you use bootstrap3.html)
|
|
||||||
'javascript_in_head': False,
|
|
||||||
|
|
||||||
# Include jQuery with Bootstrap JavaScript
|
|
||||||
# (affects django-bootstrap3 template tags)
|
|
||||||
'include_jquery': False,
|
|
||||||
|
|
||||||
# Label class to use in horizontal forms
|
|
||||||
'horizontal_label_class': 'col-md-3',
|
|
||||||
|
|
||||||
# Field class to use in horizontal forms
|
|
||||||
'horizontal_field_class': 'col-md-9',
|
|
||||||
|
|
||||||
# Set HTML required attribute on required fields
|
|
||||||
'set_required': True,
|
|
||||||
|
|
||||||
# Set HTML disabled attribute on disabled fields
|
|
||||||
'set_disabled': False,
|
|
||||||
|
|
||||||
# Set placeholder attributes to label if no placeholder is provided
|
|
||||||
'set_placeholder': True,
|
|
||||||
|
|
||||||
# Class to indicate required (better to set this in your Django form)
|
|
||||||
'required_css_class': '',
|
|
||||||
|
|
||||||
# Class to indicate error (better to set this in your Django form)
|
|
||||||
'error_css_class': 'has-error',
|
|
||||||
|
|
||||||
# Class to indicate success, meaning the field has valid input
|
|
||||||
# (better to set this in your Django form)
|
|
||||||
'success_css_class': 'has-success',
|
|
||||||
|
|
||||||
# Renderers (only set these if you have studied the source and understand
|
|
||||||
# the inner workings)
|
|
||||||
'formset_renderers': {
|
|
||||||
'default': 'bootstrap3.renderers.FormsetRenderer',
|
|
||||||
},
|
|
||||||
'form_renderers': {
|
|
||||||
'default': 'bootstrap3.renderers.FormRenderer',
|
|
||||||
},
|
|
||||||
'field_renderers': {
|
|
||||||
'default': 'bootstrap3.renderers.FieldRenderer',
|
|
||||||
'inline': 'bootstrap3.renderers.InlineFieldRenderer',
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
# djangocms_blog config
|
|
||||||
|
|
||||||
BLOG_ENABLE_COMMENTS = False
|
|
||||||
BLOG_USE_PLACEHOLDER = True
|
|
||||||
BLOG_IMAGE_THUMBNAIL_SIZE = {'size': '120x120', 'crop': True, 'upscale': False}
|
|
||||||
BLOG_IMAGE_FULL_SIZE = {'size': '640x120', 'crop': True, 'upscale': False}
|
|
||||||
BLOG_PAGINATION = 4
|
|
||||||
BLOG_LATEST_POSTS = BLOG_PAGINATION
|
|
||||||
BLOG_POSTS_LIST_TRUNCWORDS_COUNT = 100
|
|
||||||
BLOG_MULTISITE = True
|
|
||||||
BLOG_AUTHOR_DEFAULT = True
|
|
||||||
|
|
||||||
# django-meta
|
|
||||||
META_SITE_PROTOCOL = "https"
|
|
||||||
META_SITE_DOMAIN = "ungleich.ch"
|
|
||||||
META_SITE_TYPE = "website"
|
|
||||||
META_SITE_NAME = "ungleich"
|
|
||||||
META_INCLUDE_KEYWORDS = ["ungleich", "hosting", "switzerland",
|
|
||||||
"Schweiz", "Swiss", "cdist"]
|
|
||||||
META_USE_SITES = True
|
|
||||||
|
|
||||||
PARLER_LANGUAGES = {1: ({'code': 'en-us'}, {'code': 'de'},)}
|
|
||||||
AUTH_USER_MODEL = 'membership.CustomUser'
|
|
||||||
|
|
||||||
|
|
||||||
# PAYMENT
|
|
||||||
|
|
||||||
STRIPE_API_PUBLIC_KEY = 'pk_test_uvWyHNJgVL2IB8kjfgJkGjg4' # used in frontend to call from user browser
|
|
||||||
STRIPE_API_PRIVATE_KEY = 'sk_test_uIPMdgXoRGydrcD7fkwcn7dj' # used in backend payment
|
|
||||||
STRIPE_DESCRIPTION_ON_PAYMENT = "Payment for ungleich GmbH services"
|
|
||||||
|
|
||||||
# EMAIL MESSAGES
|
|
||||||
REGISTRATION_MESSAGE = {'subject': "Validation mail",
|
|
||||||
'message': 'Please validate Your account under this link http://localhost:8000/en-us/validate/{}',
|
|
||||||
'from': 'test@test.com'}
|
|
||||||
|
|
||||||
|
|
||||||
#dont migrate test
|
|
||||||
# SOUTH_TESTS_MIGRATE = False
|
|
||||||
|
|
||||||
STRIPE_API_PUBLIC_KEY = 'pk_test_uvWyHNJgVL2IB8kjfgJkGjg4' # used in frontend to call from user browser
|
|
||||||
STRIPE_API_PRIVATE_KEY = 'sk_test_uIPMdgXoRGydrcD7fkwcn7dj' # used in backend payment
|
|
||||||
STRIPE_DESCRIPTION_ON_PAYMENT = "Payment for ungleich GmbH services"
|
|
|
@ -1,12 +1,8 @@
|
||||||
from .base import *
|
from .base import *
|
||||||
|
|
||||||
ADMINS = (
|
# List of people that get admin messages
|
||||||
('Nico Schottelius', 'nico.schottelius@ungleich.ch'),
|
ADMINS = ( (x, x + "@ungleich.ch") for x in ["web-team"] )
|
||||||
('Raul Ascencio', 'raul.ascencio@yandex.com'),
|
|
||||||
('Web team', 'web-team@ungleich.ch')
|
|
||||||
|
|
||||||
)
|
|
||||||
# ('Sanghee Kim', 'sanghee.kim@ungleich.ch'),
|
|
||||||
DEBUG=False
|
DEBUG=False
|
||||||
|
|
||||||
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
|
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
|
||||||
|
|
Before Width: | Height: | Size: 507 KiB |
Before Width: | Height: | Size: 380 KiB |
Before Width: | Height: | Size: 910 KiB |
Before Width: | Height: | Size: 16 KiB |
Before Width: | Height: | Size: 18 KiB |
Before Width: | Height: | Size: 358 KiB |
Before Width: | Height: | Size: 285 KiB |
Before Width: | Height: | Size: 106 KiB |
Before Width: | Height: | Size: 482 KiB |
Before Width: | Height: | Size: 291 KiB |
Before Width: | Height: | Size: 196 KiB |
Before Width: | Height: | Size: 2.3 MiB |
Before Width: | Height: | Size: 541 KiB |
Before Width: | Height: | Size: 441 KiB |
Before Width: | Height: | Size: 56 KiB |
Before Width: | Height: | Size: 190 KiB |
Before Width: | Height: | Size: 114 KiB |
Before Width: | Height: | Size: 283 KiB |
Before Width: | Height: | Size: 103 KiB |
Before Width: | Height: | Size: 3.5 MiB |
Before Width: | Height: | Size: 1.3 MiB |
Before Width: | Height: | Size: 384 KiB |
Before Width: | Height: | Size: 1.2 MiB |
Before Width: | Height: | Size: 105 KiB |
Before Width: | Height: | Size: 252 KiB |
Before Width: | Height: | Size: 36 KiB |
Before Width: | Height: | Size: 303 KiB |
Before Width: | Height: | Size: 195 KiB |
Before Width: | Height: | Size: 5.5 KiB |
Before Width: | Height: | Size: 27 KiB |
Before Width: | Height: | Size: 2.8 MiB |
Before Width: | Height: | Size: 447 B |
Before Width: | Height: | Size: 58 KiB |
Before Width: | Height: | Size: 328 KiB |
Before Width: | Height: | Size: 980 KiB |
Before Width: | Height: | Size: 503 KiB |
Before Width: | Height: | Size: 942 KiB |
Before Width: | Height: | Size: 1.3 MiB |
Before Width: | Height: | Size: 557 KiB |
Before Width: | Height: | Size: 3.2 MiB |
Before Width: | Height: | Size: 833 KiB |
Before Width: | Height: | Size: 12 KiB |
Before Width: | Height: | Size: 893 KiB |
Before Width: | Height: | Size: 280 KiB |
Before Width: | Height: | Size: 2.7 MiB |
Before Width: | Height: | Size: 265 KiB |
Before Width: | Height: | Size: 3.4 MiB |
Before Width: | Height: | Size: 13 KiB |
Before Width: | Height: | Size: 415 KiB |
Before Width: | Height: | Size: 438 KiB |
Before Width: | Height: | Size: 2.1 MiB |
Before Width: | Height: | Size: 13 KiB |
Before Width: | Height: | Size: 824 KiB |
Before Width: | Height: | Size: 2.4 MiB |
|
@ -1,71 +0,0 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
|
||||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
|
|
||||||
<svg version="1.0" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
|
||||||
width="250px" height="70px" viewBox="0 0 250 70" enable-background="new 0 0 250 70" xml:space="preserve">
|
|
||||||
<g>
|
|
||||||
<path fill="#010101" d="M72.846,59.448c0-0.947,0.333-1.869,1.003-2.77c0.67-0.899,1.625-1.709,2.866-2.425v-0.201
|
|
||||||
c-0.649-0.356-1.224-0.854-1.717-1.492c-0.486-0.638-0.732-1.463-0.732-2.474c0-0.784,0.254-1.577,0.762-2.379
|
|
||||||
c0.502-0.8,1.216-1.511,2.133-2.13V45.38c-0.853-0.619-1.572-1.446-2.161-2.476c-0.584-1.028-0.878-2.262-0.878-3.697
|
|
||||||
c0-1.341,0.259-2.542,0.782-3.605c0.523-1.062,1.227-1.965,2.11-2.719c0.881-0.752,1.901-1.323,3.062-1.717
|
|
||||||
c1.158-0.391,2.392-0.586,3.7-0.586c1.338,0,2.547,0.195,3.628,0.586h9.849v3.677h-5.979c0.493,0.523,0.932,1.17,1.323,1.935
|
|
||||||
c0.394,0.771,0.589,1.629,0.589,2.576c0,1.309-0.244,2.472-0.734,3.479c-0.49,1.016-1.161,1.871-2.011,2.574
|
|
||||||
c-0.852,0.703-1.846,1.232-2.988,1.59c-1.143,0.359-2.369,0.543-3.677,0.543c-0.586,0-1.216-0.066-1.889-0.198
|
|
||||||
c-0.667-0.127-1.328-0.328-1.983-0.589c-1.112,0.721-1.666,1.552-1.666,2.501c0,0.881,0.409,1.521,1.224,1.912
|
|
||||||
c0.815,0.394,1.993,0.589,3.529,0.589h5.096c3.142,0,5.464,0.452,6.988,1.346c1.518,0.899,2.277,2.383,2.277,4.438
|
|
||||||
c0,1.146-0.32,2.222-0.955,3.234c-0.641,1.014-1.546,1.903-2.723,2.675c-1.175,0.764-2.597,1.37-4.266,1.811
|
|
||||||
c-1.663,0.444-3.527,0.663-5.586,0.663c-3.4,0-6.076-0.548-8.036-1.646C73.827,63.184,72.846,61.57,72.846,59.448z M76.958,58.861
|
|
||||||
c0,1.143,0.63,2.062,1.89,2.768c1.259,0.703,3.08,1.055,5.464,1.055c1.274,0,2.425-0.123,3.456-0.367
|
|
||||||
c1.03-0.244,1.912-0.569,2.647-0.98c0.737-0.409,1.295-0.876,1.691-1.396c0.391-0.521,0.586-1.076,0.586-1.668
|
|
||||||
c0-1.043-0.434-1.736-1.297-2.08c-0.866-0.346-2.166-0.516-3.897-0.516h-4.215c-0.751,0-1.419-0.023-2.006-0.074
|
|
||||||
c-0.591-0.048-1.147-0.153-1.668-0.318c-0.983,0.556-1.666,1.13-2.062,1.716C77.159,57.586,76.958,58.204,76.958,58.861z
|
|
||||||
M83.773,44.4c1.374,0,2.547-0.454,3.532-1.37c0.978-0.917,1.47-2.188,1.47-3.821c0-1.572-0.493-2.829-1.47-3.775
|
|
||||||
c-0.985-0.948-2.158-1.423-3.532-1.423s-2.549,0.475-3.529,1.423c-0.978,0.946-1.47,2.203-1.47,3.775
|
|
||||||
c0,1.633,0.493,2.905,1.47,3.821C81.225,43.946,82.399,44.4,83.773,44.4z"/>
|
|
||||||
</g>
|
|
||||||
<path fill="#010101" d="M36.09,55.784h-4.107l-0.404-4.104h-0.203c-1.219,1.42-2.546,2.559-3.98,3.424
|
|
||||||
c-1.438,0.857-3.101,1.289-4.994,1.289c-2.94,0-5.088-0.851-6.439-2.559c-1.353-1.707-2.027-4.2-2.027-7.479V33.906l-6.562-0.127
|
|
||||||
l11.632-4.478l-0.051,3.382v13.013c0,2.199,0.389,3.812,1.168,4.842c0.777,1.033,2.11,1.549,4.004,1.549
|
|
||||||
c1.285,0,2.458-0.314,3.524-0.941c1.063-0.625,2.207-1.682,3.423-3.166V30.993h5.02L36.09,55.784L36.09,55.784z"/>
|
|
||||||
<path fill="#010101" d="M44.406,30.992h4.106l0.405,4.007h0.2c1.252-1.287,2.604-2.376,4.059-3.271
|
|
||||||
c1.449-0.896,3.144-1.343,5.07-1.343c2.905,0,5.038,0.863,6.389,2.584c1.351,1.722,2.028,4.21,2.028,7.455v15.359h-5.021V41.082
|
|
||||||
c0-2.161-0.387-3.761-1.163-4.789c-0.777-1.033-2.113-1.551-4.007-1.551c-1.32,0-2.501,0.335-3.551,0.99
|
|
||||||
c-1.046,0.66-2.217,1.646-3.499,2.968v17.083h-5.017V30.992L44.406,30.992z"/>
|
|
||||||
<path fill="#010101" d="M122.687,43.416c0-2.029,0.355-3.848,1.064-5.452c0.71-1.604,1.654-2.976,2.841-4.106
|
|
||||||
c1.181-1.132,2.532-1.996,4.058-2.587c1.52-0.591,3.093-0.886,4.71-0.886c1.828,0,3.439,0.287,4.849,0.863
|
|
||||||
c1.397,0.574,2.592,1.374,3.571,2.402c0.982,1.036,1.726,2.268,2.23,3.708c0.507,1.435,0.763,3.014,0.763,4.737
|
|
||||||
c0,0.513-0.026,0.988-0.078,1.445c-0.051,0.46-0.107,0.838-0.178,1.14h-18.66c0.17,2.435,1.074,4.338,2.717,5.706
|
|
||||||
c1.639,1.369,3.705,2.052,6.208,2.052c1.354,0,2.61-0.186,3.778-0.56c1.168-0.368,2.31-0.891,3.42-1.565l1.774,3.191
|
|
||||||
c-1.279,0.812-2.729,1.495-4.332,2.055c-1.606,0.557-3.375,0.834-5.302,0.834c-1.86,0-3.604-0.293-5.243-0.886
|
|
||||||
c-1.644-0.591-3.066-1.44-4.285-2.559c-1.22-1.115-2.175-2.478-2.866-4.083C123.033,47.258,122.687,45.441,122.687,43.416z
|
|
||||||
M142.105,41.237c0-2.234-0.577-3.941-1.725-5.126c-1.15-1.182-2.789-1.771-4.918-1.771c-1.859,0-3.517,0.589-4.97,1.771
|
|
||||||
c-1.455,1.186-2.351,2.892-2.686,5.126H142.105z"/>
|
|
||||||
<path fill="#010101" d="M163.271,30.208l0.015,26.086h-5.02V37.248h-9.415L163.271,30.208z M160.344,25.094
|
|
||||||
c-1.084,0-1.978-0.323-2.688-0.962c-0.707-0.643-1.062-1.506-1.062-2.587s0.354-1.95,1.062-2.61c0.711-0.66,1.604-0.988,2.688-0.988
|
|
||||||
c1.08,0,1.979,0.328,2.688,0.988c0.709,0.66,1.066,1.529,1.066,2.61s-0.357,1.945-1.066,2.587
|
|
||||||
C162.322,24.771,161.424,25.094,160.344,25.094z"/>
|
|
||||||
<path fill="#010101" d="M170.242,43.921c0-2.062,0.373-3.905,1.117-5.524c0.744-1.625,1.76-2.991,3.045-4.111
|
|
||||||
c1.281-1.112,2.761-1.955,4.437-2.532c1.675-0.574,3.455-0.86,5.349-0.86c2.028,0,3.802,0.345,5.324,1.036
|
|
||||||
c1.521,0.693,2.791,1.534,3.804,2.511l-2.434,3.194c-0.981-0.812-1.998-1.444-3.047-1.901c-1.043-0.457-2.179-0.684-3.396-0.684
|
|
||||||
c-1.313,0-2.531,0.211-3.648,0.635c-1.112,0.422-2.071,1.021-2.862,1.799c-0.793,0.778-1.409,1.716-1.853,2.815
|
|
||||||
c-0.438,1.097-0.657,2.31-0.657,3.623c0,1.318,0.211,2.529,0.635,3.628c0.422,1.098,1.028,2.034,1.824,2.812
|
|
||||||
c0.795,0.773,1.732,1.38,2.814,1.801c1.081,0.419,2.279,0.63,3.6,0.63c1.521,0,2.892-0.285,4.105-0.858
|
|
||||||
c1.217-0.576,2.312-1.267,3.297-2.08l2.13,3.246c-1.419,1.217-2.976,2.155-4.666,2.812c-1.688,0.658-3.448,0.988-5.272,0.988
|
|
||||||
c-1.926,0-3.726-0.287-5.398-0.861c-1.674-0.571-3.117-1.419-4.337-2.536c-1.216-1.118-2.171-2.476-2.864-4.083
|
|
||||||
C170.59,47.818,170.242,45.984,170.242,43.921z"/>
|
|
||||||
<path fill="#010101" d="M194.072,20.488l10.513-5.213v14.603l-0.306,5.576c1.252-1.282,2.603-2.366,4.06-3.245
|
|
||||||
c1.453-0.876,3.144-1.315,5.069-1.315c2.904,0,5.035,0.86,6.388,2.584c1.351,1.724,2.026,4.209,2.026,7.456v15.36h-5.02V41.587
|
|
||||||
c0-2.163-0.39-3.76-1.168-4.789c-0.774-1.03-2.107-1.549-4.002-1.549c-1.317,0-2.504,0.33-3.55,0.99
|
|
||||||
c-1.049,0.659-2.217,1.647-3.5,2.968v17.085h-5.021l-0.104-36.017L194.072,20.488z"/>
|
|
||||||
<g>
|
|
||||||
<polygon fill="#070404" points="222.766,9.28 221.074,12.812 242.092,12.901 243.783,9.3 "/>
|
|
||||||
<polygon fill="#070404" points="221.103,16.986 219.357,20.693 240.404,20.736 242.092,17.07 "/>
|
|
||||||
<polygon fill="#070404" points="225.205,24.898 234.847,4.372 238.561,4.425 229.031,24.903 "/>
|
|
||||||
</g>
|
|
||||||
<g>
|
|
||||||
<path fill="#010101" d="M110.112,47.722c0,1.663,0.416,2.867,1.251,3.604c0.833,0.732,1.917,1.104,3.258,1.104
|
|
||||||
c0.652,0,1.325-0.084,2.012-0.248c0.686-0.164,1.455-0.425,2.304-0.785l1.176,3.631c-0.557,0.192-1.088,0.371-1.593,0.539
|
|
||||||
c-0.512,0.162-1.021,0.297-1.544,0.412c-0.522,0.117-1.069,0.215-1.641,0.295c-0.574,0.08-1.202,0.125-1.888,0.125
|
|
||||||
c-2.681,0-4.715-0.768-6.104-2.307c-1.389-1.536-2.081-3.755-2.081-6.665V14.792H97.42l12.691-8.943"/>
|
|
||||||
</g>
|
|
||||||
</svg>
|
|
Before Width: | Height: | Size: 6.6 KiB |
Before Width: | Height: | Size: 521 KiB |
Before Width: | Height: | Size: 628 KiB |
Before Width: | Height: | Size: 8.8 KiB |
Before Width: | Height: | Size: 189 KiB |
Before Width: | Height: | Size: 321 KiB |
|
@ -1,71 +0,0 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
|
||||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
|
|
||||||
<svg version="1.0" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
|
||||||
width="250px" height="70px" viewBox="0 0 250 70" enable-background="new 0 0 250 70" xml:space="preserve">
|
|
||||||
<g>
|
|
||||||
<path fill="#010101" d="M72.846,59.448c0-0.947,0.333-1.869,1.003-2.77c0.67-0.899,1.625-1.709,2.866-2.425v-0.201
|
|
||||||
c-0.649-0.356-1.224-0.854-1.717-1.492c-0.486-0.638-0.732-1.463-0.732-2.474c0-0.784,0.254-1.577,0.762-2.379
|
|
||||||
c0.502-0.8,1.216-1.511,2.133-2.13V45.38c-0.853-0.619-1.572-1.446-2.161-2.476c-0.584-1.028-0.878-2.262-0.878-3.697
|
|
||||||
c0-1.341,0.259-2.542,0.782-3.605c0.523-1.062,1.227-1.965,2.11-2.719c0.881-0.752,1.901-1.323,3.062-1.717
|
|
||||||
c1.158-0.391,2.392-0.586,3.7-0.586c1.338,0,2.547,0.195,3.628,0.586h9.849v3.677h-5.979c0.493,0.523,0.932,1.17,1.323,1.935
|
|
||||||
c0.394,0.771,0.589,1.629,0.589,2.576c0,1.309-0.244,2.472-0.734,3.479c-0.49,1.016-1.161,1.871-2.011,2.574
|
|
||||||
c-0.852,0.703-1.846,1.232-2.988,1.59c-1.143,0.359-2.369,0.543-3.677,0.543c-0.586,0-1.216-0.066-1.889-0.198
|
|
||||||
c-0.667-0.127-1.328-0.328-1.983-0.589c-1.112,0.721-1.666,1.552-1.666,2.501c0,0.881,0.409,1.521,1.224,1.912
|
|
||||||
c0.815,0.394,1.993,0.589,3.529,0.589h5.096c3.142,0,5.464,0.452,6.988,1.346c1.518,0.899,2.277,2.383,2.277,4.438
|
|
||||||
c0,1.146-0.32,2.222-0.955,3.234c-0.641,1.014-1.546,1.903-2.723,2.675c-1.175,0.764-2.597,1.37-4.266,1.811
|
|
||||||
c-1.663,0.444-3.527,0.663-5.586,0.663c-3.4,0-6.076-0.548-8.036-1.646C73.827,63.184,72.846,61.57,72.846,59.448z M76.958,58.861
|
|
||||||
c0,1.143,0.63,2.062,1.89,2.768c1.259,0.703,3.08,1.055,5.464,1.055c1.274,0,2.425-0.123,3.456-0.367
|
|
||||||
c1.03-0.244,1.912-0.569,2.647-0.98c0.737-0.409,1.295-0.876,1.691-1.396c0.391-0.521,0.586-1.076,0.586-1.668
|
|
||||||
c0-1.043-0.434-1.736-1.297-2.08c-0.866-0.346-2.166-0.516-3.897-0.516h-4.215c-0.751,0-1.419-0.023-2.006-0.074
|
|
||||||
c-0.591-0.048-1.147-0.153-1.668-0.318c-0.983,0.556-1.666,1.13-2.062,1.716C77.159,57.586,76.958,58.204,76.958,58.861z
|
|
||||||
M83.773,44.4c1.374,0,2.547-0.454,3.532-1.37c0.978-0.917,1.47-2.188,1.47-3.821c0-1.572-0.493-2.829-1.47-3.775
|
|
||||||
c-0.985-0.948-2.158-1.423-3.532-1.423s-2.549,0.475-3.529,1.423c-0.978,0.946-1.47,2.203-1.47,3.775
|
|
||||||
c0,1.633,0.493,2.905,1.47,3.821C81.225,43.946,82.399,44.4,83.773,44.4z"/>
|
|
||||||
</g>
|
|
||||||
<path fill="#010101" d="M36.09,55.784h-4.107l-0.404-4.104h-0.203c-1.219,1.42-2.546,2.559-3.98,3.424
|
|
||||||
c-1.438,0.857-3.101,1.289-4.994,1.289c-2.94,0-5.088-0.851-6.439-2.559c-1.353-1.707-2.027-4.2-2.027-7.479V33.906l-6.562-0.127
|
|
||||||
l11.632-4.478l-0.051,3.382v13.013c0,2.199,0.389,3.812,1.168,4.842c0.777,1.033,2.11,1.549,4.004,1.549
|
|
||||||
c1.285,0,2.458-0.314,3.524-0.941c1.063-0.625,2.207-1.682,3.423-3.166V30.993h5.02L36.09,55.784L36.09,55.784z"/>
|
|
||||||
<path fill="#010101" d="M44.406,30.992h4.106l0.405,4.007h0.2c1.252-1.287,2.604-2.376,4.059-3.271
|
|
||||||
c1.449-0.896,3.144-1.343,5.07-1.343c2.905,0,5.038,0.863,6.389,2.584c1.351,1.722,2.028,4.21,2.028,7.455v15.359h-5.021V41.082
|
|
||||||
c0-2.161-0.387-3.761-1.163-4.789c-0.777-1.033-2.113-1.551-4.007-1.551c-1.32,0-2.501,0.335-3.551,0.99
|
|
||||||
c-1.046,0.66-2.217,1.646-3.499,2.968v17.083h-5.017V30.992L44.406,30.992z"/>
|
|
||||||
<path fill="#010101" d="M122.687,43.416c0-2.029,0.355-3.848,1.064-5.452c0.71-1.604,1.654-2.976,2.841-4.106
|
|
||||||
c1.181-1.132,2.532-1.996,4.058-2.587c1.52-0.591,3.093-0.886,4.71-0.886c1.828,0,3.439,0.287,4.849,0.863
|
|
||||||
c1.397,0.574,2.592,1.374,3.571,2.402c0.982,1.036,1.726,2.268,2.23,3.708c0.507,1.435,0.763,3.014,0.763,4.737
|
|
||||||
c0,0.513-0.026,0.988-0.078,1.445c-0.051,0.46-0.107,0.838-0.178,1.14h-18.66c0.17,2.435,1.074,4.338,2.717,5.706
|
|
||||||
c1.639,1.369,3.705,2.052,6.208,2.052c1.354,0,2.61-0.186,3.778-0.56c1.168-0.368,2.31-0.891,3.42-1.565l1.774,3.191
|
|
||||||
c-1.279,0.812-2.729,1.495-4.332,2.055c-1.606,0.557-3.375,0.834-5.302,0.834c-1.86,0-3.604-0.293-5.243-0.886
|
|
||||||
c-1.644-0.591-3.066-1.44-4.285-2.559c-1.22-1.115-2.175-2.478-2.866-4.083C123.033,47.258,122.687,45.441,122.687,43.416z
|
|
||||||
M142.105,41.237c0-2.234-0.577-3.941-1.725-5.126c-1.15-1.182-2.789-1.771-4.918-1.771c-1.859,0-3.517,0.589-4.97,1.771
|
|
||||||
c-1.455,1.186-2.351,2.892-2.686,5.126H142.105z"/>
|
|
||||||
<path fill="#010101" d="M163.271,30.208l0.015,26.086h-5.02V37.248h-9.415L163.271,30.208z M160.344,25.094
|
|
||||||
c-1.084,0-1.978-0.323-2.688-0.962c-0.707-0.643-1.062-1.506-1.062-2.587s0.354-1.95,1.062-2.61c0.711-0.66,1.604-0.988,2.688-0.988
|
|
||||||
c1.08,0,1.979,0.328,2.688,0.988c0.709,0.66,1.066,1.529,1.066,2.61s-0.357,1.945-1.066,2.587
|
|
||||||
C162.322,24.771,161.424,25.094,160.344,25.094z"/>
|
|
||||||
<path fill="#010101" d="M170.242,43.921c0-2.062,0.373-3.905,1.117-5.524c0.744-1.625,1.76-2.991,3.045-4.111
|
|
||||||
c1.281-1.112,2.761-1.955,4.437-2.532c1.675-0.574,3.455-0.86,5.349-0.86c2.028,0,3.802,0.345,5.324,1.036
|
|
||||||
c1.521,0.693,2.791,1.534,3.804,2.511l-2.434,3.194c-0.981-0.812-1.998-1.444-3.047-1.901c-1.043-0.457-2.179-0.684-3.396-0.684
|
|
||||||
c-1.313,0-2.531,0.211-3.648,0.635c-1.112,0.422-2.071,1.021-2.862,1.799c-0.793,0.778-1.409,1.716-1.853,2.815
|
|
||||||
c-0.438,1.097-0.657,2.31-0.657,3.623c0,1.318,0.211,2.529,0.635,3.628c0.422,1.098,1.028,2.034,1.824,2.812
|
|
||||||
c0.795,0.773,1.732,1.38,2.814,1.801c1.081,0.419,2.279,0.63,3.6,0.63c1.521,0,2.892-0.285,4.105-0.858
|
|
||||||
c1.217-0.576,2.312-1.267,3.297-2.08l2.13,3.246c-1.419,1.217-2.976,2.155-4.666,2.812c-1.688,0.658-3.448,0.988-5.272,0.988
|
|
||||||
c-1.926,0-3.726-0.287-5.398-0.861c-1.674-0.571-3.117-1.419-4.337-2.536c-1.216-1.118-2.171-2.476-2.864-4.083
|
|
||||||
C170.59,47.818,170.242,45.984,170.242,43.921z"/>
|
|
||||||
<path fill="#010101" d="M194.072,20.488l10.513-5.213v14.603l-0.306,5.576c1.252-1.282,2.603-2.366,4.06-3.245
|
|
||||||
c1.453-0.876,3.144-1.315,5.069-1.315c2.904,0,5.035,0.86,6.388,2.584c1.351,1.724,2.026,4.209,2.026,7.456v15.36h-5.02V41.587
|
|
||||||
c0-2.163-0.39-3.76-1.168-4.789c-0.774-1.03-2.107-1.549-4.002-1.549c-1.317,0-2.504,0.33-3.55,0.99
|
|
||||||
c-1.049,0.659-2.217,1.647-3.5,2.968v17.085h-5.021l-0.104-36.017L194.072,20.488z"/>
|
|
||||||
<g>
|
|
||||||
<polygon fill="#070404" points="222.766,9.28 221.074,12.812 242.092,12.901 243.783,9.3 "/>
|
|
||||||
<polygon fill="#070404" points="221.103,16.986 219.357,20.693 240.404,20.736 242.092,17.07 "/>
|
|
||||||
<polygon fill="#070404" points="225.205,24.898 234.847,4.372 238.561,4.425 229.031,24.903 "/>
|
|
||||||
</g>
|
|
||||||
<g>
|
|
||||||
<path fill="#010101" d="M110.112,47.722c0,1.663,0.416,2.867,1.251,3.604c0.833,0.732,1.917,1.104,3.258,1.104
|
|
||||||
c0.652,0,1.325-0.084,2.012-0.248c0.686-0.164,1.455-0.425,2.304-0.785l1.176,3.631c-0.557,0.192-1.088,0.371-1.593,0.539
|
|
||||||
c-0.512,0.162-1.021,0.297-1.544,0.412c-0.522,0.117-1.069,0.215-1.641,0.295c-0.574,0.08-1.202,0.125-1.888,0.125
|
|
||||||
c-2.681,0-4.715-0.768-6.104-2.307c-1.389-1.536-2.081-3.755-2.081-6.665V14.792H97.42l12.691-8.943"/>
|
|
||||||
</g>
|
|
||||||
</svg>
|
|
Before Width: | Height: | Size: 6.6 KiB |
Before Width: | Height: | Size: 1.2 MiB |
Before Width: | Height: | Size: 879 KiB |
Before Width: | Height: | Size: 2.7 MiB |
Before Width: | Height: | Size: 1.1 MiB |
Before Width: | Height: | Size: 56 KiB |
Before Width: | Height: | Size: 618 KiB |
Before Width: | Height: | Size: 262 KiB |
Before Width: | Height: | Size: 506 KiB |
Before Width: | Height: | Size: 119 KiB |
Before Width: | Height: | Size: 26 KiB |
Before Width: | Height: | Size: 1.4 MiB |
Before Width: | Height: | Size: 1.3 MiB |
Before Width: | Height: | Size: 360 KiB |
Before Width: | Height: | Size: 833 KiB |
Before Width: | Height: | Size: 143 KiB |
Before Width: | Height: | Size: 27 KiB |
Before Width: | Height: | Size: 710 KiB |
Before Width: | Height: | Size: 665 KiB |
Before Width: | Height: | Size: 3.1 KiB |
Before Width: | Height: | Size: 436 KiB |
Before Width: | Height: | Size: 237 KiB |
Before Width: | Height: | Size: 1.2 MiB |
Before Width: | Height: | Size: 92 KiB |
Before Width: | Height: | Size: 269 KiB |
Before Width: | Height: | Size: 209 KiB |
Before Width: | Height: | Size: 114 KiB |
Before Width: | Height: | Size: 1.6 MiB |
Before Width: | Height: | Size: 184 KiB |
Before Width: | Height: | Size: 181 KiB |
Before Width: | Height: | Size: 2 MiB |