da27cd27d587b5b8f694e20adcc518b204fabd1a
[qcg-portal.git] / plgng / settings_common.py
1 """
2 Django settings for plgng project.
3
4 For more information on this file, see
5 https://docs.djangoproject.com/en/1.7/topics/settings/
6
7 For the full list of settings and their values, see
8 https://docs.djangoproject.com/en/1.7/ref/settings/
9 """
10
11 # Build paths inside the project like this: os.path.join(BASE_DIR, ...)
12 import os
13
14 from django.conf import global_settings
15 from django.contrib.messages import constants as messages
16
17 from local import *
18 from settings_logging import LOGGING
19
20 BASE_DIR = os.path.dirname(os.path.dirname(__file__))
21
22
23 # Application definition
24
25 INSTALLED_APPS = (
26     'grappelli',
27     'django.contrib.admin',
28     'django.contrib.auth',
29     'django.contrib.contenttypes',
30     'django.contrib.sessions',
31     'django.contrib.messages',
32     'django.contrib.staticfiles',
33     'django.contrib.webdesign',
34     'qcg',
35     'filex',
36     'better_sessions',
37     'django_openid_auth',
38     'bootstrap3',
39 )
40
41 MIDDLEWARE_CLASSES = (
42     'django.contrib.sessions.middleware.SessionMiddleware',
43     'django.middleware.common.CommonMiddleware',
44     'django.middleware.csrf.CsrfViewMiddleware',
45     'django.contrib.auth.middleware.AuthenticationMiddleware',
46     'django.contrib.auth.middleware.SessionAuthenticationMiddleware',
47     'django.contrib.messages.middleware.MessageMiddleware',
48     'django.middleware.clickjacking.XFrameOptionsMiddleware',
49     'better_sessions.middleware.BetterSessionsMiddleware',
50 )
51
52 TEMPLATE_CONTEXT_PROCESSORS = global_settings.TEMPLATE_CONTEXT_PROCESSORS + (
53     'django.core.context_processors.request',
54     'better_sessions.context_processors.settings',
55 )
56
57 ROOT_URLCONF = 'plgng.urls'
58
59 WSGI_APPLICATION = 'plgng.wsgi.application'
60
61
62 # Internationalization
63 # https://docs.djangoproject.com/en/1.7/topics/i18n/
64
65 LANGUAGE_CODE = 'pl'
66
67 TIME_ZONE = 'Europe/Warsaw'
68
69 USE_I18N = True
70
71 USE_L10N = True
72
73 USE_TZ = True
74
75
76 CUSTOM_DATETIME_FORMAT = 'j b Y, H:i'
77
78
79 # Static files (CSS, JavaScript, Images)
80 # https://docs.djangoproject.com/en/1.7/howto/static-files/
81
82 STATIC_URL = '/static/'
83
84
85 # Authentication
86
87 AUTH_USER_MODEL = 'qcg.User'
88
89 AUTHENTICATION_BACKENDS = (
90     'django_openid_auth.auth.OpenIDBackend',
91     'django.contrib.auth.backends.ModelBackend',
92 )
93
94 LOGIN_URL = 'login'
95 LOGIN_REDIRECT_URL = '/jobs/'
96
97 # If set, always use this as the identity URL rather than asking the
98 # user.  This only makes sense if it is a server URL.
99 OPENID_SSO_SERVER_URL = 'https://openid.plgrid.pl/gateway'
100
101 # Should users be created when new OpenIDs are used to log in?
102 OPENID_CREATE_USERS = True
103
104 # Update user details from OpenID each time they log in
105 OPENID_UPDATE_DETAILS_FROM_SREG = True
106
107 # Login will fail if no 'nickname' (username), or if the nickname
108 # conflicts with an existing user with a different openid identity url
109 OPENID_STRICT_USERNAMES = True
110
111
112 SESSION_COOKIE_NAME = 'qcg_session'
113 SESSION_EXPIRE_AT_BROWSER_CLOSE = True
114
115
116 # 3-rd party settings
117
118 BOOTSTRAP3 = {
119     'horizontal_label_class': 'col-sm-3 col-md-4',
120     'horizontal_field_class': 'col-sm-9 col-md-6',
121     'set_placeholder': False,
122 }
123
124 # map message tags to bootstrap classes
125
126 MESSAGE_TAGS = {
127     messages.INFO: 'alert alert-info',
128     messages.SUCCESS: 'alert alert-success',
129     messages.WARNING: 'alert alert-warning',
130     messages.ERROR: 'alert alert-danger',
131 }
132
133
134 GRAPPELLI_ADMIN_TITLE = 'Portal UNRES'