diff --git a/archilance/settings/base.py b/archilance/settings/base.py index 918e962..1c12e1c 100644 --- a/archilance/settings/base.py +++ b/archilance/settings/base.py @@ -1,6 +1,5 @@ import os - # Build paths inside the project like this: os.path.join(BASE_DIR, ...) BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) ROOT_DIR = os.path.dirname(BASE_DIR) @@ -14,7 +13,7 @@ SECRET_KEY = 'vb6@b9zj7^f!^+x*e8=e!oundyu1!e*&0i(3gu2xwo4%fx4h&n' # SECURITY WARNING: don't run with debug turned on in production! DEBUG = True -ALLOWED_HOSTS = [] +ALLOWED_HOSTS = ['proekton.com'] # Application definition @@ -39,10 +38,11 @@ THIRD_PARTY_APPS = [ 'compressor', 'password_reset', 'mathfilters', # Basic math operations in templates; https://pypi.python.org/pypi/django-mathfilters - 'generic_relations', # https://github.com/Ian-Foote/rest-framework-generic-relations + 'generic_relations', # https://github.com/Ian-Foote/rest-framework-generic-relations 'hitcount', 'django_activeurl', 'import_export', + 'captcha', ] LOCAL_APPS = [ @@ -102,7 +102,7 @@ TEMPLATES = [ 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': [os.path.join(ROOT_DIR, 'templates')], 'APP_DIRS': True, - + 'OPTIONS': { 'context_processors': [ 'django.template.context_processors.debug', @@ -113,15 +113,22 @@ TEMPLATES = [ 'social.apps.django_app.context_processors.backends', 'social.apps.django_app.context_processors.login_redirect', ], - + # Load these templatetags by default: - + 'builtins': [ 'common.templatetags.common_tags', 'django.contrib.humanize.templatetags.humanize', 'django.templatetags.static', 'mathfilters.templatetags.mathfilters', ], + + # 'loaders': [ + # ('django.template.loaders.cached.Loader', [ + # 'django.template.loaders.filesystem.Loader', + # 'django.template.loaders.app_directories.Loader', + # ]), + # ], }, }, ] @@ -188,7 +195,6 @@ SOCIAL_AUTH_ODNOKLASSNIKI_OAUTH2_PUBLIC_NAME = 'CBADEFFLEBABABABA' SOCIAL_AUTH_GOOGLE_OAUTH2_KEY = '54397003678-ejfrg1la2vh2jdjq7fb1upc916kd6djo.apps.googleusercontent.com' SOCIAL_AUTH_GOOGLE_OAUTH2_SECRET = 'UOLE-UM9bo2UL7i3TXy_WPa5' - # SOCIAL_AUTH_TWITTER_KEY = 'YAe05K4IYYxHhA6J1mTOdDBjq' # SOCIAL_AUTH_TWITTER_SECRET = 'iRuYqRRaoGkCD4ip74NICb8FeZMxvM6MZ8HLMbm1jX99o7pcaL' @@ -198,7 +204,6 @@ SOCIAL_AUTH_TWITTER_SECRET = 'WhXRHP6BzNwFS8x94pcaCBwxCSMkAEVm3Rg82XhzUaIqsf2Ur0 SOCIAL_AUTH_VK_OAUTH2_KEY = '5542865' SOCIAL_AUTH_VK_OAUTH2_SECRET = 'BsOSDhmyNiDte7cMJlVq' - SOCIAL_AUTH_MAILRU_OAUTH2_KEY = 'f7bad5797a375a5eeba6217d64de71f4' SOCIAL_AUTH_MAILRU_OAUTH2_SECRET = '480fd6d67e9e8625fbc6b6b9a8ec71f0' @@ -208,7 +213,6 @@ SOCIAL_AUTH_VK_OAUTH2_SCOPE = [ 'email', ] - SOCIAL_AUTH_LOGIN_REDIRECT_URL = '/' SOCIAL_AUTH_NEW_USER_REDIRECT_URL = '/' SOCIAL_AUTH_NEW_ASSOCIATION_REDIRECT_URL = '/' @@ -262,30 +266,31 @@ REGISTRATION_AUTO_LOGIN = True LOGIN_REDIRECT_URL = '/projects/' LOGIN_URL = '/users/login/' -if DEBUG: - EMAIL_BACKEND = 'django.core.mail.backends.dummy.EmailBackend' - PAGE_SIZE = 10 # Non-api page size (regular views) -API_PAGE_SIZE = 100 # Django REST framework +API_PAGE_SIZE = 100 # Django REST framework REST_FRAMEWORK = { 'DEFAULT_AUTHENTICATION_CLASSES': [ 'rest_framework.authentication.BasicAuthentication', 'rest_framework.authentication.SessionAuthentication', ], - + 'DEFAULT_PERMISSION_CLASSES': [ 'rest_framework.permissions.DjangoModelPermissionsOrAnonReadOnly', # 'rest_framework.permissions.DjangoModelPermissions', ], - + 'PAGE_SIZE': API_PAGE_SIZE, 'DEFAULT_FILTER_BACKENDS': ('rest_framework_filters.backends.DjangoFilterBackend',), # djangorestframework-filters } SITE_ID = 1 -# EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend' +# if DEBUG: +# EMAIL_BACKEND = 'django.core.mail.backends.dummy.EmailBackend' +# else: +EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend' + EMAIL_HOST = 'localhost' EMAIL_HOST_PASSWORD = '' EMAIL_HOST_USER = '' @@ -293,9 +298,8 @@ EMAIL_PORT = 25 # EMAIL_USE_TLS = False # EMAIL_USE_SSL = False # EMAIL_TIMEOUT = 60 -# EMAIL_DEFAULT = 'noreply@archilance.ru' - -EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend' +EMAIL_DEFAULT = 'noreply@proekton.com' +DEFAULT_FROM_EMAIL = 'noreply@proekton.com' SHELL_PLUS_POST_IMPORTS = ( # Extra auto imports 'natsort', @@ -304,7 +308,6 @@ SHELL_PLUS_POST_IMPORTS = ( # Extra auto imports ('pprint', ('pprint', 'pformat')), ) - YANDEX_MONEY = {'shop_password': 'x1uvmS9Iq8WBE3Oo'} if DEBUG: @@ -323,3 +326,6 @@ else: WAGTAIL_SITE_NAME = 'PROEKTON' DEFAULT_FILE_STORAGE = 'archilance.util.ASCIIFileSystemStorage' + +RECAPTCHA_PUBLIC_KEY = '6LftaQgUAAAAAG0oKrt1ORtop1jfIEzkTnCL4S3Q' +RECAPTCHA_PRIVATE_KEY = '6LftaQgUAAAAAMaIK-YCL1u1AfakVXjblULQCvfa' diff --git a/archilance/settings/prod.py b/archilance/settings/prod.py index 62f15c6..b7ff5b2 100644 --- a/archilance/settings/prod.py +++ b/archilance/settings/prod.py @@ -5,18 +5,26 @@ DATABASES = { 'default': { 'ENGINE': 'django.db.backends.postgresql_psycopg2', 'NAME': 'archilance', - 'USER': 'postgres', - 'PASSWORD': 'vfhbyrf', + 'USER': 'archilance', + 'PASSWORD': 'q3048hgaoasd333knf', 'HOST': 'localhost', 'PORT': '', } } -DEBUG = True -THUMBNAIL_DEBUG = True +DEBUG = False +THUMBNAIL_DEBUG = DEBUG SECRET_KEY = 'vb6@b9zj7^f!^+x*e8=e!oundyu1!e*&0i(3gu2xwo4%fx4h&n' +STATICFILES_FINDERS = ( + 'django.contrib.staticfiles.finders.FileSystemFinder', + 'django.contrib.staticfiles.finders.AppDirectoriesFinder', + 'django.contrib.staticfiles.finders.DefaultStorageFinder', + 'compressor.finders.CompressorFinder', +) + + LOGGING = { 'version': 1, 'disable_existing_loggers': False, @@ -49,3 +57,6 @@ LOGGING = { }, } } + + +COMPRESS_ENABLED = not DEBUG \ No newline at end of file diff --git a/archilance/wsgi.py b/archilance/wsgi.py index 1286ecd..fb58beb 100644 --- a/archilance/wsgi.py +++ b/archilance/wsgi.py @@ -11,7 +11,7 @@ from django.core.wsgi import get_wsgi_application from django.template.base import Variable import os -os.environ.setdefault("DJANGO_SETTINGS_MODULE", "archilance.settings.prod") +os.environ.setdefault("DJANGO_SETTINGS_MODULE", "archilance.settings.local") application = get_wsgi_application() diff --git a/assets/css/extra.css b/assets/css/extra.css index e7bd764..a2a5dca 100644 --- a/assets/css/extra.css +++ b/assets/css/extra.css @@ -273,3 +273,8 @@ li a:active .count-tab, li a:hover .count-tab { border-color: red transparent transparent red; } + +#recaptcha_area { + float: none; + margin: 20px auto; +} diff --git a/assets/my-libs_.js b/assets/my-libs_.js deleted file mode 100644 index 167d7c2..0000000 --- a/assets/my-libs_.js +++ /dev/null @@ -1 +0,0 @@ -global.path = require('path') diff --git a/cf25948635ee.html b/cf25948635ee.html new file mode 100644 index 0000000..6a155f1 --- /dev/null +++ b/cf25948635ee.html @@ -0,0 +1 @@ +a1ed3377ed15 \ No newline at end of file diff --git a/common/forms.py b/common/forms.py index a523979..e0c6368 100644 --- a/common/forms.py +++ b/common/forms.py @@ -3,7 +3,7 @@ from registration.forms import RegistrationFormTermsOfService import pydash as _; _.map = _.map_; _.filter = _.filter_ from .models import PrintOrder, PrintDocuments - +from captcha.fields import ReCaptchaField class PrintOrderForm(forms.ModelForm): files = forms.ModelMultipleChoiceField( @@ -39,6 +39,7 @@ class CustomRegistrationForm(RegistrationFormTermsOfService): ) user_type = forms.ChoiceField(choices=USER_TYPES) + captcha = ReCaptchaField() def __init__(self, *args, **kwargs): self.request = kwargs.pop('request') diff --git a/manage.py b/manage.py index ccac100..bd11cb1 100755 --- a/manage.py +++ b/manage.py @@ -3,7 +3,7 @@ import os import sys if __name__ == "__main__": - os.environ.setdefault("DJANGO_SETTINGS_MODULE", "archilance.settings.dev") + os.environ.setdefault("DJANGO_SETTINGS_MODULE", "archilance.settings.local") from django.core.management import execute_from_command_line diff --git a/projects/templates/project_detail.html b/projects/templates/project_detail.html index 34c2429..26c6776 100644 --- a/projects/templates/project_detail.html +++ b/projects/templates/project_detail.html @@ -684,11 +684,11 @@ {% else %} - {% if answer.author|class_name == 'User' %} - Перейти к обсуждению - {% elif answer.author|class_name == 'Team'%} - Перейти к обсуждению - {% endif %} +{# {% if answer.author|class_name == 'User' %}#} +{# Перейти к обсуждению#} +{# {% elif answer.author|class_name == 'Team'%}#} +{# Перейти к обсуждению#} +{# {% endif %}#} {% endif %}