You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
363 lines
12 KiB
363 lines
12 KiB
# -*- coding: utf-8 -*-
|
|
|
|
# Django settings for project project.
|
|
|
|
import os
|
|
import sys
|
|
from imp import find_module
|
|
|
|
path = lambda *xs: os.path.abspath(os.path.join(os.path.dirname(__file__), *xs))
|
|
|
|
sys.path.insert(1, path('..'))
|
|
sys.path.insert(1, path('.'))
|
|
sys.path.insert(1, path('project'))
|
|
|
|
DEBUG = False
|
|
TEMPLATE_DEBUG = DEBUG
|
|
|
|
ADMINS = (
|
|
# ('Your Name', 'your_email@example.com'),
|
|
)
|
|
|
|
MANAGERS = ADMINS
|
|
|
|
DATABASES = {
|
|
'default': {
|
|
'ENGINE': 'django.db.backends.', # Add 'postgresql_psycopg2', 'mysql', 'sqlite3' or 'oracle'.
|
|
'NAME': '', # Or path to database file if using sqlite3.
|
|
# The following settings are not used with sqlite3:
|
|
'USER': '',
|
|
'PASSWORD': '',
|
|
'HOST': '', # Empty for localhost through domain sockets or '127.0.0.1' for localhost through TCP.
|
|
'PORT': '', # Set to empty string for default.
|
|
}
|
|
}
|
|
|
|
# Hosts/domain names that are valid for this site; required if DEBUG is False
|
|
# See https://docs.djangoproject.com/en/1.5/ref/settings/#allowed-hosts
|
|
ALLOWED_HOSTS = []
|
|
|
|
# Local time zone for this installation. Choices can be found here:
|
|
# http://en.wikipedia.org/wiki/List_of_tz_zones_by_name
|
|
# although not all choices may be available on all operating systems.
|
|
# In a Windows environment this must be set to your system time zone.
|
|
TIME_ZONE = 'Europe/Moscow'
|
|
|
|
# Language code for this installation. All choices can be found here:
|
|
# http://www.i18nguy.com/unicode/language-identifiers.html
|
|
LANGUAGE_CODE = 'ru'
|
|
|
|
SITE_ID = 1
|
|
|
|
# If you set this to False, Django will make some optimizations so as not
|
|
# to load the internationalization machinery.
|
|
USE_I18N = True
|
|
|
|
# If you set this to False, Django will not format dates, numbers and
|
|
# calendars according to the current locale.
|
|
USE_L10N = False
|
|
|
|
DECIMAL_SEPARATOR = '.'
|
|
DATE_FORMAT = 'd.m.Y'
|
|
DATE_INPUT_FORMATS = ('%d.%m.%Y', '%d.%m.%Y', '%Y-%m-%d')
|
|
|
|
# If you set this to False, Django will not use timezone-aware datetimes.
|
|
USE_TZ = True
|
|
|
|
# Absolute filesystem path to the directory that will hold user-uploaded files.
|
|
# Example: "/var/www/example.com/media/"
|
|
MEDIA_ROOT = path('../_public_html/media')
|
|
|
|
# URL that handles the media served from MEDIA_ROOT. Make sure to use a
|
|
# trailing slash.
|
|
# Examples: "http://example.com/media/", "http://media.example.com/"
|
|
MEDIA_URL = '/m/'
|
|
|
|
# Absolute path to the directory static files should be collected to.
|
|
# Don't put anything in this directory yourself; store your static files
|
|
# in apps' "static/" subdirectories and in STATICFILES_DIRS.
|
|
# Example: "/var/www/example.com/static/"
|
|
STATIC_ROOT = path('../_public_html/static')
|
|
|
|
# URL prefix for static files.
|
|
# Example: "http://example.com/static/", "http://static.example.com/"
|
|
STATIC_URL = '/s/'
|
|
|
|
# Additional locations of static files
|
|
STATICFILES_DIRS = (
|
|
# Put strings here, like "/home/html/static" or "C:/www/django/static".
|
|
# Always use forward slashes, even on Windows.
|
|
# Don't forget to use absolute paths, not relative paths.
|
|
path('static'),
|
|
)
|
|
|
|
# List of finder classes that know how to find static files in
|
|
# various locations.
|
|
STATICFILES_FINDERS = (
|
|
'django.contrib.staticfiles.finders.FileSystemFinder',
|
|
'django.contrib.staticfiles.finders.AppDirectoriesFinder',
|
|
# 'django.contrib.staticfiles.finders.DefaultStorageFinder',
|
|
)
|
|
|
|
# Make this unique, and don't share it with anybody.
|
|
SECRET_KEY = 'uqrv8bpqt-#up^ay-)^@bcjjgq1^jy8qc!fkr!1wd*u%)1dg#y'
|
|
|
|
# List of callables that know how to import templates from various sources.
|
|
TEMPLATE_LOADERS = (
|
|
'django.template.loaders.filesystem.Loader',
|
|
'django.template.loaders.app_directories.Loader',
|
|
# 'django.template.loaders.eggs.Loader',
|
|
)
|
|
|
|
MIDDLEWARE_CLASSES = (
|
|
'django.middleware.common.CommonMiddleware',
|
|
'django.contrib.sessions.middleware.SessionMiddleware',
|
|
'django.middleware.csrf.CsrfViewMiddleware',
|
|
'django.contrib.auth.middleware.AuthenticationMiddleware',
|
|
'django.contrib.messages.middleware.MessageMiddleware',
|
|
# Uncomment the next line for simple clickjacking protection:
|
|
'django.middleware.clickjacking.XFrameOptionsMiddleware',
|
|
'django.middleware.locale.LocaleMiddleware',
|
|
'django.middleware.doc.XViewMiddleware',
|
|
'cms.middleware.page.CurrentPageMiddleware',
|
|
'cms.middleware.user.CurrentUserMiddleware',
|
|
'cms.middleware.toolbar.ToolbarMiddleware',
|
|
'cms.middleware.language.LanguageCookieMiddleware',
|
|
'djangocms_ckeditor_filer.middleware.ThumbnailMiddleware',
|
|
|
|
# my
|
|
'project.customer.middleware.ProfileMiddleware',
|
|
)
|
|
|
|
TEMPLATE_CONTEXT_PROCESSORS = (
|
|
'django.contrib.auth.context_processors.auth',
|
|
'django.contrib.messages.context_processors.messages',
|
|
'django.core.context_processors.i18n',
|
|
'django.core.context_processors.request',
|
|
'django.core.context_processors.media',
|
|
'django.core.context_processors.static',
|
|
'cms.context_processors.cms_settings',
|
|
'sekizai.context_processors.sekizai',
|
|
'project.callback.context_processors.add_forms',
|
|
'project.customer.context_processors.license_check_soon_ends',
|
|
)
|
|
|
|
|
|
ROOT_URLCONF = 'project.urls'
|
|
|
|
# Python dotted path to the WSGI application used by Django's runserver.
|
|
WSGI_APPLICATION = 'project.wsgi.application'
|
|
|
|
TEMPLATE_DIRS = (
|
|
# Put strings here, like "/home/html/django_templates" or "C:/www/django/templates".
|
|
# Always use forward slashes, even on Windows.
|
|
# Don't forget to use absolute paths, not relative paths.
|
|
path('templates'),
|
|
)
|
|
|
|
INSTALLED_APPS = (
|
|
'django.contrib.auth',
|
|
'django.contrib.contenttypes',
|
|
'django.contrib.sessions',
|
|
'django.contrib.sites',
|
|
'django.contrib.messages',
|
|
'django.contrib.staticfiles',
|
|
# Uncomment the next line to enable the admin:
|
|
|
|
'pytils',
|
|
# 'sorl.thumbnail',
|
|
# 'django_filters',
|
|
'autocomplete_light',
|
|
'cms', # django CMS itself
|
|
'mptt', # utilities for implementing a modified pre-order traversal tree
|
|
'menus', # helper for model independent hierarchical website navigation
|
|
'sekizai', # for javascript and css management
|
|
'captcha',
|
|
'yandex_money',
|
|
'djangocms_admin_style', # for the admin skin. You **must** add 'djangocms_admin_style' in the list before 'django.contrib.admin'.
|
|
'django.contrib.messages', # to enable messages framework (see :ref:`Enable messages <enable-messages>`)
|
|
'filer',
|
|
'easy_thumbnails',
|
|
'djangocms_file',
|
|
'djangocms_flash',
|
|
'djangocms_googlemap',
|
|
'djangocms_inherit',
|
|
'djangocms_picture',
|
|
'djangocms_teaser',
|
|
'djangocms_video',
|
|
'djangocms_link',
|
|
'djangocms_snippet',
|
|
'djangocms_text_ckeditor',
|
|
'cmsplugin_filer_file',
|
|
'cmsplugin_filer_folder',
|
|
'cmsplugin_filer_link',
|
|
'cmsplugin_filer_image',
|
|
'cmsplugin_filer_teaser',
|
|
'cmsplugin_filer_video',
|
|
'djangocms_ckeditor_filer',
|
|
'django.contrib.admin',
|
|
'django.contrib.admindocs',
|
|
|
|
# my apps
|
|
'project.commons',
|
|
'project.myauth',
|
|
'project.customer',
|
|
'project.docs',
|
|
'project.pages',
|
|
'project.callback',
|
|
'project.index_blocks',
|
|
|
|
# keep it last
|
|
'south',
|
|
)
|
|
|
|
AUTH_USER_MODEL = 'myauth.DokUser'
|
|
# A sample logging configuration. The only tangible logging
|
|
# performed by this configuration is to send an email to
|
|
# the site admins on every HTTP 500 error when DEBUG=False.
|
|
# See http://docs.djangoproject.com/en/dev/topics/logging for
|
|
# more details on how to customize your logging configuration.
|
|
LOGGING = {
|
|
'version': 1,
|
|
'disable_existing_loggers': False,
|
|
'filters': {
|
|
'require_debug_false': {
|
|
'()': 'django.utils.log.RequireDebugFalse'
|
|
}
|
|
},
|
|
'handlers': {
|
|
'mail_admins': {
|
|
'level': 'ERROR',
|
|
'filters': ['require_debug_false'],
|
|
'class': 'django.utils.log.AdminEmailHandler'
|
|
},
|
|
'yandex_money': {
|
|
'level': 'DEBUG',
|
|
'class': 'logging.handlers.RotatingFileHandler',
|
|
'filename': path('../yandex_money.log'),
|
|
'maxBytes': 1024 * 1024 * 5,
|
|
'backupCount': 5,
|
|
},
|
|
},
|
|
'loggers': {
|
|
'django.request': {
|
|
'handlers': ['mail_admins'],
|
|
'level': 'ERROR',
|
|
'propagate': True,
|
|
},
|
|
'yandex_money': {
|
|
'handlers': ['yandex_money'],
|
|
'level': 'DEBUG',
|
|
'propagate': False
|
|
},
|
|
}
|
|
}
|
|
|
|
SERVER_EMAIL = 'dokumentor@localhost'
|
|
EMAIL_SUBJECT_PREFIX = '[DOKUMENTOR.RU] '
|
|
|
|
REGISTRATION_OPEN = True
|
|
|
|
LOGIN_URL = '/user/login/'
|
|
|
|
SUPPORT_EMAIL = 'help@dokumentor.ru'
|
|
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
|
|
PDF_FONTS_ROOT = path('pdf_fonts')
|
|
|
|
XLS_ROOT = path('xls_templates')
|
|
|
|
LANGUAGES = (
|
|
('ru', 'Russian'),
|
|
#('en', gettext('English')),
|
|
)
|
|
CMS_TEMPLATES = (
|
|
('pages/index.html', 'Index Page'),
|
|
('pages/inner_page.html', u'Внутренняя страница'),
|
|
('pages/placeholders.html', u'Блоки для других страниц'),
|
|
)
|
|
|
|
CMS_PLACEHOLDER_CONF = {
|
|
'why_register': {
|
|
'plugins': ['CMSDescTextBlockPlugin'],
|
|
'name': u'Зачем регистрироваться',
|
|
},
|
|
'reasons': {
|
|
'plugins': ['CMSExtendedTextBlockPlugin'],
|
|
'name': u'На главной - причины',
|
|
},
|
|
}
|
|
|
|
CMS_PERMISSION = True
|
|
|
|
BROKER_HOST = "localhost"
|
|
BROKER_PORT = 5672
|
|
BROKER_USER = "dokumentor"
|
|
BROKER_PASSWORD = "dokumentor"
|
|
BROKER_VHOST = "dokumentor"
|
|
|
|
CELERY_TIMEZONE = 'Europe/Moscow'
|
|
CELERY_ACCEPT_CONTENT = ['pickle'] # will be disabled in Celery 3.2
|
|
|
|
from datetime import timedelta
|
|
|
|
CALLBACK_SETTINGS = {
|
|
'EMAIL_SENDER': 'whosondutytoday@yandex.ru',
|
|
'CHIEF_EMAILS': ['chkur@mailinator.com',],
|
|
'MANAGERS_EMAILS': ['chkur@mailinator.com',],
|
|
|
|
'NEW_REQ_AVAIL_EMAIL_SUBJ': u'Вопрос',
|
|
'DONE_REQ_AVAIL_EMAIL_SUBJ': u'Сообщение обработано менеджером',
|
|
}
|
|
|
|
CELERYBEAT_SCHEDULE = {
|
|
'check-license': {
|
|
'task': 'project.customer.tasks.check_license',
|
|
'schedule': timedelta(days=1),
|
|
},
|
|
}
|
|
|
|
CAPTCHA_OUTPUT_FORMAT = u"%(hidden_field)s %(image)s<a href='#' class='captcha_refresh'><img src='" + STATIC_URL + "img/refresh.png' /></a>%(text_field)s"
|
|
CAPTCHA_FONT_SIZE = 36
|
|
CKEDITOR_SETTINGS = {
|
|
'language': '',
|
|
'skin': 'moono',
|
|
'toolbar': 'HTMLField',
|
|
'toolbar_HTMLField': [
|
|
['Undo', 'Redo'],
|
|
['ShowBlocks'],
|
|
['Format', 'Styles'],
|
|
['TextColor', 'BGColor', '-', 'PasteText', 'PasteFromWord'],
|
|
['Maximize', ''],
|
|
'/',
|
|
['Bold', 'Italic', 'Underline', '-', 'Subscript', 'Superscript', '-', 'RemoveFormat'],
|
|
['JustifyLeft', 'JustifyCenter', 'JustifyRight'],
|
|
['Link', 'Unlink'],
|
|
['NumberedList', 'BulletedList', '-', 'Outdent', 'Indent', '-', 'Table', 'Filer Image'],
|
|
['Source']
|
|
],
|
|
'extraPlugins': 'filerimage',
|
|
'removePlugins': 'image'
|
|
}
|
|
TEXT_SAVE_IMAGE_FUNCTION = 'cmsplugin_filer_image.integrations.ckeditor.create_image_plugin'
|
|
THUMBNAIL_PROCESSORS = (
|
|
'easy_thumbnails.processors.colorspace',
|
|
'easy_thumbnails.processors.autocrop',
|
|
#'easy_thumbnails.processors.scale_and_crop',
|
|
'filer.thumbnail_processors.scale_and_crop_with_subject_location',
|
|
'easy_thumbnails.processors.filters',
|
|
)
|
|
|
|
YANDEX_MONEY_DEBUG = False
|
|
YANDEX_MONEY_SCID = 546996
|
|
YANDEX_MONEY_SHOP_ID = 92585
|
|
YANDEX_MONEY_SHOP_PASSWORD = 'sQuMtorHE02U'
|
|
YANDEX_MONEY_FAIL_URL = 'https://dokumentor.ru/my/payment/fail/'
|
|
YANDEX_MONEY_SUCCESS_URL = 'https://dokumentor.ru/my/payment/success/'
|
|
YANDEX_MONEY_PAYMENT_URL = 'https://money.yandex.ru/eshop.xml'
|
|
# информировать о случаях, когда модуль вернул Яндекс.Кассе ошибку
|
|
YANDEX_MONEY_MAIL_ADMINS_ON_PAYMENT_ERROR = True
|
|
|
|
try:
|
|
from project.local_settings import *
|
|
except ImportError:
|
|
pass
|
|
|