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/local.py b/dynamicweb/settings/local.py index e8907acc..799df594 100644 --- a/dynamicweb/settings/local.py +++ b/dynamicweb/settings/local.py @@ -1,15 +1,9 @@ from .base import * - +REGISTRATION_MESSAGE['message'] = REGISTRATION_MESSAGE['message'].format(host='dynamicweb-development.ungleich.ch',slug='{slug}') ALLOWED_HOSTS = [ "*" ] -# DATABASES = { -# 'default': { -# 'ENGINE': 'django.db.backends.sqlite3', -# 'NAME': 'app.db', -# } -# } EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend' CACHES = { @@ -20,3 +14,8 @@ CACHES = { } MIDDLEWARE_CLASSES+=("debug_toolbar.middleware.DebugToolbarMiddleware",) + +INSTALLED_APPS+=( + 'django_extensions', + 'debug_toolbar' + ) 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 %}
-
-
- {% for message in messages %} - - {% endfor %} -

{% trans "Contact Us" %}

-
-

{% trans "Join us at" %} {% trans "Digital Glarus" %}, - {% trans "a great co-working space in the middle of Alps!" %}

{% trans "You can contact us at" %}

-

info@ungleich.ch

-

(044) 534-66-22

-

{% trans "or" %}

-

{% trans "Contact Us" %}

+
+
+ {% for message in messages %} + + {% endfor %} +

{% trans "Contact Us" %}

+
-
- {% csrf_token %} -
-
- {{ form.name.label_tag }} - {{ form.name }} - {{ form.name.errors|striptags}} -
-
- {{ form.email.label_tag }} - {{ form.email }} - {{ form.email.errors|striptags}} -
-
- {{ form.phone_number.label_tag }} - {{ form.phone_number }} - {{ form.phone_number.errors|striptags}} -
-
-
- {{ form.message.label_tag }} - {{ form.message }} - {{ form.message.errors|striptags}} -
- {{ form.non_field_errors }} -
- - -
-
-
-
-

 

-
-
-
+

{% trans "Join us at" %} {% trans "Digital Glarus" %}, + {% trans "a great co-working space in the middle of Alps!" %} +

{% trans "You can contact us at" %}

+

info@ungleich.ch +

-
-
-
+

(044) 534-66-22

+

{% trans "or" %}

+ +

{% trans "Contact Us" %}

+ +
+ + {% csrf_token %} +
+
+ {{ form.name.label_tag }} + {{ form.name }} + {{ form.name.errors|striptags }} +
+
+ {{ form.email.label_tag }} + {{ form.email }} + {{ form.email.errors|striptags }} +
+
+ {{ form.phone_number.label_tag }} + {{ form.phone_number }} + {{ form.phone_number.errors|striptags }} +
+
+
+ {{ form.message.label_tag }} + {{ form.message }} + {{ form.message.errors|striptags }} +
+ {{ form.non_field_errors }} +
+ + +
+
+
+
+

 

+
+
+
+ +
+
+
\ 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/_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) + + +