diff --git a/.gitignore b/.gitignore
index b9488a7a..6e6250b1 100644
--- a/.gitignore
+++ b/.gitignore
@@ -11,7 +11,7 @@ __pycache__/
#django
local_settings.py
-media/*
+media/
!media/keep
/CACHE/
/static/
diff --git a/INSTALLATION.rst b/INSTALLATION.rst
index 26a4ae0e..ee36b3ad 100644
--- a/INSTALLATION.rst
+++ b/INSTALLATION.rst
@@ -43,6 +43,25 @@ After You have complited the task create a pull request and ask someone to revie
`read more about getting code from upstream here `_
+*merging your branch*
+(**IMPORTANT**)
+
+Before You make a pull request from Your forked branch to the ungleich make sure You did merge and resolve any conflicts You may find and that the application is running bug free.
+Also You can run
+
+``./manage test``
+
+
+To merge upstream branch run this git commands.
+
+``git fetch upstream``
+
+``git checkout your_feature_branch``
+
+``git merge remotes/upstream/develop``
+
+
+
diff --git a/dynamicweb/settings/base.py b/dynamicweb/settings/base.py
index 9d64dc60..84fd545a 100644
--- a/dynamicweb/settings/base.py
+++ b/dynamicweb/settings/base.py
@@ -30,7 +30,7 @@ dotenv.read_dotenv("{0}/.env".format(PROJECT_DIR))
SITE_ID = 1
APP_ROOT_ENDPOINT = "/"
-APPEND_SLASH=True
+APPEND_SLASH = True
LOGIN_URL = None
LOGOUT_URL = None
@@ -43,7 +43,7 @@ SECRET_KEY = env('DJANGO_SECRET_KEY')
# Application definition
INSTALLED_APPS = (
- #1st migrate
+ # 1st migrate
'membership',
'django.contrib.admin',
'django.contrib.auth',
@@ -79,26 +79,26 @@ INSTALLED_APPS = (
'menus', # helper for model independent hierarchical website navigation
'cmsplugin_filer_image',
- #2nd migrate
+ # 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',
+ '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
+ # blog
# versioning
'reversion',
# ungleich
@@ -106,8 +106,7 @@ INSTALLED_APPS = (
'ungleich_page',
'hosting',
'digitalglarus',
- 'django_extensions',
- 'debug_toolbar'
+
)
MIDDLEWARE_CLASSES = (
@@ -128,18 +127,17 @@ MIDDLEWARE_CLASSES = (
ROOT_URLCONF = 'dynamicweb.urls'
-
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
- 'DIRS': [os.path.join(PROJECT_DIR,'cms_templates/'),
- os.path.join(PROJECT_DIR,'cms_templates/djangocms_blog/'),
- os.path.join(PROJECT_DIR,'membership'),
- os.path.join(PROJECT_DIR,'ungleich/templates/djangocms_blog/'),
- os.path.join(PROJECT_DIR,'ungleich/templates/cms/ungleichch'),
- os.path.join(PROJECT_DIR,'ungleich/templates/ungleich')
+ 'DIRS': [os.path.join(PROJECT_DIR, 'cms_templates/'),
+ os.path.join(PROJECT_DIR, 'cms_templates/djangocms_blog/'),
+ os.path.join(PROJECT_DIR, 'membership'),
+ os.path.join(PROJECT_DIR, 'ungleich/templates/djangocms_blog/'),
+ os.path.join(PROJECT_DIR, 'ungleich/templates/cms/ungleichch'),
+ os.path.join(PROJECT_DIR, 'ungleich/templates/ungleich')
- ],
+ ],
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
@@ -170,7 +168,7 @@ CMS_TEMPLATES = (
('letscowork.html', gettext('DG.CoWork')),
# ('detail.html', gettext('DG.Detail')),
('one_column.html', gettext('DG.OneColumn')),
- #ungleich
+ # ungleich
('blog_ungleich.html', gettext('Blog')),
('page.html', gettext('Page')),
)
@@ -204,8 +202,8 @@ LANGUAGES = (
LANGUAGE_CODE = 'en-us'
LOCALE_PATHS = [
-
- os.path.join(PROJECT_DIR,'digitalglarus/locale'),
+
+ os.path.join(PROJECT_DIR, 'digitalglarus/locale'),
]
CMS_PLACEHOLDER_CONF = {
@@ -332,9 +330,9 @@ STATICFILES_FINDERS = (
'compressor.finders.CompressorFinder',
)
-#COMPRESS_PRECOMPILERS = (
+# COMPRESS_PRECOMPILERS = (
# ('text/less', 'lesscpy {infile}'),
-#)
+# )
THUMBNAIL_PROCESSORS = (
'easy_thumbnails.processors.colorspace',
@@ -446,14 +444,15 @@ AUTH_USER_MODEL = 'membership.CustomUser'
# PAYMENT
-STRIPE_API_PUBLIC_KEY = 'pk_test_QqBZ50Am8KOxaAlOxbcm9Psl' # used in frontend to call from user browser
-STRIPE_API_PRIVATE_KEY = 'sk_test_dqAmbKAij12QCGfkYZ3poGt2' # 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'}
+ 'message': 'Thank You for registering for account on Digital Glarus.\nPlease verify Your account under following link http://{host}/en-us/digitalglarus/login/validate/{slug}',
+ }
+
+STRIPE_API_PRIVATE_KEY = env('STRIPE_API_PRIVATE_KEY')
+STRIPE_API_PUBLIC_KEY = env('STRIPE_API_PUBLIC_KEY')
DEBUG = True
@@ -461,5 +460,3 @@ if DEBUG:
from .local import *
else:
from .prod import *
-#dont migrate test
-# SOUTH_TESTS_MIGRATE = False
diff --git a/dynamicweb/settings/prod.py b/dynamicweb/settings/prod.py
index 2577bfe5..1f21ca46 100644
--- a/dynamicweb/settings/prod.py
+++ b/dynamicweb/settings/prod.py
@@ -8,6 +8,8 @@ ADMINS = (
MANAGERS = ADMINS
+REGISTRATION_MESSAGE['message'] = REGISTRATION_MESSAGE['message'].format(host='digitalglarus.ungleich.ch',slug='{slug}')
+
ALLOWED_HOSTS = [
".ungleich.ch",
"digital.glarus.ungleich.ch" ,
diff --git a/dynamicweb/urls.py b/dynamicweb/urls.py
index d6fb4a52..0e2e2196 100644
--- a/dynamicweb/urls.py
+++ b/dynamicweb/urls.py
@@ -7,6 +7,7 @@ from django.conf.urls.static import static
from django.conf import settings
from hosting.views import RailsHostingView, DjangoHostingView, NodeJSHostingView
from membership import urls as membership_urls
+import debug_toolbar
urlpatterns = [
url(r'^hosting/', include('hosting.urls', namespace="hosting")),
@@ -28,7 +29,7 @@ urlpatterns += i18n_patterns('',
url(r'^ungleich_page/',
include('ungleich_page.urls', namespace='ungleich_page'),
name='ungleich_page'),
- url(r'^blog/',include('ungleich.urls',namespace='ungleich')),
+ url(r'^blog/', include('ungleich.urls', namespace='ungleich')),
url(r'^', include('cms.urls'))
)
@@ -39,3 +40,4 @@ if settings.DEBUG:
'document_root': settings.MEDIA_ROOT,
}),
)
+ urlpatterns += patterns('',url(r'^__debug__/', include(debug_toolbar.urls)))
diff --git a/media/filer_public/88/5d/885d7b92-37a8-4267-970e-37b8bde0bfa4/slide-3.jpg b/media/filer_public/88/5d/885d7b92-37a8-4267-970e-37b8bde0bfa4/slide-3.jpg
new file mode 100644
index 00000000..2ad8f9e0
Binary files /dev/null and b/media/filer_public/88/5d/885d7b92-37a8-4267-970e-37b8bde0bfa4/slide-3.jpg differ
diff --git a/media/filer_public/bb/c0/bbc0cd6e-653b-40af-88e4-91d09f362dca/slide-2.jpg b/media/filer_public/bb/c0/bbc0cd6e-653b-40af-88e4-91d09f362dca/slide-2.jpg
new file mode 100644
index 00000000..b5770d52
Binary files /dev/null and b/media/filer_public/bb/c0/bbc0cd6e-653b-40af-88e4-91d09f362dca/slide-2.jpg differ
diff --git a/media/filer_public/ff/4e/ff4e5d8c-6411-4615-8481-26081d63c912/slide-1.jpg b/media/filer_public/ff/4e/ff4e5d8c-6411-4615-8481-26081d63c912/slide-1.jpg
new file mode 100644
index 00000000..283b2c84
Binary files /dev/null and b/media/filer_public/ff/4e/ff4e5d8c-6411-4615-8481-26081d63c912/slide-1.jpg differ
diff --git a/media/filer_public_thumbnails/filer_public/00/3a/003ac171-09bc-4032-b743-31747a66725d/twitter_header_thankyou_confetti_dark.png__120x120_q85_crop_subsampling-2.png b/media/filer_public_thumbnails/filer_public/00/3a/003ac171-09bc-4032-b743-31747a66725d/twitter_header_thankyou_confetti_dark.png__120x120_q85_crop_subsampling-2.png
new file mode 100644
index 00000000..c1237b76
Binary files /dev/null and b/media/filer_public_thumbnails/filer_public/00/3a/003ac171-09bc-4032-b743-31747a66725d/twitter_header_thankyou_confetti_dark.png__120x120_q85_crop_subsampling-2.png differ
diff --git a/media/filer_public_thumbnails/filer_public/0e/5a/0e5a91f6-7a7f-4bd3-914b-6fe45cb1c0f7/glarus-meetup.jpg__120x120_q85_crop_subsampling-2.jpg b/media/filer_public_thumbnails/filer_public/0e/5a/0e5a91f6-7a7f-4bd3-914b-6fe45cb1c0f7/glarus-meetup.jpg__120x120_q85_crop_subsampling-2.jpg
new file mode 100644
index 00000000..5f12b608
Binary files /dev/null and b/media/filer_public_thumbnails/filer_public/0e/5a/0e5a91f6-7a7f-4bd3-914b-6fe45cb1c0f7/glarus-meetup.jpg__120x120_q85_crop_subsampling-2.jpg differ
diff --git a/media/filer_public_thumbnails/filer_public/0f/67/0f67c096-d415-41b5-91f4-eaf6cdd88025/radio-mic-mike.jpg__120x120_q85_crop_subsampling-2.jpg b/media/filer_public_thumbnails/filer_public/0f/67/0f67c096-d415-41b5-91f4-eaf6cdd88025/radio-mic-mike.jpg__120x120_q85_crop_subsampling-2.jpg
new file mode 100644
index 00000000..d0e0901e
Binary files /dev/null and b/media/filer_public_thumbnails/filer_public/0f/67/0f67c096-d415-41b5-91f4-eaf6cdd88025/radio-mic-mike.jpg__120x120_q85_crop_subsampling-2.jpg differ
diff --git a/media/filer_public_thumbnails/filer_public/12/69/12691306-fb1e-4f9d-b4ae-d5c5d7230491/digitalglarus_meeting_luchsingen_nicoshottelius_.png__120x120_q85_crop_subsampling-2.jpg b/media/filer_public_thumbnails/filer_public/12/69/12691306-fb1e-4f9d-b4ae-d5c5d7230491/digitalglarus_meeting_luchsingen_nicoshottelius_.png__120x120_q85_crop_subsampling-2.jpg
new file mode 100644
index 00000000..7df769cc
Binary files /dev/null and b/media/filer_public_thumbnails/filer_public/12/69/12691306-fb1e-4f9d-b4ae-d5c5d7230491/digitalglarus_meeting_luchsingen_nicoshottelius_.png__120x120_q85_crop_subsampling-2.jpg differ
diff --git a/media/filer_public_thumbnails/filer_public/14/94/14949dd7-6372-4c1f-b788-26592d278893/header-bg.jpg__210x10000_q85_subsampling-2.jpg b/media/filer_public_thumbnails/filer_public/14/94/14949dd7-6372-4c1f-b788-26592d278893/header-bg.jpg__210x10000_q85_subsampling-2.jpg
new file mode 100644
index 00000000..e7b09887
Binary files /dev/null and b/media/filer_public_thumbnails/filer_public/14/94/14949dd7-6372-4c1f-b788-26592d278893/header-bg.jpg__210x10000_q85_subsampling-2.jpg differ
diff --git a/media/filer_public_thumbnails/filer_public/1b/26/1b267709-4e35-47a0-91fc-2cd09e9b04b3/jazz_background.png__120x120_q85_crop_subsampling-2.png b/media/filer_public_thumbnails/filer_public/1b/26/1b267709-4e35-47a0-91fc-2cd09e9b04b3/jazz_background.png__120x120_q85_crop_subsampling-2.png
new file mode 100644
index 00000000..97b4b98f
Binary files /dev/null and b/media/filer_public_thumbnails/filer_public/1b/26/1b267709-4e35-47a0-91fc-2cd09e9b04b3/jazz_background.png__120x120_q85_crop_subsampling-2.png differ
diff --git a/media/filer_public_thumbnails/filer_public/60/a4/60a49d16-edc5-4a89-b1b0-1c24645c492e/fondue.png__120x120_q85_crop_subsampling-2.jpg b/media/filer_public_thumbnails/filer_public/60/a4/60a49d16-edc5-4a89-b1b0-1c24645c492e/fondue.png__120x120_q85_crop_subsampling-2.jpg
new file mode 100644
index 00000000..60206d1a
Binary files /dev/null and b/media/filer_public_thumbnails/filer_public/60/a4/60a49d16-edc5-4a89-b1b0-1c24645c492e/fondue.png__120x120_q85_crop_subsampling-2.jpg differ
diff --git a/media/filer_public_thumbnails/filer_public/64/9a/649a64f6-353c-46b0-a086-8b8c12a59a76/rackfromtop.jpg__120x120_q85_crop_subsampling-2.jpg b/media/filer_public_thumbnails/filer_public/64/9a/649a64f6-353c-46b0-a086-8b8c12a59a76/rackfromtop.jpg__120x120_q85_crop_subsampling-2.jpg
new file mode 100644
index 00000000..bf0ebef5
Binary files /dev/null and b/media/filer_public_thumbnails/filer_public/64/9a/649a64f6-353c-46b0-a086-8b8c12a59a76/rackfromtop.jpg__120x120_q85_crop_subsampling-2.jpg differ
diff --git a/media/filer_public_thumbnails/filer_public/7e/c8/7ec8b6bd-33e2-49f1-9714-c67a3e7b317f/digitalglarus_opennebula_workshop_nico_back.jpg__120x120_q85_crop_subsampling-2.jpg b/media/filer_public_thumbnails/filer_public/7e/c8/7ec8b6bd-33e2-49f1-9714-c67a3e7b317f/digitalglarus_opennebula_workshop_nico_back.jpg__120x120_q85_crop_subsampling-2.jpg
new file mode 100644
index 00000000..5e7e378d
Binary files /dev/null and b/media/filer_public_thumbnails/filer_public/7e/c8/7ec8b6bd-33e2-49f1-9714-c67a3e7b317f/digitalglarus_opennebula_workshop_nico_back.jpg__120x120_q85_crop_subsampling-2.jpg differ
diff --git a/media/filer_public_thumbnails/filer_public/7f/f5/7ff594a0-2bc0-4ebb-a378-14c12bb54845/wissen-dark.jpg__120x120_q85_crop_subsampling-2.jpg b/media/filer_public_thumbnails/filer_public/7f/f5/7ff594a0-2bc0-4ebb-a378-14c12bb54845/wissen-dark.jpg__120x120_q85_crop_subsampling-2.jpg
new file mode 100644
index 00000000..2cf82887
Binary files /dev/null and b/media/filer_public_thumbnails/filer_public/7f/f5/7ff594a0-2bc0-4ebb-a378-14c12bb54845/wissen-dark.jpg__120x120_q85_crop_subsampling-2.jpg differ
diff --git a/media/filer_public_thumbnails/filer_public/86/c5/86c57854-980e-49e4-ad41-4aad76193642/newspaperboy.png__120x120_q85_crop_subsampling-2.jpg b/media/filer_public_thumbnails/filer_public/86/c5/86c57854-980e-49e4-ad41-4aad76193642/newspaperboy.png__120x120_q85_crop_subsampling-2.jpg
new file mode 100644
index 00000000..b71f54bd
Binary files /dev/null and b/media/filer_public_thumbnails/filer_public/86/c5/86c57854-980e-49e4-ad41-4aad76193642/newspaperboy.png__120x120_q85_crop_subsampling-2.jpg differ
diff --git a/media/filer_public_thumbnails/filer_public/88/5d/885d7b92-37a8-4267-970e-37b8bde0bfa4/slide-3.jpg__16x16_q85_crop_subsampling-2_upscale.jpg b/media/filer_public_thumbnails/filer_public/88/5d/885d7b92-37a8-4267-970e-37b8bde0bfa4/slide-3.jpg__16x16_q85_crop_subsampling-2_upscale.jpg
new file mode 100644
index 00000000..5622d086
Binary files /dev/null and b/media/filer_public_thumbnails/filer_public/88/5d/885d7b92-37a8-4267-970e-37b8bde0bfa4/slide-3.jpg__16x16_q85_crop_subsampling-2_upscale.jpg differ
diff --git a/media/filer_public_thumbnails/filer_public/88/5d/885d7b92-37a8-4267-970e-37b8bde0bfa4/slide-3.jpg__180x180_q85_crop_subsampling-2_upscale.jpg b/media/filer_public_thumbnails/filer_public/88/5d/885d7b92-37a8-4267-970e-37b8bde0bfa4/slide-3.jpg__180x180_q85_crop_subsampling-2_upscale.jpg
new file mode 100644
index 00000000..e9db848d
Binary files /dev/null and b/media/filer_public_thumbnails/filer_public/88/5d/885d7b92-37a8-4267-970e-37b8bde0bfa4/slide-3.jpg__180x180_q85_crop_subsampling-2_upscale.jpg differ
diff --git a/media/filer_public_thumbnails/filer_public/88/5d/885d7b92-37a8-4267-970e-37b8bde0bfa4/slide-3.jpg__32x32_q85_crop_subsampling-2_upscale.jpg b/media/filer_public_thumbnails/filer_public/88/5d/885d7b92-37a8-4267-970e-37b8bde0bfa4/slide-3.jpg__32x32_q85_crop_subsampling-2_upscale.jpg
new file mode 100644
index 00000000..f1bf347b
Binary files /dev/null and b/media/filer_public_thumbnails/filer_public/88/5d/885d7b92-37a8-4267-970e-37b8bde0bfa4/slide-3.jpg__32x32_q85_crop_subsampling-2_upscale.jpg differ
diff --git a/media/filer_public_thumbnails/filer_public/88/5d/885d7b92-37a8-4267-970e-37b8bde0bfa4/slide-3.jpg__48x48_q85_crop_subsampling-2_upscale.jpg b/media/filer_public_thumbnails/filer_public/88/5d/885d7b92-37a8-4267-970e-37b8bde0bfa4/slide-3.jpg__48x48_q85_crop_subsampling-2_upscale.jpg
new file mode 100644
index 00000000..59abb85d
Binary files /dev/null and b/media/filer_public_thumbnails/filer_public/88/5d/885d7b92-37a8-4267-970e-37b8bde0bfa4/slide-3.jpg__48x48_q85_crop_subsampling-2_upscale.jpg differ
diff --git a/media/filer_public_thumbnails/filer_public/88/5d/885d7b92-37a8-4267-970e-37b8bde0bfa4/slide-3.jpg__64x64_q85_crop_subsampling-2_upscale.jpg b/media/filer_public_thumbnails/filer_public/88/5d/885d7b92-37a8-4267-970e-37b8bde0bfa4/slide-3.jpg__64x64_q85_crop_subsampling-2_upscale.jpg
new file mode 100644
index 00000000..938ad449
Binary files /dev/null and b/media/filer_public_thumbnails/filer_public/88/5d/885d7b92-37a8-4267-970e-37b8bde0bfa4/slide-3.jpg__64x64_q85_crop_subsampling-2_upscale.jpg differ
diff --git a/media/filer_public_thumbnails/filer_public/8a/63/8a63c4e5-0dc8-48e3-b809-96ab5b52ea50/manifesto.png__120x120_q85_crop_subsampling-2.jpg b/media/filer_public_thumbnails/filer_public/8a/63/8a63c4e5-0dc8-48e3-b809-96ab5b52ea50/manifesto.png__120x120_q85_crop_subsampling-2.jpg
new file mode 100644
index 00000000..3e3d7abe
Binary files /dev/null and b/media/filer_public_thumbnails/filer_public/8a/63/8a63c4e5-0dc8-48e3-b809-96ab5b52ea50/manifesto.png__120x120_q85_crop_subsampling-2.jpg differ
diff --git a/media/filer_public_thumbnails/filer_public/a6/27/a6277491-6326-4888-8359-5c8e5aa71038/opennebulaconf_nicoschottelius_speech_cdist.jpg__120x120_q85_crop_subsampling-2.jpg b/media/filer_public_thumbnails/filer_public/a6/27/a6277491-6326-4888-8359-5c8e5aa71038/opennebulaconf_nicoschottelius_speech_cdist.jpg__120x120_q85_crop_subsampling-2.jpg
new file mode 100644
index 00000000..29f381aa
Binary files /dev/null and b/media/filer_public_thumbnails/filer_public/a6/27/a6277491-6326-4888-8359-5c8e5aa71038/opennebulaconf_nicoschottelius_speech_cdist.jpg__120x120_q85_crop_subsampling-2.jpg differ
diff --git a/media/filer_public_thumbnails/filer_public/a9/94/a994bc7b-82db-453b-ba09-bc40a571dfd9/digitalglarus_whynotzurich.png__210x10000_q85_subsampling-2.png b/media/filer_public_thumbnails/filer_public/a9/94/a994bc7b-82db-453b-ba09-bc40a571dfd9/digitalglarus_whynotzurich.png__210x10000_q85_subsampling-2.png
new file mode 100644
index 00000000..fe4545e7
Binary files /dev/null and b/media/filer_public_thumbnails/filer_public/a9/94/a994bc7b-82db-453b-ba09-bc40a571dfd9/digitalglarus_whynotzurich.png__210x10000_q85_subsampling-2.png differ
diff --git a/media/filer_public_thumbnails/filer_public/aa/9b/aa9b54c0-30c7-4efe-9fb0-a38ee2581796/16494988669_f4c6d00da4_b.jpg__120x120_q85_crop_subsampling-2.jpg b/media/filer_public_thumbnails/filer_public/aa/9b/aa9b54c0-30c7-4efe-9fb0-a38ee2581796/16494988669_f4c6d00da4_b.jpg__120x120_q85_crop_subsampling-2.jpg
new file mode 100644
index 00000000..abf124aa
Binary files /dev/null and b/media/filer_public_thumbnails/filer_public/aa/9b/aa9b54c0-30c7-4efe-9fb0-a38ee2581796/16494988669_f4c6d00da4_b.jpg__120x120_q85_crop_subsampling-2.jpg differ
diff --git a/media/filer_public_thumbnails/filer_public/bb/99/bb99bd4a-b925-492f-8b5b-3ae2984f0ab8/magical-bern-switzerland.jpg__120x120_q85_crop_subsampling-2.jpg b/media/filer_public_thumbnails/filer_public/bb/99/bb99bd4a-b925-492f-8b5b-3ae2984f0ab8/magical-bern-switzerland.jpg__120x120_q85_crop_subsampling-2.jpg
new file mode 100644
index 00000000..cc87f58d
Binary files /dev/null and b/media/filer_public_thumbnails/filer_public/bb/99/bb99bd4a-b925-492f-8b5b-3ae2984f0ab8/magical-bern-switzerland.jpg__120x120_q85_crop_subsampling-2.jpg differ
diff --git a/media/filer_public_thumbnails/filer_public/bb/c0/bbc0cd6e-653b-40af-88e4-91d09f362dca/slide-2.jpg__16x16_q85_crop_subsampling-2_upscale.jpg b/media/filer_public_thumbnails/filer_public/bb/c0/bbc0cd6e-653b-40af-88e4-91d09f362dca/slide-2.jpg__16x16_q85_crop_subsampling-2_upscale.jpg
new file mode 100644
index 00000000..279bf79f
Binary files /dev/null and b/media/filer_public_thumbnails/filer_public/bb/c0/bbc0cd6e-653b-40af-88e4-91d09f362dca/slide-2.jpg__16x16_q85_crop_subsampling-2_upscale.jpg differ
diff --git a/media/filer_public_thumbnails/filer_public/bb/c0/bbc0cd6e-653b-40af-88e4-91d09f362dca/slide-2.jpg__180x180_q85_crop_subsampling-2_upscale.jpg b/media/filer_public_thumbnails/filer_public/bb/c0/bbc0cd6e-653b-40af-88e4-91d09f362dca/slide-2.jpg__180x180_q85_crop_subsampling-2_upscale.jpg
new file mode 100644
index 00000000..dd4cc50a
Binary files /dev/null and b/media/filer_public_thumbnails/filer_public/bb/c0/bbc0cd6e-653b-40af-88e4-91d09f362dca/slide-2.jpg__180x180_q85_crop_subsampling-2_upscale.jpg differ
diff --git a/media/filer_public_thumbnails/filer_public/bb/c0/bbc0cd6e-653b-40af-88e4-91d09f362dca/slide-2.jpg__32x32_q85_crop_subsampling-2_upscale.jpg b/media/filer_public_thumbnails/filer_public/bb/c0/bbc0cd6e-653b-40af-88e4-91d09f362dca/slide-2.jpg__32x32_q85_crop_subsampling-2_upscale.jpg
new file mode 100644
index 00000000..748e33ee
Binary files /dev/null and b/media/filer_public_thumbnails/filer_public/bb/c0/bbc0cd6e-653b-40af-88e4-91d09f362dca/slide-2.jpg__32x32_q85_crop_subsampling-2_upscale.jpg differ
diff --git a/media/filer_public_thumbnails/filer_public/bb/c0/bbc0cd6e-653b-40af-88e4-91d09f362dca/slide-2.jpg__48x48_q85_crop_subsampling-2_upscale.jpg b/media/filer_public_thumbnails/filer_public/bb/c0/bbc0cd6e-653b-40af-88e4-91d09f362dca/slide-2.jpg__48x48_q85_crop_subsampling-2_upscale.jpg
new file mode 100644
index 00000000..2440fbb1
Binary files /dev/null and b/media/filer_public_thumbnails/filer_public/bb/c0/bbc0cd6e-653b-40af-88e4-91d09f362dca/slide-2.jpg__48x48_q85_crop_subsampling-2_upscale.jpg differ
diff --git a/media/filer_public_thumbnails/filer_public/bb/c0/bbc0cd6e-653b-40af-88e4-91d09f362dca/slide-2.jpg__64x64_q85_crop_subsampling-2_upscale.jpg b/media/filer_public_thumbnails/filer_public/bb/c0/bbc0cd6e-653b-40af-88e4-91d09f362dca/slide-2.jpg__64x64_q85_crop_subsampling-2_upscale.jpg
new file mode 100644
index 00000000..b0ba149f
Binary files /dev/null and b/media/filer_public_thumbnails/filer_public/bb/c0/bbc0cd6e-653b-40af-88e4-91d09f362dca/slide-2.jpg__64x64_q85_crop_subsampling-2_upscale.jpg differ
diff --git a/media/filer_public_thumbnails/filer_public/cc/a8/cca85891-c5f9-4053-815b-003579f2a042/breakfast_coffee_long_loaf_newspaper_5461_1920x1080.png__120x120_q85_crop_subsampling-2.jpg b/media/filer_public_thumbnails/filer_public/cc/a8/cca85891-c5f9-4053-815b-003579f2a042/breakfast_coffee_long_loaf_newspaper_5461_1920x1080.png__120x120_q85_crop_subsampling-2.jpg
new file mode 100644
index 00000000..b9b0eea0
Binary files /dev/null and b/media/filer_public_thumbnails/filer_public/cc/a8/cca85891-c5f9-4053-815b-003579f2a042/breakfast_coffee_long_loaf_newspaper_5461_1920x1080.png__120x120_q85_crop_subsampling-2.jpg differ
diff --git a/media/filer_public_thumbnails/filer_public/d9/9c/d99cafaa-c344-4b1f-adf0-187e0cddd80e/steam-train-small.jpg__120x120_q85_crop_subsampling-2.jpg b/media/filer_public_thumbnails/filer_public/d9/9c/d99cafaa-c344-4b1f-adf0-187e0cddd80e/steam-train-small.jpg__120x120_q85_crop_subsampling-2.jpg
new file mode 100644
index 00000000..531d83e7
Binary files /dev/null and b/media/filer_public_thumbnails/filer_public/d9/9c/d99cafaa-c344-4b1f-adf0-187e0cddd80e/steam-train-small.jpg__120x120_q85_crop_subsampling-2.jpg differ
diff --git a/media/filer_public_thumbnails/filer_public/db/e7/dbe708ff-86b5-448f-aab1-c84fb6c6730a/dsc_4967-small2.jpg__120x120_q85_crop_subsampling-2.jpg b/media/filer_public_thumbnails/filer_public/db/e7/dbe708ff-86b5-448f-aab1-c84fb6c6730a/dsc_4967-small2.jpg__120x120_q85_crop_subsampling-2.jpg
new file mode 100644
index 00000000..4b98525f
Binary files /dev/null and b/media/filer_public_thumbnails/filer_public/db/e7/dbe708ff-86b5-448f-aab1-c84fb6c6730a/dsc_4967-small2.jpg__120x120_q85_crop_subsampling-2.jpg differ
diff --git a/media/filer_public_thumbnails/filer_public/f1/2f/f12f5f1e-4ac4-40c9-b4cd-35a825725d86/digitalglarus_jazz_concert_theband.jpg__120x120_q85_crop_subsampling-2.jpg b/media/filer_public_thumbnails/filer_public/f1/2f/f12f5f1e-4ac4-40c9-b4cd-35a825725d86/digitalglarus_jazz_concert_theband.jpg__120x120_q85_crop_subsampling-2.jpg
new file mode 100644
index 00000000..1dfff63b
Binary files /dev/null and b/media/filer_public_thumbnails/filer_public/f1/2f/f12f5f1e-4ac4-40c9-b4cd-35a825725d86/digitalglarus_jazz_concert_theband.jpg__120x120_q85_crop_subsampling-2.jpg differ
diff --git a/media/filer_public_thumbnails/filer_public/f2/78/f2785449-e7b9-4260-b5d7-b30b16502b88/connectivity.jpg__120x120_q85_crop_subsampling-2.jpg b/media/filer_public_thumbnails/filer_public/f2/78/f2785449-e7b9-4260-b5d7-b30b16502b88/connectivity.jpg__120x120_q85_crop_subsampling-2.jpg
new file mode 100644
index 00000000..bc80938d
Binary files /dev/null and b/media/filer_public_thumbnails/filer_public/f2/78/f2785449-e7b9-4260-b5d7-b30b16502b88/connectivity.jpg__120x120_q85_crop_subsampling-2.jpg differ
diff --git a/media/filer_public_thumbnails/filer_public/f2/78/f2785449-e7b9-4260-b5d7-b30b16502b88/connectivity.jpg__640x120_q85_crop_subsampling-2.jpg b/media/filer_public_thumbnails/filer_public/f2/78/f2785449-e7b9-4260-b5d7-b30b16502b88/connectivity.jpg__640x120_q85_crop_subsampling-2.jpg
new file mode 100644
index 00000000..6e114d54
Binary files /dev/null and b/media/filer_public_thumbnails/filer_public/f2/78/f2785449-e7b9-4260-b5d7-b30b16502b88/connectivity.jpg__640x120_q85_crop_subsampling-2.jpg differ
diff --git a/media/filer_public_thumbnails/filer_public/f4/40/f440bcee-aced-4842-84ac-c78d6ac703b4/digitalglarus_vision_background_nico.jpg__120x120_q85_crop_subsampling-2.jpg b/media/filer_public_thumbnails/filer_public/f4/40/f440bcee-aced-4842-84ac-c78d6ac703b4/digitalglarus_vision_background_nico.jpg__120x120_q85_crop_subsampling-2.jpg
new file mode 100644
index 00000000..117667d9
Binary files /dev/null and b/media/filer_public_thumbnails/filer_public/f4/40/f440bcee-aced-4842-84ac-c78d6ac703b4/digitalglarus_vision_background_nico.jpg__120x120_q85_crop_subsampling-2.jpg differ
diff --git a/media/filer_public_thumbnails/filer_public/fb/0e/fb0e2764-f19f-44f8-9ff7-1e4e9b84d440/14473379828_84376f1229_h.jpg__120x120_q85_crop_subsampling-2.jpg b/media/filer_public_thumbnails/filer_public/fb/0e/fb0e2764-f19f-44f8-9ff7-1e4e9b84d440/14473379828_84376f1229_h.jpg__120x120_q85_crop_subsampling-2.jpg
new file mode 100644
index 00000000..bb6e6eea
Binary files /dev/null and b/media/filer_public_thumbnails/filer_public/fb/0e/fb0e2764-f19f-44f8-9ff7-1e4e9b84d440/14473379828_84376f1229_h.jpg__120x120_q85_crop_subsampling-2.jpg differ
diff --git a/media/filer_public_thumbnails/filer_public/ff/4e/ff4e5d8c-6411-4615-8481-26081d63c912/slide-1.jpg__16x16_q85_crop_subsampling-2_upscale.jpg b/media/filer_public_thumbnails/filer_public/ff/4e/ff4e5d8c-6411-4615-8481-26081d63c912/slide-1.jpg__16x16_q85_crop_subsampling-2_upscale.jpg
new file mode 100644
index 00000000..9cd35f70
Binary files /dev/null and b/media/filer_public_thumbnails/filer_public/ff/4e/ff4e5d8c-6411-4615-8481-26081d63c912/slide-1.jpg__16x16_q85_crop_subsampling-2_upscale.jpg differ
diff --git a/media/filer_public_thumbnails/filer_public/ff/4e/ff4e5d8c-6411-4615-8481-26081d63c912/slide-1.jpg__180x180_q85_crop_subsampling-2_upscale.jpg b/media/filer_public_thumbnails/filer_public/ff/4e/ff4e5d8c-6411-4615-8481-26081d63c912/slide-1.jpg__180x180_q85_crop_subsampling-2_upscale.jpg
new file mode 100644
index 00000000..13e1e7ec
Binary files /dev/null and b/media/filer_public_thumbnails/filer_public/ff/4e/ff4e5d8c-6411-4615-8481-26081d63c912/slide-1.jpg__180x180_q85_crop_subsampling-2_upscale.jpg differ
diff --git a/media/filer_public_thumbnails/filer_public/ff/4e/ff4e5d8c-6411-4615-8481-26081d63c912/slide-1.jpg__32x32_q85_crop_subsampling-2_upscale.jpg b/media/filer_public_thumbnails/filer_public/ff/4e/ff4e5d8c-6411-4615-8481-26081d63c912/slide-1.jpg__32x32_q85_crop_subsampling-2_upscale.jpg
new file mode 100644
index 00000000..5c5a419e
Binary files /dev/null and b/media/filer_public_thumbnails/filer_public/ff/4e/ff4e5d8c-6411-4615-8481-26081d63c912/slide-1.jpg__32x32_q85_crop_subsampling-2_upscale.jpg differ
diff --git a/media/filer_public_thumbnails/filer_public/ff/4e/ff4e5d8c-6411-4615-8481-26081d63c912/slide-1.jpg__48x48_q85_crop_subsampling-2_upscale.jpg b/media/filer_public_thumbnails/filer_public/ff/4e/ff4e5d8c-6411-4615-8481-26081d63c912/slide-1.jpg__48x48_q85_crop_subsampling-2_upscale.jpg
new file mode 100644
index 00000000..2c2e8fa3
Binary files /dev/null and b/media/filer_public_thumbnails/filer_public/ff/4e/ff4e5d8c-6411-4615-8481-26081d63c912/slide-1.jpg__48x48_q85_crop_subsampling-2_upscale.jpg differ
diff --git a/media/filer_public_thumbnails/filer_public/ff/4e/ff4e5d8c-6411-4615-8481-26081d63c912/slide-1.jpg__64x64_q85_crop_subsampling-2_upscale.jpg b/media/filer_public_thumbnails/filer_public/ff/4e/ff4e5d8c-6411-4615-8481-26081d63c912/slide-1.jpg__64x64_q85_crop_subsampling-2_upscale.jpg
new file mode 100644
index 00000000..10d38552
Binary files /dev/null and b/media/filer_public_thumbnails/filer_public/ff/4e/ff4e5d8c-6411-4615-8481-26081d63c912/slide-1.jpg__64x64_q85_crop_subsampling-2_upscale.jpg differ
diff --git a/membership/models.py b/membership/models.py
index 75962660..d9861166 100644
--- a/membership/models.py
+++ b/membership/models.py
@@ -4,12 +4,12 @@ from django.db import models
from django.utils.translation import ugettext_lazy as _
from django.contrib.auth.models import User, AbstractBaseUser, BaseUserManager, AbstractUser
from django.contrib.auth.hashers import make_password
-from django.core.mail import send_mail
from django.core.validators import RegexValidator
from django.contrib.auth.models import User
from django.contrib.sites.models import Site
from utils.stripe_utils import StripeUtils
+from utils.mailer import DigitalGlarusRegistrationMailer
REGISTRATION_MESSAGE = {'subject': "Validation mail",
'message': 'Please validate Your account under this link http://localhost:8000/en-us/digitalglarus/login/validate/{}',
@@ -72,9 +72,8 @@ class CustomUser(AbstractBaseUser):
if not user:
user = cls.objects.create_user(name=name, email=email, password=password)
if user:
- send_mail(REGISTRATION_MESSAGE['subject'],
- REGISTRATION_MESSAGE['message'].format(user.validation_slug),
- REGISTRATION_MESSAGE['from'], [user.email], fail_silently=False)
+ dg = DigitalGlarusRegistrationMailer(user.validation_slug)
+ dg.send_mail(to=user.email)
return user
else:
return None
diff --git a/ungleich_page/templates/ungleich_page/includes/_contact_us.html b/ungleich_page/templates/ungleich_page/includes/_contact_us.html
index a791d053..8c21634c 100644
--- a/ungleich_page/templates/ungleich_page/includes/_contact_us.html
+++ b/ungleich_page/templates/ungleich_page/includes/_contact_us.html
@@ -1,63 +1,73 @@
-{% load static meta cms_tags%}
+{% load static meta cms_tags %}
{% load i18n %}
\ No newline at end of file
diff --git a/ungleich_page/templates/ungleich_page/includes/_services.html b/ungleich_page/templates/ungleich_page/includes/_services.html
index 928a0132..1d35528a 100644
--- a/ungleich_page/templates/ungleich_page/includes/_services.html
+++ b/ungleich_page/templates/ungleich_page/includes/_services.html
@@ -6,8 +6,8 @@
{% trans "our services" %}
-
{% trans "We support our clients in all areas of Unix infrastructure.
- Our top notch configuration management is refreshingly simple and reliable." %}
+
We support our clients in all areas of Unix infrastructure.
+ Our top notch configuration management is refreshingly simple and reliable."
@@ -44,4 +44,4 @@
-
\ No newline at end of file
+
diff --git a/ungleich_page/templates/ungleich_page/landing.html b/ungleich_page/templates/ungleich_page/landing.html
index d6444ec2..59bb8fd3 100644
--- a/ungleich_page/templates/ungleich_page/landing.html
+++ b/ungleich_page/templates/ungleich_page/landing.html
@@ -2,7 +2,7 @@
{% load bootstrap3 %}
-
+
@@ -14,12 +14,12 @@
-
-
+
+
-
+
@@ -28,130 +28,147 @@
-
-
-
+
-
+
-
+
+
-
+
-
-
-
-
-
+
+
+
-
- {% include "ungleich_page/includes/_header.html" %}
+
+
+
+
+
+
+
+
+{% include "ungleich_page/includes/_header.html" %}
-
- {% include "ungleich_page/includes/_services.html" %}
+
+{% include "ungleich_page/includes/_services.html" %}
-
- {% include "ungleich_page/includes/_portfolio.html" %}
+
+{% include "ungleich_page/includes/_portfolio.html" %}
-
- {% include "ungleich_page/includes/_about.html" %}$
+
+{% include "ungleich_page/includes/_about.html" %}$
-
- {% include "ungleich_page/includes/_team.html" %}
+
+{% include "ungleich_page/includes/_team.html" %}
-
- {% include "ungleich_page/includes/_softwares.html" %}
+
+{% include "ungleich_page/includes/_softwares.html" %}
-
- {% include "ungleich_page/includes/_contact_us.html" %}
+
+{% include "ungleich_page/includes/_contact_us.html" %}
-
- {% include "ungleich_page/includes/_footer.html" %}
+
+{% include "ungleich_page/includes/_footer.html" %}
-
-
+
+
-
+
-
+
-
+
-
+
-
-
+
+
-
+
+
-
+
-
+
-
@@ -161,11 +178,13 @@
-
-
-
-
-
-
-
+
+
+
+
+
+
+
diff --git a/ungleich_page/views.py b/ungleich_page/views.py
index e5a99d8d..eddb3a81 100644
--- a/ungleich_page/views.py
+++ b/ungleich_page/views.py
@@ -2,9 +2,10 @@ from django.contrib import messages
from django.views.generic.edit import FormView
from django.utils.translation import ugettext_lazy as _
-from django.core.urlresolvers import reverse_lazy
+from django.core.urlresolvers import reverse_lazy,reverse
from django.views.generic import View
-from django.shortcuts import render
+from django.shortcuts import render,redirect,render_to_response
+from django.http import HttpResponseRedirect
from utils.forms import ContactUsForm
diff --git a/utils/mailer.py b/utils/mailer.py
new file mode 100644
index 00000000..a12ffba6
--- /dev/null
+++ b/utils/mailer.py
@@ -0,0 +1,52 @@
+import six
+from django.core.mail import send_mail
+
+from django.conf import settings
+
+
+class BaseMailer(object):
+ def __init__(self):
+ self._slug = None
+ self.no_replay_mail = 'no-replay@ungleich.ch'
+
+ if not hasattr(self, '_to'):
+ self._to = None
+
+ @property
+ def slug(self):
+ return self._slug
+
+ @slug.setter
+ def slug(self, val):
+ assert isinstance(val, six.string_types), "slug is not string: %r" % val
+ self._slug = val
+
+ @property
+ def registration(self):
+ return self.message
+
+ @registration.setter
+ def registration(self, val):
+ msg = "registration is not dict with fields subject,message"
+ assert type(val) is dict, msg
+ assert val.get('subject') and val.get('message'), msg
+ self._message, self._subject, self._from = (
+ val.get('message'), val.get('subject'), val.get('from'))
+ assert isinstance(self.slug, six.string_types), 'slug not set'
+
+ def send_mail(self, to=None):
+ if not to:
+ to = self._to
+ if not self.message:
+ raise NotImplementedError
+ send_mail(self._subject, self._message, self.no_replay_mail, [to])
+
+
+class DigitalGlarusRegistrationMailer(BaseMailer):
+ message = settings.REGISTRATION_MESSAGE
+
+ def __init__(self, slug):
+ self.slug = slug
+ self.registration = self.message
+ self._message = self._message.format(slug=self._slug)
+ super().__init__()
diff --git a/utils/stripe_utils.py b/utils/stripe_utils.py
index ce14d417..fb0a328e 100644
--- a/utils/stripe_utils.py
+++ b/utils/stripe_utils.py
@@ -1,6 +1,5 @@
import stripe
from django.conf import settings
-
stripe.api_key = settings.STRIPE_API_PRIVATE_KEY
@@ -122,3 +121,6 @@ class StripeUtils(object):
name=name,
currency=self.CURRENCY,
id=id)
+
+
+