From e29e94711a5605d5e10f047debd12d310d14ba33 Mon Sep 17 00:00:00 2001 From: Skia Date: Thu, 14 Jul 2016 16:15:38 +0200 Subject: [PATCH] Move settings to settings_sample --- .gitignore | 1 + sith/settings_sample.py | 267 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 268 insertions(+) create mode 100644 sith/settings_sample.py diff --git a/.gitignore b/.gitignore index 86597b43..9a438fcb 100644 --- a/.gitignore +++ b/.gitignore @@ -5,3 +5,4 @@ db.sqlite3 env/ doc/html data/ +sith/settings.py diff --git a/sith/settings_sample.py b/sith/settings_sample.py new file mode 100644 index 00000000..66ce8e52 --- /dev/null +++ b/sith/settings_sample.py @@ -0,0 +1,267 @@ +""" +Django settings for sith project. + +Generated by 'django-admin startproject' using Django 1.8.6. + +For more information on this file, see +https://docs.djangoproject.com/en/1.8/topics/settings/ + +For the full list of settings and their values, see +https://docs.djangoproject.com/en/1.8/ref/settings/ +""" + +# Build paths inside the project like this: os.path.join(BASE_DIR, ...) +import os + +BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) + + +# Quick-start development settings - unsuitable for production +# See https://docs.djangoproject.com/en/1.8/howto/deployment/checklist/ + +# SECURITY WARNING: keep the secret key used in production secret! +SECRET_KEY = '(4sjxvhz@m5$0a$j0_pqicnc$s!vbve)z+&++m%g%bjhlz4+g2' + +# SECURITY WARNING: don't run with debug turned on in production! +DEBUG = True + +ALLOWED_HOSTS = [] + + +# Application definition + +INSTALLED_APPS = ( + 'django.contrib.admin', + 'django.contrib.auth', + 'django.contrib.contenttypes', + 'django.contrib.sessions', + 'django.contrib.messages', + 'django.contrib.staticfiles', + 'django_jinja', + 'core', + 'club', + 'subscription', + 'accounting', + 'counter', +) + +MIDDLEWARE_CLASSES = ( + 'django.contrib.sessions.middleware.SessionMiddleware', + 'django.middleware.common.CommonMiddleware', + 'django.middleware.csrf.CsrfViewMiddleware', + 'django.contrib.auth.middleware.AuthenticationMiddleware', + 'django.contrib.auth.middleware.SessionAuthenticationMiddleware', + 'django.contrib.messages.middleware.MessageMiddleware', + 'django.middleware.clickjacking.XFrameOptionsMiddleware', + 'django.middleware.security.SecurityMiddleware', + 'core.middleware.AuthenticationMiddleware', +) + +ROOT_URLCONF = 'sith.urls' + +TEMPLATES = [ + { + "NAME": "jinja2", + "BACKEND": "django_jinja.backend.Jinja2", + "APP_DIRS": True, + "OPTIONS": { + "match_extension": ".jinja", + "app_dirname": "templates", + "newstyle_gettext": True, + "context_processors": [ + "django.contrib.auth.context_processors.auth", + "django.template.context_processors.debug", + "django.template.context_processors.i18n", + "django.template.context_processors.media", + "django.template.context_processors.static", + "django.template.context_processors.tz", + "django.contrib.messages.context_processors.messages", + ], + "extensions": [ + "jinja2.ext.do", + "jinja2.ext.loopcontrols", + "jinja2.ext.with_", + "jinja2.ext.i18n", + "jinja2.ext.autoescape", + "django_jinja.builtins.extensions.CsrfExtension", + "django_jinja.builtins.extensions.CacheExtension", + "django_jinja.builtins.extensions.TimezoneExtension", + "django_jinja.builtins.extensions.UrlsExtension", + "django_jinja.builtins.extensions.StaticFilesExtension", + "django_jinja.builtins.extensions.DjangoFiltersExtension", + ], + "filters": { + "markdown": "core.templatetags.renderer.markdown", + }, + "globals": { + "can_edit_prop": "core.views.can_edit_prop", + "can_edit": "core.views.can_edit", + "can_view": "core.views.can_view", + "get_subscriber": "subscription.views.get_subscriber", + "settings": "sith.settings", + }, + "bytecode_cache": { + "name": "default", + "backend": "django_jinja.cache.BytecodeCache", + "enabled": False, + }, + "autoescape": True, + "auto_reload": DEBUG, + "translation_engine": "django.utils.translation", + } + }, + { + 'BACKEND': 'django.template.backends.django.DjangoTemplates', + 'DIRS': [], + 'APP_DIRS': True, + 'OPTIONS': { + 'context_processors': [ + 'django.template.context_processors.debug', + 'django.template.context_processors.request', + 'django.contrib.auth.context_processors.auth', + 'django.contrib.messages.context_processors.messages', + ], + }, + }, +] + +WSGI_APPLICATION = 'sith.wsgi.application' + + +# Database +# https://docs.djangoproject.com/en/1.8/ref/settings/#databases + +DATABASES = { + 'default': { + 'ENGINE': 'django.db.backends.sqlite3', + 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'), + } +} + + +# Internationalization +# https://docs.djangoproject.com/en/1.8/topics/i18n/ + +LANGUAGE_CODE = 'en-us' + +TIME_ZONE = 'UTC' + +USE_I18N = True + +USE_L10N = True + +USE_TZ = True + +# Medias +MEDIA_ROOT = './data/' +MEDIA_URL = '/data/' + +# Static files (CSS, JavaScript, Images) +# https://docs.djangoproject.com/en/1.8/howto/static-files/ + +STATIC_URL = '/static/' + +# Auth configuration + +AUTH_USER_MODEL = 'core.User' +AUTH_ANONYMOUS_MODEL = 'core.models.AnonymousUser' +LOGIN_URL = '/login' +LOGOUT_URL = '/logout' +LOGIN_REDIRECT_URL = '/' +DEFAULT_FROM_EMAIL="bibou@git.an" + +# Email +EMAIL_HOST="localhost" +EMAIL_PORT=25 + +# AE configuration +SITH_MAIN_CLUB = { + 'name': "AE", + 'unix_name': "ae", + 'address': "6 Boulevard Anatole France, 90000 Belfort" + } +# Define the date in the year serving as reference for the subscriptions calendar +# (month, day) +SITH_START_DATE = (8, 15) # 15th August +SITH_GROUPS = { + 'root': { + 'id': 1, + 'name': "root", + }, + 'accounting-admin': { + 'id': 2, + 'name': "accounting-admin", + }, + 'public': { + 'id': 3, + 'name': "not-registered-users", + }, +} + +SITH_BOARD_SUFFIX="-board" +SITH_MEMBER_SUFFIX="-members" + +SITH_MAIN_BOARD_GROUP=SITH_MAIN_CLUB['unix_name']+SITH_BOARD_SUFFIX +SITH_MAIN_MEMBERS_GROUP=SITH_MAIN_CLUB['unix_name']+SITH_MEMBER_SUFFIX + +SITH_ACCOUNTING_PAYMENT_METHOD = [ + ('cheque', 'Chèque'), + ('cash', 'Espèce'), + ('transfert', 'Virement'), + ('card', 'Carte banquaire'), + ] + +SITH_SUBSCRIPTION_PAYMENT_METHOD = [ + ('cheque', 'Chèque'), + ('cash', 'Espèce'), + ('other', 'Autre'), + ] + +SITH_COUNTER_PAYMENT_METHOD = [ + ('cheque', 'Chèque'), + ('cash', 'Espèce'), + ] + +# Subscription durations are in semestres (should be settingized) +SITH_SUBSCRIPTIONS = { + 'un-semestre': { + 'name': 'Un semestre', + 'price': 15, + 'duration': 1, + }, + 'deux-semestres': { + 'name': 'Deux semestres', + 'price': 28, + 'duration': 2, + }, + 'cursus-tronc-commun': { + 'name': 'Cursus Tronc Commun', + 'price': 45, + 'duration': 4, + }, + 'cursus-branche': { + 'name': 'Cursus Branche', + 'price': 45, + 'duration': 6, + }, +# To be completed.... +} + +SITH_CLUB_ROLES = { + 10: 'Président', + 9: 'Vice-Président', + 7: 'Trésorier', + 5: 'Responsable com', + 4: 'Secrétaire', + 3: 'Responsable info', + 2: 'Membre du bureau', + 1: 'Membre actif', + 0: 'Curieux', + } + +# This corresponds to the maximum role a user can freely subscribe to +# In this case, SITH_MAXIMUM_FREE_ROLE=1 means that a user can set himself as "Membre actif" or "Curieux", but not higher +SITH_MAXIMUM_FREE_ROLE=1 + +# Minutes to timeout the logged barmen +SITH_BARMAN_TIMEOUT=20