Verified Commit 1f271c75 authored by Sli's avatar Sli
Browse files

documentation: add instructions to add and edit subscriptions

parent 4df15218
......@@ -33,7 +33,7 @@ author = "Bartuccio Antoine (Sli), Brunet Pierre (Krohpil), Jacquet Florent (Ski
# Add any Sphinx extension module names here, as strings. They can be
# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
# ones.
extensions = ["sphinx.ext.autodoc", "sphinx_copybutton"]
extensions = ["sphinx.ext.autodoc", "sphinx_copybutton", "sphinx.ext.autosectionlabel"]
# Add any paths that contain templates here, relative to this directory.
templates_path = ["_templates"]
......
.. _add_subscription:
Ajouter une nouvelle cotisation
===============================
Il arrive régulièrement que le type de cotisation proposé varie en prix et en durée au cours des années. Le projet étant pensé pour être utilisé par d'autres associations dans la mesure du possible, ces cotisations sont configurables directement dans les paramètres du projet.
Comprendre la configuration
---------------------------
Pour modifier les cotisations disponnibles, tout se gère dans la configuration avec la variable *SITH_SUBSCRIPTIONS*. Dans cet exemple, nous allons ajouter une nouvelle cotisation d'un mois.
.. code-block:: python
from django.utils.translation import ugettext_lazy as _
SITH_SUBSCRIPTIONS = {
# Voici un échantillon de la véritable configuration à l'heure de l'écriture.
# Celle-ci est donnée à titre d'exemple pour mieux comprendre comment cela fonctionne.
"un-semestre": {"name": _("One semester"), "price": 15, "duration": 1},
"deux-semestres": {"name": _("Two semesters"), "price": 28, "duration": 2},
"cursus-tronc-commun": {
"name": _("Common core cursus"),
"price": 45,
"duration": 4,
},
"cursus-branche": {"name": _("Branch cursus"), "price": 45, "duration": 6},
"cursus-alternant": {"name": _("Alternating cursus"), "price": 30, "duration": 6},
"membre-honoraire": {"name": _("Honorary member"), "price": 0, "duration": 666},
"un-jour": {"name": _("One day"), "price": 0, "duration": 0.00555333},
# On rajoute ici notre cotisation
# Elle se nomme "Un mois"
# Coûte 6€
# Dure 1 mois (on résonne en semestre, ici c'est 1/6 de semestre)
"un-mois": {"name": _("One month"), "price": 6, "duration": 0.166}
}
Créer une migration
-------------------
La modification de ce paramètre est étroitement lié à la génération de la base de données. Cette variable est utilisé dans l'objet *Subscription* pour générer les *subscription_type*. Le modifier requiers de générer une migration de basse de données.
.. code-block:: bash
./manage.py makemigrations subscription
.. note::
N'oubliez pas d'appliquer black sur le fichier de migration généré.
Rajouter la traduction pour la cotisation
-----------------------------------------
Comme on peut l'observer, la cotisation a besoin d'un nom qui est internationalisé. Il est donc nécessaire de le traduire en français. Pour rajouter notre traduction de *"One month"* il faut se référer à cette partie de la documentation : :ref:`translations`.
......@@ -16,36 +16,42 @@ Bienvenue sur la documentation du Sith de l'AE
about/tech
.. toctree::
:maxdepth: 2
:caption: Bien démarrer
:maxdepth: 2
:caption: Bien démarrer
start/install
start/structure
start/hello_world
start/install
start/structure
start/hello_world
start/translations
start/translations
start/devtools
start/devtools
.. toctree::
:maxdepth: 2
:caption: La surcouche "Site AE"
:maxdepth: 2
:caption: La surcouche "Site AE"
overlay/rights
overlay/rights
.. toctree::
:maxdepth: 3
:caption: Documentation des apps
:maxdepth: 1
:caption: Modifications fréquentes
apps/core
frequent/subscriptions
.. toctree::
:maxdepth: 2
:caption: Divers
:maxdepth: 3
:caption: Documentation des apps
misc/md_syntax
misc/helpers
misc/prod
apps/core
.. toctree::
:maxdepth: 2
:caption: Divers
misc/md_syntax
misc/helpers
misc/prod
Documentations complémentaires
------------------------------
......
.. _translations:
Ajouter une traduction
======================
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment