Projet

Général

Profil

0001-debian-don-t-configure-multitenant-stuff-for-wcs-179.patch

Frédéric Péters, 11 août 2017 13:57

Télécharger (7,34 ko)

Voir les différences:

Subject: [PATCH] debian: don't configure multitenant stuff for wcs (#17967)

 debian/debian_config_common.py | 142 ++++++++++++++++++++++-------------------
 1 file changed, 75 insertions(+), 67 deletions(-)
debian/debian_config_common.py
158 158
# template settings
159 159
if 'TEMPLATE_DEBUG' in globals():
160 160
    # compatibility with django<1.10
161
    TEMPLATE_LOADERS = (
162
        'hobo.multitenant.template_loader.FilesystemLoader',
163
    ) + global_settings.TEMPLATE_LOADERS
161
    if PROJECT_NAME != 'wcs':
162
        TEMPLATE_LOADERS = (
163
            'hobo.multitenant.template_loader.FilesystemLoader',
164
        ) + global_settings.TEMPLATE_LOADERS
164 165

  
165 166
    if not 'TEMPLATE_CONTEXT_PROCESSORS' in globals():
166 167
        TEMPLATE_CONTEXT_PROCESSORS = global_settings.TEMPLATE_CONTEXT_PROCESSORS
......
181 182
        TEMPLATES[0]['OPTIONS']['loaders'] = [
182 183
                'django.template.loaders.filesystem.Loader',
183 184
                'django.template.loaders.app_directories.Loader']
184
    TEMPLATES[0]['OPTIONS']['loaders'].insert(0,
185
            'hobo.multitenant.template_loader.FilesystemLoader')
185
    if PROJECT_NAME != 'wcs':
186
        TEMPLATES[0]['OPTIONS']['loaders'].insert(0,
187
                'hobo.multitenant.template_loader.FilesystemLoader')
186 188

  
187 189
    if not 'django.core.context_processors.request' in TEMPLATES[0]['OPTIONS']['context_processors']:
188 190
        TEMPLATES[0]['OPTIONS']['context_processors'].insert(0,
......
202 204
SESSION_EXPIRE_AT_BROWSER_CLOSE = True
203 205
SESSION_COOKIE_AGE = 36000 # 10h
204 206

  
205
#
206
# multitenant adaptations
207
#
208

  
209
TENANT_BASE = os.path.join(VAR_DIR, 'tenants')
210
TENANT_MODEL = 'multitenant.Tenant'
211

  
212
DATABASES = {
213
    'default': {
214
        'ENGINE': 'tenant_schemas.postgresql_backend',
215
        'NAME':  PROJECT_NAME.replace('-', '_'),
216
    }
217
}
218

  
219
DATABASE_ROUTERS = (
220
    'tenant_schemas.routers.TenantSyncRouter',
221
)
222

  
223 207
if not 'MIDDLEWARE_CLASSES' in globals():
224 208
    MIDDLEWARE_CLASSES = global_settings.MIDDLEWARE_CLASSES
225 209

  
226
MIDDLEWARE_CLASSES = (
227
    'hobo.middleware.utils.StoreRequestMiddleware',
228
    'hobo.middleware.xforwardedfor.XForwardedForMiddleware',
229
    'hobo.multitenant.middleware.TenantMiddleware',
210
MIDDLEWARE_CLASSES = MIDDLEWARE_CLASSES + (
230 211
    'hobo.middleware.VersionMiddleware', # /__version__
231 212
    'hobo.middleware.cors.CORSMiddleware',
232 213
) + MIDDLEWARE_CLASSES
233 214

  
234
if 'authentic2' not in INSTALLED_APPS:
215
if 'mellon' in INSTALLED_APPS:
235 216
    MIDDLEWARE_CLASSES = MIDDLEWARE_CLASSES + (
236 217
        'mellon.middleware.PassiveAuthenticationMiddleware',
237 218
    )
238
else:
219

  
220
if 'authentic2' in INSTALLED_APPS:
239 221
    MIDDLEWARE_CLASSES = MIDDLEWARE_CLASSES + (
240 222
        'hobo.agent.authentic2.middleware.ProvisionningMiddleware',
241 223
    )
242 224

  
243
TENANT_SETTINGS_LOADERS = (
244
    'hobo.multitenant.settings_loaders.TemplateVars',
245
    'hobo.multitenant.settings_loaders.KnownServices',
246
    'hobo.multitenant.settings_loaders.CORSSettings',
247
    'hobo.multitenant.settings_loaders.SharedThemeSettings',
248
    'hobo.multitenant.settings_loaders.Mellon',
249
    'hobo.multitenant.settings_loaders.SiteBaseUrl',
250
    'hobo.multitenant.settings_loaders.SettingsJSON',
251
)
225
if PROJECT_NAME != 'wcs':
226
    # multitenant adaptations
252 227

  
253
# templates in <tenant>/templates
254
TENANT_TEMPLATE_DIRS = (TENANT_BASE,)
228
    TENANT_BASE = os.path.join(VAR_DIR, 'tenants')
229
    TENANT_MODEL = 'multitenant.Tenant'
255 230

  
256
# /media in <tenant>/media
257
DEFAULT_FILE_STORAGE = 'hobo.multitenant.storage.TenantFileSystemStorage'
231
    MIDDLEWARE_CLASSES = MIDDLEWARE_CLASSES + (
232
        'hobo.multitenant.middleware.TenantMiddleware',
233
    ) + MIDDLEWARE_CLASSES
258 234

  
259
# SAML2: search IdP in <tenant>
260
if 'authentic2' not in INSTALLED_APPS:
261
    MELLON_ADAPTER = ('hobo.multitenant.mellon.MellonAdapter',)
262
    MELLON_DEFAULT_ASSERTION_CONSUMER_BINDING = 'artifact'
263
    MELLON_OPENED_SESSION_COOKIE_NAME = 'A2_OPENED_SESSION'
235
    DATABASES = {
236
        'default': {
237
            'ENGINE': 'tenant_schemas.postgresql_backend',
238
            'NAME':  PROJECT_NAME.replace('-', '_'),
239
        }
240
    }
264 241

  
265
# Authentic2 role attributes for Publik
266
A2_MANAGER_ROLE_FORM_CLASS = 'hobo.agent.authentic2.role_forms.RoleForm'
242
    DATABASE_ROUTERS = (
243
        'tenant_schemas.routers.TenantSyncRouter',
244
    )
245

  
246
    TENANT_SETTINGS_LOADERS = (
247
        'hobo.multitenant.settings_loaders.TemplateVars',
248
        'hobo.multitenant.settings_loaders.KnownServices',
249
        'hobo.multitenant.settings_loaders.CORSSettings',
250
        'hobo.multitenant.settings_loaders.SharedThemeSettings',
251
        'hobo.multitenant.settings_loaders.Mellon',
252
        'hobo.multitenant.settings_loaders.SiteBaseUrl',
253
        'hobo.multitenant.settings_loaders.SettingsJSON',
254
    )
267 255

  
268
# cache by tenant
269
CACHES = {
270
    'default': {
271
        'BACKEND': 'hobo.multitenant.cache.TenantCache',
272
        # add a real Django cache backend, with its parameters if needed
273
        'REAL_BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',
274
        'LOCATION': '127.0.0.1:11211',
256
    # templates in <tenant>/templates
257
    TENANT_TEMPLATE_DIRS = (TENANT_BASE,)
258

  
259
    # /media in <tenant>/media
260
    DEFAULT_FILE_STORAGE = 'hobo.multitenant.storage.TenantFileSystemStorage'
261

  
262
    # SAML2: search IdP in <tenant>
263
    if 'authentic2' not in INSTALLED_APPS:
264
        MELLON_ADAPTER = ('hobo.multitenant.mellon.MellonAdapter',)
265
        MELLON_DEFAULT_ASSERTION_CONSUMER_BINDING = 'artifact'
266
        MELLON_OPENED_SESSION_COOKIE_NAME = 'A2_OPENED_SESSION'
267

  
268
    # cache by tenant
269
    CACHES = {
270
        'default': {
271
            'BACKEND': 'hobo.multitenant.cache.TenantCache',
272
            # add a real Django cache backend, with its parameters if needed
273
            'REAL_BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',
274
            'LOCATION': '127.0.0.1:11211',
275
        }
275 276
    }
276
}
277 277

  
278
# haystack by tenant
279
HAYSTACK_CONNECTIONS = {
280
    'default': {
281
        'ENGINE': 'hobo.multitenant.haystack.WhooshEngine',
278
    # haystack by tenant
279
    HAYSTACK_CONNECTIONS = {
280
        'default': {
281
            'ENGINE': 'hobo.multitenant.haystack.WhooshEngine',
282
        }
282 283
    }
283
}
284 284

  
285
    # multitenant SHARED_APPS/TENANT_APPS/INSTALLED_APPS organization
286
    SHARED_APPS = ()
285 287

  
286
# multitenant SHARED_APPS/TENANT_APPS/INSTALLED_APPS organization
287
SHARED_APPS = ()
288
    INSTALLED_APPS = ('hobo.agent.common',) + INSTALLED_APPS
288 289

  
289
INSTALLED_APPS = ('hobo.agent.common',) + INSTALLED_APPS
290
    TENANT_APPS = INSTALLED_APPS
290 291

  
291
TENANT_APPS = INSTALLED_APPS
292
    INSTALLED_APPS = ('hobo.multitenant',) + INSTALLED_APPS
292 293

  
293
INSTALLED_APPS = ('hobo.multitenant',) + INSTALLED_APPS
294

  
295
MIDDLEWARE_CLASSES = (
296
    'hobo.middleware.utils.StoreRequestMiddleware',
297
    'hobo.middleware.xforwardedfor.XForwardedForMiddleware',
298
) + MIDDLEWARE_CLASSES
294 299

  
295 300
HOBO_MANAGER_HOMEPAGE_URL_VAR = 'portal_agent_url'
296 301
HOBO_MANAGER_HOMEPAGE_TITLE_VAR = 'portal_agent_title'
297 302

  
303
# Authentic2 role attributes for Publik
304
A2_MANAGER_ROLE_FORM_CLASS = 'hobo.agent.authentic2.role_forms.RoleForm'
305

  
298 306
# Locale and timezone
299 307
LANGUAGE_CODE = 'fr-fr'
300 308
TIME_ZONE = 'Europe/Paris'
301
-