From 726b3f55a0f4ffc514a51db567db0c6654c96b16 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20P=C3=A9pin?= Date: Sun, 7 Feb 2021 17:17:15 +0100 Subject: [PATCH 1/4] Rename the cof/ folder to gestioasso/ This is a much more sensible name since it contains configuration applicable to both GestioCOF and GestioBDS. The next logical step would be to rename the `gestioncof/` folder to `cof/`. --- README.md | 6 +++--- {cof => gestioasso}/__init__.py | 0 {cof => gestioasso}/apps.py | 0 {cof => gestioasso}/asgi.py | 2 +- {cof => gestioasso}/locale/__init__.py | 0 {cof => gestioasso}/locale/en/__init__.py | 0 {cof => gestioasso}/locale/en/formats.py | 0 {cof => gestioasso}/locale/fr/__init__.py | 0 {cof => gestioasso}/locale/fr/formats.py | 0 {cof => gestioasso}/routing.py | 0 {cof => gestioasso}/settings/.gitignore | 0 {cof => gestioasso}/settings/__init__.py | 0 {cof => gestioasso}/settings/bds_prod.py | 0 {cof => gestioasso}/settings/cof_prod.py | 2 +- {cof => gestioasso}/settings/common.py | 6 +++--- {cof => gestioasso}/settings/dev.py | 0 {cof => gestioasso}/settings/local.py | 2 +- {cof => gestioasso}/settings/secret_example.py | 0 {cof => gestioasso}/urls.py | 0 {cof => gestioasso}/wsgi.py | 2 +- manage.py | 2 +- provisioning/bootstrap.sh | 4 ++-- provisioning/systemd/daphne.service | 2 +- provisioning/systemd/rappels.service | 2 +- provisioning/systemd/reventes.service | 2 +- provisioning/systemd/worker.service | 2 +- 26 files changed, 17 insertions(+), 17 deletions(-) rename {cof => gestioasso}/__init__.py (100%) rename {cof => gestioasso}/apps.py (100%) rename {cof => gestioasso}/asgi.py (65%) rename {cof => gestioasso}/locale/__init__.py (100%) rename {cof => gestioasso}/locale/en/__init__.py (100%) rename {cof => gestioasso}/locale/en/formats.py (100%) rename {cof => gestioasso}/locale/fr/__init__.py (100%) rename {cof => gestioasso}/locale/fr/formats.py (100%) rename {cof => gestioasso}/routing.py (100%) rename {cof => gestioasso}/settings/.gitignore (100%) rename {cof => gestioasso}/settings/__init__.py (100%) rename {cof => gestioasso}/settings/bds_prod.py (100%) rename {cof => gestioasso}/settings/cof_prod.py (98%) rename {cof => gestioasso}/settings/common.py (96%) rename {cof => gestioasso}/settings/dev.py (100%) rename {cof => gestioasso}/settings/local.py (97%) rename {cof => gestioasso}/settings/secret_example.py (100%) rename {cof => gestioasso}/urls.py (100%) rename {cof => gestioasso}/wsgi.py (55%) diff --git a/README.md b/README.md index ffe680db..e6b5a3ee 100644 --- a/README.md +++ b/README.md @@ -38,11 +38,11 @@ Vous pouvez maintenant installer les dépendances Python depuis le fichier pip install -U pip # parfois nécessaire la première fois pip install -r requirements-devel.txt -Pour terminer, copier le fichier `cof/settings/secret_example.py` vers -`cof/settings/secret.py`. Sous Linux ou Mac, préférez plutôt un lien symbolique +Pour terminer, copier le fichier `gestioasso/settings/secret_example.py` vers +`gestioasso/settings/secret.py`. Sous Linux ou Mac, préférez plutôt un lien symbolique pour profiter de façon transparente des mises à jour du fichier: - ln -s secret_example.py cof/settings/secret.py + ln -s secret_example.py gestioasso/settings/secret.py Nous avons un git hook de pre-commit pour formatter et vérifier que votre code vérifie nos conventions. Pour bénéficier des mises à jour du hook, préférez diff --git a/cof/__init__.py b/gestioasso/__init__.py similarity index 100% rename from cof/__init__.py rename to gestioasso/__init__.py diff --git a/cof/apps.py b/gestioasso/apps.py similarity index 100% rename from cof/apps.py rename to gestioasso/apps.py diff --git a/cof/asgi.py b/gestioasso/asgi.py similarity index 65% rename from cof/asgi.py rename to gestioasso/asgi.py index ab4ce291..773acaa0 100644 --- a/cof/asgi.py +++ b/gestioasso/asgi.py @@ -3,6 +3,6 @@ import os from channels.asgi import get_channel_layer if "DJANGO_SETTINGS_MODULE" not in os.environ: - os.environ.setdefault("DJANGO_SETTINGS_MODULE", "cof.settings") + os.environ.setdefault("DJANGO_SETTINGS_MODULE", "gestioasso.settings") channel_layer = get_channel_layer() diff --git a/cof/locale/__init__.py b/gestioasso/locale/__init__.py similarity index 100% rename from cof/locale/__init__.py rename to gestioasso/locale/__init__.py diff --git a/cof/locale/en/__init__.py b/gestioasso/locale/en/__init__.py similarity index 100% rename from cof/locale/en/__init__.py rename to gestioasso/locale/en/__init__.py diff --git a/cof/locale/en/formats.py b/gestioasso/locale/en/formats.py similarity index 100% rename from cof/locale/en/formats.py rename to gestioasso/locale/en/formats.py diff --git a/cof/locale/fr/__init__.py b/gestioasso/locale/fr/__init__.py similarity index 100% rename from cof/locale/fr/__init__.py rename to gestioasso/locale/fr/__init__.py diff --git a/cof/locale/fr/formats.py b/gestioasso/locale/fr/formats.py similarity index 100% rename from cof/locale/fr/formats.py rename to gestioasso/locale/fr/formats.py diff --git a/cof/routing.py b/gestioasso/routing.py similarity index 100% rename from cof/routing.py rename to gestioasso/routing.py diff --git a/cof/settings/.gitignore b/gestioasso/settings/.gitignore similarity index 100% rename from cof/settings/.gitignore rename to gestioasso/settings/.gitignore diff --git a/cof/settings/__init__.py b/gestioasso/settings/__init__.py similarity index 100% rename from cof/settings/__init__.py rename to gestioasso/settings/__init__.py diff --git a/cof/settings/bds_prod.py b/gestioasso/settings/bds_prod.py similarity index 100% rename from cof/settings/bds_prod.py rename to gestioasso/settings/bds_prod.py diff --git a/cof/settings/cof_prod.py b/gestioasso/settings/cof_prod.py similarity index 98% rename from cof/settings/cof_prod.py rename to gestioasso/settings/cof_prod.py index 47fa3954..ec0694fe 100644 --- a/cof/settings/cof_prod.py +++ b/gestioasso/settings/cof_prod.py @@ -149,7 +149,7 @@ CHANNEL_LAYERS = { ) ] }, - "ROUTING": "cof.routing.routing", + "ROUTING": "gestioasso.routing.routing", } } diff --git a/cof/settings/common.py b/gestioasso/settings/common.py similarity index 96% rename from cof/settings/common.py rename to gestioasso/settings/common.py index 4636ace3..88ae636a 100644 --- a/cof/settings/common.py +++ b/gestioasso/settings/common.py @@ -65,7 +65,7 @@ INSTALLED_APPS = [ "django.contrib.messages", "django.contrib.admin", "django.contrib.admindocs", - "cof.apps.IgnoreSrcStaticFilesConfig", + "gestioasso.apps.IgnoreSrcStaticFilesConfig", "django_cas_ng", "bootstrapform", "widget_tweaks", @@ -82,7 +82,7 @@ MIDDLEWARE = [ "django.middleware.locale.LocaleMiddleware", ] -ROOT_URLCONF = "cof.urls" +ROOT_URLCONF = "gestioasso.urls" TEMPLATES = [ { @@ -126,7 +126,7 @@ USE_I18N = True USE_L10N = True USE_TZ = True LANGUAGES = (("fr", "Français"), ("en", "English")) -FORMAT_MODULE_PATH = "cof.locale" +FORMAT_MODULE_PATH = "gestioasso.locale" # --- diff --git a/cof/settings/dev.py b/gestioasso/settings/dev.py similarity index 100% rename from cof/settings/dev.py rename to gestioasso/settings/dev.py diff --git a/cof/settings/local.py b/gestioasso/settings/local.py similarity index 97% rename from cof/settings/local.py rename to gestioasso/settings/local.py index c3607d7f..0cc7b5e5 100644 --- a/cof/settings/local.py +++ b/gestioasso/settings/local.py @@ -43,7 +43,7 @@ CACHES = {"default": {"BACKEND": "django.core.cache.backends.locmem.LocMemCache" CHANNEL_LAYERS = { "default": { "BACKEND": "asgiref.inmemory.ChannelLayer", - "ROUTING": "cof.routing.routing", + "ROUTING": "gestioasso.routing.routing", } } diff --git a/cof/settings/secret_example.py b/gestioasso/settings/secret_example.py similarity index 100% rename from cof/settings/secret_example.py rename to gestioasso/settings/secret_example.py diff --git a/cof/urls.py b/gestioasso/urls.py similarity index 100% rename from cof/urls.py rename to gestioasso/urls.py diff --git a/cof/wsgi.py b/gestioasso/wsgi.py similarity index 55% rename from cof/wsgi.py rename to gestioasso/wsgi.py index 47285284..bdd9a64c 100644 --- a/cof/wsgi.py +++ b/gestioasso/wsgi.py @@ -2,5 +2,5 @@ import os from django.core.wsgi import get_wsgi_application -os.environ.setdefault("DJANGO_SETTINGS_MODULE", "cof.settings.bds_prod") +os.environ.setdefault("DJANGO_SETTINGS_MODULE", "gestioasso.settings.bds_prod") application = get_wsgi_application() diff --git a/manage.py b/manage.py index 094ec16f..913e4f6e 100755 --- a/manage.py +++ b/manage.py @@ -3,7 +3,7 @@ import os import sys if __name__ == "__main__": - os.environ.setdefault("DJANGO_SETTINGS_MODULE", "cof.settings.local") + os.environ.setdefault("DJANGO_SETTINGS_MODULE", "gestioasso.settings.local") from django.core.management import execute_from_command_line diff --git a/provisioning/bootstrap.sh b/provisioning/bootstrap.sh index d6b8f914..a298dfae 100644 --- a/provisioning/bootstrap.sh +++ b/provisioning/bootstrap.sh @@ -14,7 +14,7 @@ readonly DBUSER="cof_gestion" readonly DBNAME="cof_gestion" readonly DBPASSWD="4KZt3nGPLVeWSvtBZPSM3fSzXpzEU4" readonly REDIS_PASSWD="dummy" -readonly DJANGO_SETTINGS_MODULE="cof.settings.dev" +readonly DJANGO_SETTINGS_MODULE="gestioasso.settings.dev" # --- @@ -83,7 +83,7 @@ sudo -H -u vagrant ~vagrant/venv/bin/pip install \ # Préparation de Django cd /vagrant -ln -s -f secret_example.py cof/settings/secret.py +ln -s -f secret_example.py gestioasso/settings/secret.py sudo -H -u vagrant \ DJANGO_SETTINGS_MODULE="$DJANGO_SETTINGS_MODULE"\ /bin/sh -c ". ~vagrant/venv/bin/activate && /bin/sh provisioning/prepare_django.sh" diff --git a/provisioning/systemd/daphne.service b/provisioning/systemd/daphne.service index a9c30008..31b31c16 100644 --- a/provisioning/systemd/daphne.service +++ b/provisioning/systemd/daphne.service @@ -8,7 +8,7 @@ User=vagrant Group=vagrant TimeoutSec=300 WorkingDirectory=/vagrant -Environment="DJANGO_SETTINGS_MODULE=cof.settings.dev" +Environment="DJANGO_SETTINGS_MODULE=gestioasso.settings.dev" ExecStart=/home/vagrant/venv/bin/daphne \ -u /srv/gestiocof/gestiocof.sock \ cof.asgi:channel_layer diff --git a/provisioning/systemd/rappels.service b/provisioning/systemd/rappels.service index 2d407d53..0a4986f9 100644 --- a/provisioning/systemd/rappels.service +++ b/provisioning/systemd/rappels.service @@ -4,5 +4,5 @@ Description=Envoi des mails de rappel des spectales BdA [Service] Type=oneshot User=vagrant -Environment="DJANGO_SETTINGS_MODULE=cof.settings.dev" +Environment="DJANGO_SETTINGS_MODULE=gestioasso.settings.dev" ExecStart=/home/vagrant/venv/bin/python /vagrant/manage.py sendrappels diff --git a/provisioning/systemd/reventes.service b/provisioning/systemd/reventes.service index bd1992f8..266c0646 100644 --- a/provisioning/systemd/reventes.service +++ b/provisioning/systemd/reventes.service @@ -4,5 +4,5 @@ Description=Envoi des mails de BdA-Revente [Service] Type=oneshot User=vagrant -Environment="DJANGO_SETTINGS_MODULE=cof.settings.dev" +Environment="DJANGO_SETTINGS_MODULE=gestioasso.settings.dev" ExecStart=/home/vagrant/venv/bin/python /vagrant/manage.py manage_reventes diff --git a/provisioning/systemd/worker.service b/provisioning/systemd/worker.service index 69d742dc..a9ea733f 100644 --- a/provisioning/systemd/worker.service +++ b/provisioning/systemd/worker.service @@ -9,7 +9,7 @@ User=vagrant Group=vagrant TimeoutSec=300 WorkingDirectory=/vagrant -Environment="DJANGO_SETTINGS_MODULE=cof.settings.dev" +Environment="DJANGO_SETTINGS_MODULE=gestioasso.settings.dev" ExecStart=/home/vagrant/venv/bin/python manage.py runworker [Install] From aa3462aaee92260358821244b6d9af136cda1fee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20P=C3=A9pin?= Date: Sun, 7 Feb 2021 17:19:46 +0100 Subject: [PATCH 2/4] Update the CI config wrt the new project name --- .gitlab-ci.yml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 28ab0748..018830a3 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -21,8 +21,8 @@ variables: before_script: - mkdir -p vendor/{pip,apt} - apt-get update -q && apt-get -o dir::cache::archives="vendor/apt" install -yqq postgresql-client libldap2-dev libsasl2-dev - - sed -E 's/^REDIS_HOST.*/REDIS_HOST = "redis"/' cof/settings/secret_example.py > cof/settings/secret.py - - sed -i.bak -E 's;^REDIS_PASSWD = .*$;REDIS_PASSWD = "";' cof/settings/secret.py + - sed -E 's/^REDIS_HOST.*/REDIS_HOST = "redis"/' gestioasso/settings/secret_example.py > gestioasso/settings/secret.py + - sed -i.bak -E 's;^REDIS_PASSWD = .*$;REDIS_PASSWD = "";' gestioasso/settings/secret.py # Remove the old test database if it has not been done yet - psql --username=$POSTGRES_USER --host=$DBHOST -c "DROP DATABASE IF EXISTS test_$POSTGRES_DB" - pip install --upgrade -r requirements-prod.txt coverage tblib @@ -44,7 +44,7 @@ coftest: stage: test extends: .test_template variables: - DJANGO_SETTINGS_MODULE: "cof.settings.cof_prod" + DJANGO_SETTINGS_MODULE: "gestioasso.settings.cof_prod" script: - coverage run manage.py test gestioncof bda kfet petitscours shared --parallel @@ -52,7 +52,7 @@ bdstest: stage: test extends: .test_template variables: - DJANGO_SETTINGS_MODULE: "cof.settings.bds_prod" + DJANGO_SETTINGS_MODULE: "gestioasso.settings.bds_prod" script: - coverage run manage.py test bds clubs events --parallel @@ -65,7 +65,7 @@ linters: - black --check . - isort --check --diff . # Print errors only - - flake8 --exit-zero bda bds clubs cof events gestioncof kfet petitscours provisioning shared + - flake8 --exit-zero bda bds clubs gestioasso events gestioncof kfet petitscours provisioning shared cache: key: linters paths: @@ -75,11 +75,11 @@ linters: migration_checks: stage: test variables: - DJANGO_SETTINGS_MODULE: "cof.settings.local" + DJANGO_SETTINGS_MODULE: "gestioasso.settings.local" before_script: - mkdir -p vendor/{pip,apt} - apt-get update -q && apt-get -o dir::cache::archives="vendor/apt" install -yqq postgresql-client libldap2-dev libsasl2-dev - - cp cof/settings/secret_example.py cof/settings/secret.py + - cp gestioasso/settings/secret_example.py gestioasso/settings/secret.py - pip install --upgrade -r requirements-devel.txt - python --version script: python manage.py makemigrations --dry-run --check From f29b3f01876dde73faeb94dabe450babee5014a1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20P=C3=A9pin?= Date: Sun, 7 Feb 2021 17:20:35 +0100 Subject: [PATCH 3/4] Make "GestioBDS" appear in the README --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index e6b5a3ee..28c6686d 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# GestioCOF +# GestioCOF / GestioBDS [![pipeline status](https://git.eleves.ens.fr/cof-geek/gestioCOF/badges/master/pipeline.svg)](https://git.eleves.ens.fr/cof-geek/gestioCOF/commits/master) [![coverage report](https://git.eleves.ens.fr/cof-geek/gestioCOF/badges/master/coverage.svg)](https://git.eleves.ens.fr/cof-geek/gestioCOF/commits/master) From 4f60ba35eb73b2e8b54dd494a40bac86e04c274c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20P=C3=A9pin?= Date: Mon, 8 Feb 2021 19:19:54 +0100 Subject: [PATCH 4/4] Update the settings' docstrings --- gestioasso/settings/bds_prod.py | 6 ++++-- gestioasso/settings/cof_prod.py | 6 ++++-- gestioasso/settings/common.py | 5 +---- gestioasso/settings/dev.py | 8 +++++++- gestioasso/settings/local.py | 7 ++++++- gestioasso/settings/secret_example.py | 4 ++++ 6 files changed, 26 insertions(+), 10 deletions(-) diff --git a/gestioasso/settings/bds_prod.py b/gestioasso/settings/bds_prod.py index 12f5a552..361ed7cb 100644 --- a/gestioasso/settings/bds_prod.py +++ b/gestioasso/settings/bds_prod.py @@ -1,7 +1,9 @@ """ -Django development settings for the cof project. -The settings that are not listed here are imported from .common +Settings de production de GestioBDS. + +Surcharge les settings définis dans common.py """ + from .common import * # NOQA from .common import INSTALLED_APPS diff --git a/gestioasso/settings/cof_prod.py b/gestioasso/settings/cof_prod.py index ec0694fe..d85e84c5 100644 --- a/gestioasso/settings/cof_prod.py +++ b/gestioasso/settings/cof_prod.py @@ -1,7 +1,9 @@ """ -Django development settings for the cof project. -The settings that are not listed here are imported from .common +Settings de production de GestioCOF. + +Surcharge les settings définis dans common.py """ + import os from .common import * # NOQA diff --git a/gestioasso/settings/common.py b/gestioasso/settings/common.py index 88ae636a..cabe7000 100644 --- a/gestioasso/settings/common.py +++ b/gestioasso/settings/common.py @@ -1,8 +1,5 @@ """ -Django common settings for cof project. - -Everything which is supposed to be identical between the production server and -the local development server should be here. +Settings par défaut et settings communs à GestioCOF et GestioBDS. """ import os diff --git a/gestioasso/settings/dev.py b/gestioasso/settings/dev.py index 7e1a63a8..cd254b7a 100644 --- a/gestioasso/settings/dev.py +++ b/gestioasso/settings/dev.py @@ -1,4 +1,10 @@ -"""Django local development settings.""" +""" +Settings utilisés dans la VM Vagrant. +Active toutes les applications (de GestioCOF et de GestioBDS). + +Surcharge les settings définis dans common.py +""" + import os from . import bds_prod diff --git a/gestioasso/settings/local.py b/gestioasso/settings/local.py index 0cc7b5e5..5c8c2734 100644 --- a/gestioasso/settings/local.py +++ b/gestioasso/settings/local.py @@ -1,4 +1,9 @@ -"""Django local development settings.""" +""" +Settings utilisés lors d'un développement en local (dans un virtualenv). +Active toutes les applications (de GestioCOF et de GestioBDS). + +Surcharge les settings définis dans common.py +""" import os from . import bds_prod diff --git a/gestioasso/settings/secret_example.py b/gestioasso/settings/secret_example.py index 7921d467..8afce5cd 100644 --- a/gestioasso/settings/secret_example.py +++ b/gestioasso/settings/secret_example.py @@ -1,3 +1,7 @@ +""" +Secrets à re-définir en production. +""" + SECRET_KEY = "q()(zn4m63i%5cp4)f+ww4-28_w+ly3q9=6imw2ciu&_(5_4ah" ADMINS = None SERVER_EMAIL = "root@vagrant"