· 7 years ago · Sep 12, 2018, 03:46 PM
1import os
2from os.path import join
3
4from django.utils.translation import ugettext_lazy as _
5from gramedia.common.env import EnvConfig
6from oscar import OSCAR_MAIN_TEMPLATE_DIR, get_core_apps
7from oscar.defaults import *
8
9env = EnvConfig('SIM')
10
11BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
12
13SECRET_KEY = '-)t40h2^u4tybfgm-=-ms@8@6gf!fmpzp8r*%4ks9(1^!z1*cc'
14
15DEBUG = True
16
17INTERNAL_IPS = [
18 '127.0.0.1',
19 '.gramedia.io',
20]
21
22FIXTURE_DIRS = (
23 os.path.join(BASE_DIR, 'fixtures'),
24)
25
26ALLOWED_HOSTS = [
27 '127.0.0.1',
28 'localhost',
29 '.gramedia.io',
30]
31
32INSTALLED_APPS = [
33 'apps.user',
34 'debug_toolbar',
35 'django.contrib.admin',
36 'django.contrib.auth',
37 'django.contrib.contenttypes',
38 'django.contrib.sessions',
39 'django.contrib.sites',
40 'django.contrib.messages',
41 'django.contrib.staticfiles',
42 'django.contrib.flatpages',
43 'django_extensions',
44 # 'assets',
45 # (optional) -- needed if using oscar's core templates
46 # both are good to have though. i <3 compressor.
47 'simpati.commons',
48 'compressor',
49 'widget_tweaks',
50] + get_core_apps(
51 ['apps.customer']
52)
53
54SITE_ID = 1
55
56MIDDLEWARE = [
57 'django.middleware.security.SecurityMiddleware',
58 'django.contrib.sessions.middleware.SessionMiddleware',
59 'django.middleware.common.CommonMiddleware',
60 'django.middleware.csrf.CsrfViewMiddleware',
61 'django.contrib.auth.middleware.AuthenticationMiddleware',
62 'django.contrib.messages.middleware.MessageMiddleware',
63 'django.middleware.clickjacking.XFrameOptionsMiddleware',
64
65 'oscar.apps.basket.middleware.BasketMiddleware',
66 'django.contrib.flatpages.middleware.FlatpageFallbackMiddleware',
67 'debug_toolbar.middleware.DebugToolbarMiddleware',
68]
69
70ROOT_URLCONF = 'simpati.urls'
71
72TEMPLATES = [
73 {
74 'BACKEND': 'django.template.backends.django.DjangoTemplates',
75 'DIRS': [
76 os.path.join(BASE_DIR, 'templates'),
77 OSCAR_MAIN_TEMPLATE_DIR,
78 ],
79 'APP_DIRS': True,
80 'OPTIONS': {
81 'context_processors': [
82 'django.template.context_processors.debug',
83 'django.template.context_processors.request',
84 'django.contrib.auth.context_processors.auth',
85 'django.template.context_processors.i18n',
86 'django.contrib.messages.context_processors.messages',
87
88 'oscar.apps.search.context_processors.search_form',
89 'oscar.apps.promotions.context_processors.promotions',
90 'oscar.apps.checkout.context_processors.checkout',
91 'oscar.apps.customer.notifications.context_processors.notifications',
92 'oscar.core.context_processors.metadata',
93 'simpati.context_processors.global_settings',
94 ],
95 'builtins': [
96 'simpati.commons.templatetags.debug',
97 'simpati.commons.templatetags.components',
98 'simpati.commons.templatetags.converters',
99 ]
100 },
101 },
102]
103
104WSGI_APPLICATION = 'simpati.wsgi.application'
105
106DATABASES = {
107 'default': env.django_db('DB_URI', 'postgresql://simpati:p@ssw0rd24@localhost:5432/simpati')
108}
109
110HAYSTACK_CONNECTIONS = {
111 'default': {
112 'ENGINE': 'haystack.backends.solr_backend.SolrEngine',
113 'URL': 'http://localhost:8983/solr/haystack/',
114 'TIMEOUT': 60 * 5,
115 'INCLUDE_SPELLING': True,
116 'BATCH_SIZE': 100,
117 'ADMIN_URL': 'http://localhost:8983/solr/admin/cores'
118 },
119}
120HAYSTACK_SIGNAL_PROCESSOR = 'haystack.signals.RealtimeSignalProcessor'
121
122AUTHENTICATION_BACKENDS = (
123 'oscar.apps.customer.auth_backends.EmailBackend',
124 'django.contrib.auth.backends.ModelBackend',
125)
126
127AUTH_PASSWORD_VALIDATORS = [
128 {'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator',},
129 {
130 'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator',
131 'OPTIONS': {'min_length': 6, }
132 },
133 {'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator'},
134 {'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator'},
135 {'NAME': 'apps.customer.password_validation.AlphabetPasswordValidator'},
136]
137
138AUTH_USER_MODEL = 'user.User'
139
140LANGUAGE_CODE = 'id-id'
141TIME_ZONE = 'Asia/Jakarta'
142USE_I18N = True
143USE_L10N = True
144USE_TZ = True
145
146LOCALE_PATHS = (
147 os.path.join(BASE_DIR, 'locale'),
148)
149
150STATIC_URL = '/static/'
151STATIC_ROOT = os.path.join(BASE_DIR, 'static')
152STATICFILES_DIRS = (
153 os.path.join(BASE_DIR, 'simpati', "static"),
154)
155STATICFILES_FINDERS = (
156 'django.contrib.staticfiles.finders.FileSystemFinder',
157 'django.contrib.staticfiles.finders.AppDirectoriesFinder',
158 'compressor.finders.CompressorFinder',
159)
160
161COMPRESS_PRECOMPILERS = (
162 ('text/less', 'lessc {infile} {outfile}'),
163)
164# COMPRESS_ENABLED = True
165
166MEDIA_ROOT = os.path.join(BASE_DIR, 'uploads')
167MEDIA_URL = '/uploads/'
168
169OSCAR_SHOP_NAME = 'Toko Kasur'
170OSCAR_DEFAULT_CURRENCY = 'IDR'
171OSCAR_INITIAL_ORDER_STATUS = 'Pending'
172OSCAR_INITIAL_LINE_STATUS = 'Pending'
173OSCAR_ORDER_STATUS_PIPELINE = {
174 'Pending': ('Being processed', 'Cancelled',),
175 'Being processed': ('Processed', 'Cancelled',),
176 'Cancelled': (),
177}
178OSCAR_CURRENCY_FORMAT = {
179 'IDR': {
180 'format': u'Rp #,##0',
181 'format_type': "accounting",
182 'locale': 'de_DE',
183 }
184}
185OSCAR_SEARCH_FACETS = {
186 'fields': OrderedDict([
187 ('product_class', {'name': _('Product Type'), 'field': 'product_class'}),
188 ]),
189 'queries': OrderedDict([
190 ('price_range',
191 {
192 'name': _('Price range'),
193 'field': 'price',
194 'queries': [
195 (_('10.000 - 999.999'), u'[10000 TO 999999]'),
196 (_('1.000.000 - 2.499.999'), u'[1000000 TO 2499999]'),
197 (_('2.500.000 - 4.999.999'), u'[2500000 TO 4999999]'),
198 (_('>5.000.000'), u'[5000000 TO *]'),
199 ]
200 }),
201 ]),
202}
203OSCAR_PRODUCTS_PER_PAGE = 12
204OSCAR_SEND_REGISTRATION_EMAIL = True
205OSCAR_FROM_EMAIL = 'no-reply@tokokasur.com'
206
207LOGIN_REDIRECT_URL = '/'
208
209EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
210
211if DEBUG:
212 EMAIL_HOST = 'smtp.mailtrap.io'
213 EMAIL_HOST_USER = 'f2d34688cca931'
214 EMAIL_HOST_PASSWORD = 'dde063bade9d79'
215 EMAIL_PORT = '2525'